Versions Compared

    Key

    • This line was added.
    • This line was removed.
    • Formatting was changed.
    Comment: Published by Scroll Versions from this space and version 20.8
    sv-translation
    languageen

    You can modify the default configuration for Server Visibility. This page describes the configurable settings and their default values.

    Edit this configuration file: <machine-agent-home>/extensions/ServerMonitoring/conf/ServerMonitoring.yml

    Anchor
    edit_yml
    edit_yml
    Editing YML Files

    When editing YML files: 

    • If you make any changes to ServerMonitoring.yml, or to any other YML file, make sure that the modified file meets standard YML syntax rules.
      Follow these important YML good practices:
      • Do not include any tab characters. Use whitespace characters only to indent fields.
      • Use the exact same number of whitespace characters to indent entries that are on the same level.
      • Use a plain-text editor, not a WYSIWIG editor, to edit the file. Use a monowidth/monospaced font to view the contents.
      • Always save using UTF-8 encoding.
      • Test and verify the edited file using an online YML syntax tester.
    • The safest way to edit a setting in a YML file is to:
      • Copy the line you want to edit, and paste the copy into a new line. Make sure that you select, copy, and paste the entire line.
      • Comment out the original line and edit the copy, as desired.
    • To add or edit a regular expression in this file, you should test and verify the regular expression using an online regex tester.
    • Before you make any changes to this file, review the option descriptions on this page, and the comments in the file, carefully before you change a setting.
    • The Agent updates dynamically in response to Agent configuration property changes, so you do not need to restart the Agent after you update this file.

    Configurable Server Visibility Settings

    Div
    styleclear:both;
    SettingDescription

    basicEnabled

    Indicates whether the Machine Agent should report the basic metrics through the SIM extension. Set this to false to use Sigar to report basic metrics. This setting only affects monitoring on Linux.

    Default = true

    volumeMonitorConfig:

    maxNumberVolumes

    Do not report more than N volumes, where N = maxNumberVolumes.

    Default = 5

    Warning

    Changing this setting can affect the resource consumption of your deployment. Before you increase this setting, verify that your application environment and Controller can process the increased resource requirements.

    volumeMonitorConfig:

    whitelistSelectorRegex

    Volumes with names that match this regular expression are always reported, up to the maximum specified by maxNumberVolumes.

    Default = ""

    volumeMonitorConfig:

    blacklistSelectorRegex

    Volumes with names that match this regular expression are excluded. This setting is useful for filtering out irrelevant metrics.

    If a volume name matches both the blacklist and whitelist regexes, metrics for that network are reported (the whitelist takes priority) up to the maximum specified by maxNumberVolumes.

    The default ServerMonitoring.yml file does not include a blacklistSelectorRegex field for volumes. If you want to add one, use the same indentation and formatting as the volumeMonitorConfig:whitelistSelectorRegex field.

    volumeMonitorConfig:

    samplingInterval


    Specifies a custom sampling interval for collecting volume metrics on Linux.

    Default = 3000

    networkMonitorConfig:

    maxNumberNetworks

    Do not report more than N networks, where N = maxNumberNetworks.

    Default = 5

    Warning

    Changing this setting can affect the resource consumption of your deployment. Before you increase this setting, verify that your application environment and Controller can handle the increased resource requirements.

    networkMonitorConfig:

    whitelistSelectorRegex

    Networks with names that match this regular expression are always reported, up to the maximum specified by maxNumberNetworks.

    To report metrics for one or more virtual networks, specify a regex that matches the virtual network names.

    When collecting Process metrics on Solaris, the Standalone Machine Agent observes and captures only the first 80 characters of each process name and argument list. This means that the Agent considers only the first 80 characters of each process string when it applies whitelists.

    Default = ""

    networkMonitorConfig:

    blacklistSelectorRegex

    Networks with names that match this regular expression are excluded. This setting is useful for filtering out irrelevant metrics.

    If a network name matches both the blacklist and whitelist regexes, metrics for that network are reported (the whitelist takes priority) up to the maximum specified by maxNumberNetworks.

    The default regex excludes virtual networks. To monitor a set of one or more virtual networks, edit whitelistSelectorRegex to include the networks of interest. To monitor all virtual networks, change the blacklistSelectorRegex to an empty string.

    When collecting Process metrics on Solaris, the Standalone Machine Agent observes and captures only the first 80 characters of each process name and argument list. This means that the Agent considers only the first 80 characters of each process string when it applies blacklists.

    Default = "^veth.*|^vnet.*"

     defaultProcessClassSelector

    The default "class selector" based on a class_selector_regex. If this regex is defined, and a match is found in the process command line, the class name is the first group occurrence of that regex in the command line.

    Default = ""

     processClassSelectorRegexList

    A list of class_name:regex mappings. If the command line for a process matches regex, the metrics for that process are assigned to class_name. This setting is useful when you want to ensure that high-priority processes get reported, even if the number of defined classes is higher than the maxNumberMonitoredClasses setting.

    For example:

    processMonitorConfig:

    processClassSelectorRegexList :

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

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

    nextOne: '.*svchost.*'

    The Machine Agent assigns a process to a class as follows:

    1. Assign to the first match in processClassSelectorRegexList.
    2. If there is no match for the processClassSelectorRegexList (step1), apply the defaultProcessClassSelector regex to the command line.
    3. If there is no match for the defaultProcessClassSelector regex (step 2), use the process name (truncated if the name exceeds the maxClassIdLength).

    These steps outline the recommended workflow for updating this list:

    1. The default ServerMonitoring.yml file includes an example that is commented out. If you are updating the default list for the first time, you should:
      1. Create a copy of the example. 
      2. Uncomment the copy (remove the <!-- and --> comment tags), and edit it as needed.
    2. Choose the process(es) that you want to monitor on the host machine.
    3. Create a regex to match the process name(s) of interest. You should test the regex using an online regex validator.
    4. Add the regex to the list. You should order the mappings by priority, highest to lowest. If a command line matches multiple regexes, the first match is used.
    5. Save the ServerMonitoringConfiguration.yml file.
    6. Wait 15 minutes or longer for the updated list to take effect, and then verify that the matching process(es) display in the Controller UI.

    samplingInterval

    Indicates how often to gather metric data. Units in milliseconds.

    Default = 30000 (30 seconds)

    maxClassIdLength

    Specifies the maximum process class name length. Any process class name that is longer than the specified maximum is truncated. The global maximum of the process class name is 100. If this variable is set to be greater than 100, then the process name is truncated at 100.

    Default = 50

    Anchor
    processSelectorRegex
    processSelectorRegex
    processSelectorRegex

    Contains a regular expression that specifies which processes should be monitored by the Machine Agent. The regular expression is compared against the full command line that was used to start the process.

    The default regular expression will filter out any processes where the command line ends with a close bracket (']').

    For Linux, the process arguments could not be found, which usually indicates a kernel process.

    For Windows, no processes should end with a bracket character, so the regex should include all processes on Windows.

    Default = ""^.+[^]]$""

    minLiveTimeMillisBeforeMonitoring

    Specifies the minimum amount of time a process must be alive before it is monitored by the Machine Agent. Use this to prevent the Machine Agent from being overloaded by monitoring short-lived processes. Units in milliseconds.

    Default = 60000 (60 seconds)

    maxNumberMonitoredClasses

    Specifies the maximum number of process classes that the Machine Agent monitors.

    The processes that are reported are using the highest CPU and memory that match the regex specified by processSelectorRegex.

    Default = 20

    Warning

    Changing this setting can affect the resource consumption of your deployment. Before you change this setting verify your application environment and Controller can process the increased resource requirements.

    defaultDiskSectorSize

    Specifies the default sector size (in bytes) for each disk if the Machine Agent cannot determine the sector size. This value is used to calculate the number of bytes read/written for the disk.

    Default = 512

    memoryMonitorConfig

    Specifies a custom sampling interval for collecting memory metrics on Linux.

    Default = 3000

    cpusMonitorConfig

    Specifies a custom sampling interval for collecting CPU metrics on Linux.

    Default = 3000

    tag
    A list of user-defined tags for the individual server. Use these tags to query, filter, aggregate, and compare related servers. See Server Tagging
    Each tag is specified by a key-value pair. You can define tag names up to 127 unicode characters, and tag values up to 255 unicode characters. Define each key on a separate line. All key-value strings should be within single quotes. If a key has multiple values, delineate the list with commas:
    <key>: [ <value> ]  
    tags:
        'Location': ['NYC', 'Data Center', 'Server Room 7']
        'Environment': ['preProduction']

    Docker Visibility Settings

    See Configuring Docker Visibility

    Process Limits

    These additional configurable settings are available in the Controller Admin UI:

    • Total number of processes displayed in the UI for a single query is 5000 processes per call.

    • Total number of processes tracked per account. The default value is 10000 processes per account.

    See Controller Settings for Server Visibility

    sv-translation
    languageja

    Appd tocbox

    On this page:

    Table of Contents
    maxLevel2
    minLevel2

     

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

    編集する設定ファイル:<machine-agent-home>/extensions/ServerMonitoring/conf/ServerMonitoring.yml。

     

    Anchor
    edit_yml
    edit_yml
    YML ファイルの編集:重要な注意事項

    次の点に注意してください。

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

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

    Div
    styleclear:both;
    設定説明

    basicEnabled

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

    デフォルト = true

    volumeMonitorConfig:

    maxNumberVolumes

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

    デフォルト = 5

    Warning

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


    volumeMonitorConfig:

    whitelistSelectorRegex

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

    デフォルト = ""

    volumeMonitorConfig:

    blacklistSelectorRegex

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

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

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

    volumeMonitorConfig:

    samplingInterval

     

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

    デフォルト = 3000

    networkMonitorConfig:

    maxNumberNetworks

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

    デフォルト = 5

    Warning

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


    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 マッピングのリスト。プロセスのコマンドラインが 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

    Anchor
    processSelectorRegex
    processSelectorRegex
    processSelectorRegex

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

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

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

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

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

    minLiveTimeMillisBeforeMonitoring

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

    デフォルト = 60000(60 秒)

    maxNumberMonitoredClasses

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

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

    デフォルト = 20

    Warning

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

    defaultDiskSectorSize

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

    デフォルト = 512

    memoryMonitorConfig

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

    デフォルト = 3000

    cpusMonitorConfig

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

    デフォルト = 3000

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

    Docker の可視性の設定

    スタンドアロン マシン エージェントでの Docker の可視性の設定について詳しくは、「Docker の可視性の設定」を参照してください。

    プロセスの制限

    その他の構成可能な設定は、コントローラ管理 UI で使用できます。次に例を示します。

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

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

    詳細については、「Controller Settings for Server Visibility」を参照してください。