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

設定説明

basicEnabled

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

デフォルト = true

volumeMonitorConfig:

maxNumberVolumes

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

デフォルト = 5

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

volumeMonitorConfig:

whitelistSelectorRegex

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

デフォルト = ""

volumeMonitorConfig:

blacklistSelectorRegex

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

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

デフォルトの ServerMonitoring.yml ファイルには、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.*"

criticalProcessSelectorRegex

一部のシナリオでは、リソースの消費やその他の除外基準に関係なく、特定の重要なプロセスを常にマシンエージェントでモニターすることが重要です。criticalProcessSelectorRegex

Examples:

1. 部分文字列の一致:criticalProcessSelectorRegex:"redis|postgres|nginx|mysql|apache2|httpd|java|python|node"

:この正規表現は、コマンドラインに指定されたキーワード(redis、postgres など)のいずれかが含まれているすべてのプロセスに一致します。

:コマンドラインでの部分一致に基づいてプロセスをモニターするには、この形式を使用します。

2. 単語全体の一致:criticalProcessSelectorRegex: "\b(redis|postgres|nginx|mysql|apache2|httpd|java|python|node)\b"

:この正規表現により、プロセス名の完全一致のみが重要と見なされます。

:部分一致を防ぎ、単語全体を一致させるには、この形式を活用します(例:redis、redis-server ではありません)。

注:
  • 意図しない一致を避けるために、正規表現が正しいフォーマットであることを確認してください。

  • 正規表現では、デフォルトで大文字と小文字が区別されます。大文字と小文字を区別しない照合では、適切な正規表現フラグを使用します(<?i> など)。

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']
urlMonitorConfig監視対象の URL のリストと、Linux で CPU メトリックを収集するためのカスタムサンプリング間隔を指定します。例:
urlMonitorConfig:

enabled: true

samplingInterval: 30000

urlList:
 - google.com:80