サーバの可視性のデフォルト設定を変更できます。このページでは、構成可能な設定とそのデフォルト値について説明します。

次の構成ファイルを編集します。<machine-agent-home>/extensions/ServerMonitoring/conf/ServerMonitoring.yml

YML ファイルの編集

YML ファイルを編集する場合は、次のようにします。

  • ServerMonitoring.yml または他の YML ファイルに変更を行う場合、変更したファイルが標準 YML 構文ルールを満たしていることを確認します。
    次の重要な YML に関する推奨事項に従ってください。
    • タブ文字は含めない。フィールドをインデントする場合、空白文字のみ使用してください。
    • 同じレベルのエントリをインデントするには、正確に同じ数の空白文字を使用する。
    • ファイルを編集するには、WYSIWIG エディタではなく、プレーンテキストエディタを使用する。コンテンツを表示するには、固定幅/等幅フォントを使用する。
    • 必ず UTF-8 エンコーディングを使用して保存する。
    • オンラインの YML 構文テスターを使用して、編集したファイルをテストして確認する。
  • YML ファイル内の設定を編集する最も安全な方法は次のとおりです。
    • 編集する行をコピーして、そのコピーを新しい行に貼り付ける。必ず行全体を選択し、コピーして貼り付けてください。
    • 必要に応じて元の行をコメントアウトし、コピーを編集する。
  • このファイルで正規表現を追加または編集する場合は、オンラインの正規表現テスターを使用して正規表現をテストして確認する必要があります。
  • このファイルに変更を加えて設定を変更する前に、このページのオプションの説明とファイル内のコメントを入念に確認してください。
  • エージェントは、エージェント設定プロパティの変更に応じて動的に更新されるため、このファイルを更新した後、エージェントの再起動は不要です。

サーバの可視性の構成可能な設定

設定説明

basicEnabled

マシンエージェントが SIM 拡張機能を使用して基本メトリックをレポートするかどうかを示します。Sigar を使用して基本メトリックをレポートするには、これを false に設定します。この設定は、Linux でのモニタリングにのみ影響します。

デフォルト = true

volumeMonitorConfig:

maxNumberVolumes

N 個を超えるボリュームをレポートしない(N = maxNumberVolumes)。

デフォルト = 5

この設定を変更することで、デプロイメントのリソース消費に影響を及ぼす場合があります。この設定を増やす前に、アプリケーション環境およびコントローラが増加したリソース要件を処理できることを確認してください。

volumeMonitorConfig:

whitelistSelectorRegex

この正規表現と一致する名前を持つボリュームは、maxNumberVolumes で指定された最大値まで常にレポートされます。

デフォルト = ""

volumeMonitorConfig:

blacklistSelectorRegex

この正規表現と一致する名前のボリュームは除外されます。この設定は、無関係なメトリックをフィルタリングして除外する場合に役立ちます。

ボリューム名がブラックリストとホワイトリストの両方の正規表現に一致する場合、maxNumberVolumes で指定された最大値までそのネットワークのメトリックがレポートされます(ホワイトリストが優先されます)。

デフォルトの ServerMonitoring.yml ファイルには、ボリュームの blacklistSelectorRegex フィールドは含まれません。これを追加する場合、volumeMonitorConfig:whitelistSelectorRegex フィールドと同じインデントとフォーマットを使用します。

volumeMonitorConfig:

samplingInterval


Linux でボリュームメトリックを収集するためのカスタムサンプリング間隔を指定します。

デフォルト = 3000

networkMonitorConfig:

maxNumberNetworks

N 個を超えるネットワークをレポートしない(N = maxNumberNetworks)。

デフォルト = 5

この設定を変更することで、デプロイメントのリソース消費に影響を及ぼす場合があります。この設定を増やす前に、アプリケーション環境およびコントローラが増加したリソース要件を処理できることを確認してください。

networkMonitorConfig:

whitelistSelectorRegex

この正規表現と一致する名前を持つネットワークは、maxNumberNetworks で指定された最大値まで常にレポートされます。

1 つ以上の仮想ネットワークのメトリックをレポートするには、仮想ネットワーク名に一致する正規表現を指定します。

Solaris でプロセスメトリックを収集する場合、マシンエージェントは、各プロセス名と引数リストの最初の 80 文字だけを観測してキャプチャします。これは、エージェントがホワイトリストを適用するときに、各プロセス文字列の最初の 80 文字のみを考慮することを意味します。

デフォルト = ""

networkMonitorConfig:

blacklistSelectorRegex

この正規表現と一致する名前のネットワークは除外されます。この設定は、無関係なメトリックをフィルタリングして除外する場合に役立ちます。

ネットワーク名がブラックリストとホワイトリストの両方の正規表現に一致する場合、maxNumberNetworks で指定された最大値までそのネットワークのメトリックがレポートされます(ホワイトリストが優先されます)。

デフォルトの正規表現では、仮想ネットワークが除外されます。1 つ以上の仮想ネットワークのセットをモニタするには、対象のネットワークを含めるように whitelistSelectorRegex を編集します。すべての仮想ネットワークをモニタするには、blacklistSelectorRegex を空の文字列に変更します。

Solaris でプロセスメトリックを収集する場合、マシンエージェントは、各プロセス名と引数リストの最初の 80 文字だけを観測してキャプチャします。これは、エージェントがブラックリストを適用するときに、各プロセス文字列の最初の 80 文字のみを考慮することを意味します。

デフォルト = "^veth.*|^vnet.*"

 defaultProcessClassSelector

class_selector_regex に基づくデフォルトの「クラスセレクタ」。この正規表現が定義されていて、プロセスのコマンドラインで一致が見つかった場合、クラス名は、コマンドラインのその正規表現の最初のグループオカレンスとなります。

デフォルト = ""

 processClassSelectorRegexList

class_name:regex マッピングのリスト。プロセスのコマンドラインが正規表現に一致すると、そのプロセスのメトリックが class_name に割り当てられます。この設定は、定義したクラスの数が maxNumberMonitoredClasses 設定よりも多い場合でも、優先順位の高いプロセスがレポートされるようにする場合に役立ちます。

次に例を示します。

processMonitorConfig:

processClassSelectorRegexList :

machineAgentTasks: '.*java.*machineagent.*'

controllerTasks: '.*java.*controller.*'

nextOne: '.*svchost.*'

マシンエージェントは、次のようにプロセスをクラスに割り当てます。

  1. processClassSelectorRegexList の最初の一致に割り当てます。
  2. processClassSelectorRegexList(ステップ 1)に一致するものがない場合、defaultProcessClassSelector 正規表現をコマンドラインに適用します。
  3. defaultProcessClassSelector 正規表現(ステップ 2)に一致するものがない場合、プロセス名を使用します(名前が maxClassIdLength を超えた場合は切り詰められます)。

次のステップは、このリストを更新するための推奨ワークフローの概要です。

  1. デフォルトの ServerMonitoring.yml ファイルには、コメントアウトされた例が含まれています。デフォルトのリストを初めて更新する場合は、以下を行う必要があります。
    1. 例のコピーを作成します。 
    2. コピーをコメント解除し(<!-- and --> コメントタグを削除します)、必要に応じて編集します。
  2. ホストマシンでモニタするプロセスを選択します。
  3. 目的のプロセス名と一致する正規表現を作成します。オンラインの正規表現バリデータを使用して正規表現をテストする必要があります。
  4. 正規表現をリストに追加します。マッピングは優先順位に従って順序付けする必要があります(最も高いものから最も低いもの)。コマンドラインが複数の正規表現と一致する場合、最初の一致が使用されます。
  5. ServerMonitoringConfiguration.yml ファイルを保存。
  6. 更新されたリストが有効になるまで 15 分以上待機し、その後、一致するプロセスがコントローラ UI に表示されていることを確認します。

samplingInterval

メトリックデータを収集する頻度を示します。単位はミリ秒です。

デフォルト = 30000(30 秒)

maxClassIdLength

プロセスクラス名の最大長を指定します。指定された最大値よりも長いプロセスクラス名はすべて切り詰められます。プロセスクラス名のグローバルな最大値は 100 です。この変数が 100 よりも大きい値に設定されている場合、プロセス名は 100 に切り詰められます。

デフォルト = 50

processSelectorRegex

マシンエージェントでモニタする必要があるプロセスを指定する正規表現を含めます。正規表現は、プロセスを開始するために使用された完全なコマンドラインと比較されます。

デフォルトの正規表現では、コマンドラインが閉じ角カッコ(「]」)で終わるすべてのプロセスが除外されます。

Linux の場合、プロセスの引数が見つからないことは、通常はカーネルプロセスであることを意味します。

Windows の場合、角カッコ文字で終了するプロセスはないため、正規表現には Windows 上のすべてのプロセスを含める必要があります。

デフォルト = ""^.+[^]]$""

minLiveTimeMillisBeforeMonitoring

マシンエージェントによってモニタされる前に、プロセスが稼働している必要がある最小時間を指定します。これは、短時間のプロセスをモニタすることによって、マシンエージェントが過負荷になることを防ぐために使用します。単位はミリ秒です。

デフォルト = 60000(60 秒)

maxNumberMonitoredClasses

マシンエージェントがモニタするプロセスクラスの最大数を指定します。

レポートされるプロセスは、processSelectorRegex によって指定された正規表現と一致する CPU とメモリを最も多く使用するプロセスです。

デフォルト = 20

この設定を変更することで、デプロイメントのリソース消費に影響を及ぼす場合があります。この設定を変更する前に、アプリケーション環境およびコントローラが増加したリソース要件を処理できることを確認してください。

defaultDiskSectorSize

マシンエージェントがセクターサイズを判別できない場合の、各ディスクのデフォルトのセクターサイズ(バイト単位)を指定します。この値は、ディスクの読み取り/書き込みバイト数を計算するために使用されます。

デフォルト = 512

memoryMonitorConfig

Linux でメモリメトリックを収集するためのカスタムサンプリング間隔を指定します。

デフォルト = 3000

cpusMonitorConfig

Linux で CPU メトリックを収集するためのカスタムサンプリング間隔を指定します。

デフォルト = 3000

tag
個々のサーバのユーザ定義タグのリスト。これらのタグを使用して、関連するサーバの照会、フィルタ処理、集約、および比較を行います。次を参照してください。サーバのタグ付け
各タグは、key-valueペアによって指定します。最大 127 の Unicode 文字のタグ名と、最大 255 の Unicode 文字のタグ値を定義できます。各キーを別々の行に定義します。すべてのキーと値の文字列は、引用符で囲む必要があります。キーに複数の値がある場合は、カンマを使用してリストを指定します。
<key>: [ <value> ]  
tags:
    'Location': ['NYC', 'Data Center', 'Server Room 7']
    'Environment': ['preProduction']

Docker の可視性の設定

Docker の可視性の設定」を参照してください。

プロセスの制限

これらの追加の構成可能な設定は、コントローラ管理 UI で使用できます。

  • 1 つのクエリに対して UI に表示されるプロセスの合計数は、コールごとに 5000 プロセスです。

  • アカウントごとに追跡されるプロセスの合計数。デフォルト値は、アカウントごとに 10000 プロセスです。

詳細については、「サーバの可視性のコントローラ設定」を参照してください。