Installed Collector Source の JSON パラメータ
このトピックでは、Installed Collector の JSON Source パラメータについて説明します。詳細については以下のトピックを参照してください。
- 「JSON を使用した Source の設定」。このトピックには、すべての Source タイプの共通パラメータが示されています。
- 「Hosted Collector 用の JSON Source パラメータ」。
- Web アプリケーションからの「Collector または Source JSON 設定の表示またはダウンロード」。
JSON ファイルで Source を設定する方法と、JSON ファイルを読み込むように Sumo を設定する方法については、「ローカル設定ファイルの管理」を参照してください。
Installed Collector の Source タイプ
各 Source には、「JSON を使用した Source の設定」の汎用フィールドに加えて、固有のフィールドを定義できます。sourceType
フィールドは、Source タイプ (および関連パラメータ) を指定します。有効なフィールド タイプを下表に示します。表の下のセクションでは、各 Source に固有のパラメータと関連する JSON ファイルの例を示します。
Installed Collector のログ Source
フィールド タイプ | タイプ値 |
ローカル ファイル Source | LocalFile |
リモート ファイル Source | RemoteFileV2 |
ローカル Windows イベント ログ Source | LocalWindowsEventLog |
リモート Windows イベント ログ Source | RemoteWindowsEventLog |
ローカル Windows パフォーマンス Source | LocalWindowsPerfMon |
リモート Windows パフォーマンス Source | RemoteWindowsPerfMon |
Syslog Source | syslog |
スクリプト Source | Script |
Docker ログ Source | DockerLog |
Docker 統計情報 Source | DockerStats |
Installed Collector のメトリクス Source
フィールド タイプ | タイプ値 |
ホスト メトリクス Source | SystemStats |
ストリーミング メトリクス Source | StreamingMetrics |
Installed Collector 用のログ Source パラメータ
ローカル ファイル Source
共通パラメータに加えて、ローカル ファイル Source では以下のパラメータも使用できます。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
sourceType | 文字列 | はい | LocalFile | 変更不可 | |
pathExpression | 文字列 | はい | 収集するファイルの有効なパス式 (フル パス)。Windows システムのファイルの場合 (Windows イベントを除く)、ドライブ文字を含む絶対パスを入力します。特殊文字とスペースはバックスラッシュ (\ ) でエスケープします。CIFS/SMB を使用して Windows から収集する場合は、「Windows ログ収集の前提条件」を参照してください。ファイルメイヤフォルダ名には、1 つのアスタリスクのワイルドカード [*] を使用します。例: [var/foo/*.log] .ディレクトリやサブディレクトリ内で再帰的に処理するには 2 つのアスタリスク [**] を使用します。例: [var/**/*.log] 。 |
変更可 | |
blacklist | 文字列配列 | 不可 | [ ] | ログを収集しないパス式をコンマで区切ったリスト。 例: "blacklist":["/var/log/**/*.bak","/var/oldlog/*.log"] |
変更可 |
encoding | 文字列 | 不可 | UTF-8 | エンコード形式を指定します。デフォルトは "UTF-8" で、"UTF-16" 、"UTF-16BE" 、"UTF-16LE". を指定できます。 |
変更可 |
cutoffTimestamp
を使用したローカル ファイル Source JSON の例:
{ "api.version":"v1", "sources":[{ "name":"Test-Chef", "category":"Chef", "automaticDateParsing":true, "multilineProcessingEnabled":false, "useAutolineMatching":false, "forceTimeZone":false, "timeZone":"UTC", "filters":[], "cutoffTimestamp":1426057200000, "encoding":"UTF-8", "pathExpression":"/home/ubuntu/chef*.log", "blacklist":[], "sourceType":"LocalFile" }] }
cutoffRelativeTime
を使用したローカル ファイル Source JSON の例:
{ "api.version":"v1", "sources":[{ "name":"db_log", "description":"the database logs", "category":"test/database_log", "automaticDateParsing":false, "multilineProcessingEnabled":false, "useAutolineMatching":false, "forceTimeZone":true, "timeZone":"America/Los_Angeles", "filters":[], "cutoffRelativeTime":"-1h", "encoding":"UTF-8", "pathExpression":"/var/log/db.log", "blacklist":[], "sourceType":"LocalFile" }] }
リモート ファイル Source
共通パラメータに加えて、リモート ファイル Source では以下のパラメータも使用できます。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
sourceType | 文字列 | はい | RemoteFileV2 | 変更不可 | |
remoteHosts | リスト | はい | リモート マシンのホスト名。IP アドレスは角括弧で囲んでください。例: ["192.168.0.1","10.0.1.16", 。 |
変更可 | |
remotePort | 整数 | はい | リモート マシンのポート (SSH) | 変更可 | |
remoteUser | 文字列 | はい | リモート マシンに接続するためのユーザ アカウント。 | 変更可 | |
remotePassword | 文字列 | はい | リモート マシンに接続するためのパスワード。authMethod が "password" に設定されている場合にのみ必要です。 |
変更可 | |
keyPath | 文字列 | はい | リモート マシンに接続するための SSH キー。authMethod が "key" に設定されている場合にのみ必要です。 |
変更可 | |
keyPassword | 文字列 | 不可 | Null | リモート マシンに接続するための SSH キーのパスワード。authMethod が "password" に設定されている場合にのみ必要です。 |
変更可 |
pathExpression | 文字列 | はい | 収集するファイルのパス式。 | 変更可 | |
authMethod | 文字列 | はい | リモート マシンに接続するための認証方式。パスワードで接続する場合は "password" 、SSH キーで接続する場合は "key" を指定します。 |
変更可 | |
blacklist | リスト | 不可 | [ ] | スキップする有効なパス式のリスト。デフォルトは [ ] 。 |
変更可 |
リモート ファイル Source JSON の例:
{ "api.version":"v1", "sources":[ { "sourceType":"RemoteFileV2", "name":"Example1", "remoteHosts":[ "192.168.0.1", "10.0.1.16", "192.168.1.234" ], "remotePort":22, "remoteUser":"user", "remotePassword":"password", "keyPath":"", "keyPassword":"", "pathExpression":"/var/log/somelog.log", "authMethod":"password", "blacklist":[ "/var/log/*.out.log", "/var/log/*.tmp.log" ] } ] }
ローカル Windows イベント ログ Source
hostName を除く共通パラメータに加えて、ローカル Windows イベント ログ Source では以下のパラメータも使用できます。Source ホスト (_sourceHost) の値は自動的に parse され、イベント ログに適用されます。この値は、イベント ログ内のフィールド Computer
から parse されます。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
sourceType | 文字列 | はい | LocalWindowsEventLog | 変更不可 | |
logNames | リスト | はい | 収集する Windows ログ タイプのリスト。"Security" や "Application" など。 特定のマシンで利用可能なログのリストを取得するには、PowerShell の Get-WinEvent -ListLog * コマンドか、または従来の wevtutil el コマンドを使用します。"Analytic" または "Debug" ETW ログはサポートされません。 |
変更可 | |
renderMessages | ブール | 不可 | True | イベント メッセージを収集するか (true) コア イベント メタデータのみを収集するか (false) を指定するフラグ | 変更可 |
ローカル Windows イベント ログ Source JSON の例:
{ "api.version":"v1", "sources":[ { "sourceType":"LocalWindowsEventLog", "name":"Example1", "renderMessages":true, "logNames":[ "Security", "Application" ] } ] }
リモート Windows イベント ログ Source
hostName を除く共通パラメータに加えて、リモート Windows イベント ログ Source では以下のパラメータも使用できます。Source ホスト (_sourceHost) の値は自動的に parse され、イベント ログに適用されます。この値は、イベント ログ内のフィールド Computer
から parse されます。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
sourceType | 文字列 | はい | RemoteWindowsEventLog | 変更不可 | |
domain | 文字列 | はい | ログを作成する Windows ドメイン。 | 変更可 | |
username | 文字列 | はい | リモート マシンに接続するためのユーザ名。 | 変更可 | |
password | 文字列 | はい | リモート マシンに接続するためのパスワード。 | 変更可 | |
hosts | リスト | はい | 収集対象のホストのリスト。 | 変更可 | |
logNames | リスト | はい | 収集する Windows ログ タイプのリスト。 | 変更可 | |
renderMessages | ブール | 不可 | True | イベント メッセージを収集するか (true) コア イベント メタデータのみを収集するか (false) を指定するフラグ | 変更可 |
リモート Windows イベント ログ Source JSON の例:
{ "api.version":"v1", "sources":[ { "sourceType":"RemoteWindowsEventLog", "name":"Example1", "domain":"mydomain", "username":"user", "password":"password", "renderMessages":true, "hosts":[ "myremotehost1", "myremotehost2" ], "logNames":[ "Security", "Application" ] } ] }
ローカル Windows パフォーマンス Source
共通パラメータに加えて、ローカル Windows パフォーマンス Source では以下のパラメータも使用できます。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
sourceType | 文字列 | はい | LocalWindowsPerfMon | 変更不可 | |
wmiQueries | リスト | はい | 実行するクエリのリスト。各クエリは、2 つのフィールド (name と query) を持つオブジェクトです。 | 変更可 |
応答の例:
{ "api.version":"v1", "sources":[ { "sourceType":"LocalWindowsPerfMon", "name":"Example1", "wmiQueries":[ { "name":"query_1", "query":"select * from Win32_PerfFormattedData_PerfOS_Processor" }, { "name":"query_2", "query":"select * from NonExistence" } ] } ] }
リモート Windows パフォーマンス Source
共通パラメータに加えて、リモート Windows パフォーマンス Source では以下のパラメータも使用できます。
パラメータ | タイプ | 必須 | 説明 | アクセス |
sourceType | 文字列 | はい | RemoteWindowsPerformance | 変更不可 |
domain | 文字列 | はい | ログを作成する Windows ドメイン。 | 変更可 |
remoteUser | 文字列 | はい | リモート マシンに接続するためのユーザ名。 | |
remotePassword | 文字列 | はい | リモート マシンに接続するためのパスワード。 | |
remoteHosts | リスト | はい | 収集対象のホストのリスト。 | |
wmiQueries | リスト | はい | 実行するクエリのリスト。各クエリは、2 つのフィールド (name と query) を持つオブジェクトです。 |
リモート Windows パフォーマンス Source JSON の例:
{ "api.version":"v1", "sources":[ { "sourceType":"RemoteWindowsPerformance", "name":"Example1", "domain":"mydomain", "remoteUser":"user", "remotePassword":"password", "remoteHosts":[ "myremotehost1", "myremotehost2" ], "wmiQueries":[ { "name":"query_1", "query":"select * from Win32_PerfFormattedData_PerfOS_Processor" }, { "name":"query_2", "query":"select * from NonExistence" } ] } ] }
Windows パフォーマンス メトリクスの例
この例では、WMI クエリを使用して Windows システムからパフォーマンス メトリクスを収集する方法を示しています。
{ "api.version":"v1", "sources":[ { "name":"Windows Performance", "sourceType":"LocalWindowsPerfMon" "automaticDateParsing":false, "multilineProcessingEnabled":false, "useAutolineMatching":false, "forceTimeZone":false, "filters":[], "cutoffTimestamp":0, "encoding":"UTF-8", "interval":300000, "wmiQueries":[ { "name":"CPU", "query":"select * from Win32_PerfFormattedData_PerfOS_Processor" }, { "name":"Logical Disk", "query":"select * from Win32_PerfFormattedData_PerfDisk_LogicalDisk" }, { "name":"Physical Disk", "query":"select * from Win32_PerfFormattedData_PerfDisk_PhysicalDisk" }, { "name":"Memory", "query":"select * from Win32_PerfFormattedData_PerfOS_Memory" }, { "name":"Network", "query":"select * from Win32_PerfFormattedData_Tcpip_NetworkInterface" } ] } ] }
syslog Source
syslog Source は複数行検出はサポートしていないため、共通パラメータの multilineProcessingEnabled、useAutolineMatching、および manualPrefixRegexp は使用できません。これらのパラメータを syslog Source 設定ファイルで指定しても無視されます。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
sourceType | 文字列 | はい | syslog | 変更不可 | |
protocol | 文字列 | はい | syslog が使用するプロトコル。 UDP と TCP の両方がサポートされます。 |
変更可 | |
port | 整数 | はい | syslog がリモート マシンに接続するためのポート。 推奨ポート: 514 または 1514 | 変更可 |
syslog Source JSON の例:
{ "api.version":"v1", "sources":[ { "sourceType":"Syslog", "name":"Example1", "protocol":"UDP", "port":514 } ] }
スクリプト Source
共通パラメータに加えて、スクリプト Source では以下のパラメータも使用できます。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
sourceType | 文字列 | はい | Script | 変更不可 | |
commands | リスト | はい | [ ] | コマンド ライン引数のリスト。 | 変更可 |
file | 文字列 | 不可 | null | 実行するスクリプト ファイルへのパス | 変更可 |
workingDir | 文字列 | 不可 | null | コマンド/スクリプトの作業ディレクトリ。 | 変更可 |
timeout | Long | 不可 | 0 | スクリプトのタイムアウト (ミリ秒)。デフォルトは 0 です。 | 変更可 |
script | 文字列 | 不可 | null | スクリプト内容 (ファイルが指定されない場合)。 | 変更可 |
cronExpression | 文字列 | はい | スクリプトの実行スケジュール。有効な Quartz cron 式でなければなりません。 | 変更可 |
スクリプト Source JSON の例:
{ "api.version":"v1", "sources":[ { "sourceType":"Script", "name":"Example1", "commands":[ "/bin/bash" ], "file":"/usr/local/bin/getlogs.log", "workingDir":"/var/log", "timeout":60000, "script":"", "cronExpression":"0 * * * *" } ] }
Docker ログ Source
共通パラメータに加えて、Docker ログ Source では以下のパラメータも使用できます。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
sourceType | 文字列 | はい | DockerLog | ||
uri | 文字列 | はい | Docker デーモンの URI。 | 変更可 | |
specifiedContainers | リスト | コンマで区切った Docker コンテナのリスト。実行中のコンテナのみが収集対象となります。 リストに停止中のコンテナが含まれている場合、これらのコンテナが後で実行された時点で Source は収集を開始します。詳細なコンテナ フィルタ オプションについては、「コンテナ フィルタ定義の詳細」を参照してください。 | 変更可 | ||
allContainers | ブール | はい | Source に実行中のコンテナがすべて含まれるか (true )、または specifiedContainers で指定されているコンテナのみが含まれるか (false ) を指定します。 |
変更可 | |
certPath | 文字列 | * | Collector が動作しているローカル マシン上の証明書ファイルへのパスを入力します。URI で HTTPS を仕様している場合は必須です。 | 変更可 | |
collectEvents | ブール | はい | Docker ログを収集する場合は true に設定する必要があります。 |
すべてのコンテナが含まれる場合の Source JSON の例:
{ "api.version":"v1", "sources":[ { "sourceType":"DockerLog", "name":"Example1", "uri":"https://54.165.12.163:2376", "allContainers":true, "certPath":"/home/ec2-user/.docker/machine/machines/wmad-docker", "collectEvents":true } ] }
指定されたコンテナのみが含まれる場合の Source JSON の例:
{ "api.version":"v1", "sources":[ { "sourceType":"DockerLog", "name":"Example1", "uri":"https://54.165.12.163:2376", "specifiedContainers":[ "webserver", "mysql", "another-container" ], "allContainers":false, "certPath":"/home/ec2-user/.docker/machine/machines/wmad-docker", "collectEvents":true } ] }
Docker 統計情報 Source
共通パラメータに加えて、Docker 統計 Source では以下のパラメータも使用できます。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
sourceType | 文字列 | はい | DockerStats | 変更不可 | |
contentType | 文字列 | 不可 | 値が空白であるか存在しない場合は JSON ベースの Source、値が DockerMetrics である場合はメトリクス Source です。 | 変更可 | |
メトリクス | 文字列配列 | 不可 | すべてのメトリクス | 収集されるメトリクスのリスト。各メトリクスは、2 つのフィールド (category と metric) を持つオブジェクトです。 利用できるすべてのメトリクスのリストについては、「Docker メトリクスの定義」を参照してください。省略すると、利用できるすべてのホスト メトリクスが収集されます。 |
変更可 |
uri | 文字列 | はい | Docker デーモンの URI。 | 変更可 | |
specifiedContainers | リスト | コンマで区切った Docker コンテナのリスト。実行中のコンテナのみが収集対象となります。 リストに停止中のコンテナが含まれている場合、これらのコンテナが後で実行された時点で Source は収集を開始します。詳細なコンテナ フィルタ オプションについては、「コンテナ フィルタ定義の詳細」を参照してください。 | 変更可 | ||
allContainers | ブール | はい | Source に実行中のコンテナがすべて含まれるか (true )、または specifiedContainers で指定されているコンテナのみが含まれるか (false ) を指定します。 |
変更可 | |
certPath | 文字列 | * | Collector が動作しているローカル マシン上の証明書ファイルへのパスを入力します。URI で HTTPS を仕様している場合は必須です。 | 変更可 | |
pollInterval | Long | 不可 | 継続 (デフォルトでは、ポーリングは一定間隔ではなく継続的に行われます。) | 統計情報をポーリングする間隔 (ミリ秒)。 許容される最小ポーリング間隔は 1 秒です。 |
変更可 |
すべてのコンテナが含まれる場合の Source JSON の例:
{ "api.version":"v1", "source":{ "name":"test", "category":"test", "automaticDateParsing":false, "multilineProcessingEnabled":false, "useAutolineMatching":false, "forceTimeZone":false, "filters":[], "cutoffTimestamp":0, "encoding":"UTF-8", "allContainers":true, "certPath":"", "uri":"unix:///var/run/docker.sock", "specifiedContainers":[], "pollInterval":60000, "sourceType":"DockerStats" } ] }
メトリクスを収集する Source JSON の例:
{ "api.version":"v1", "Source":{ "name":"docker-stats-metrics", "contentType":"DockerMetrics", "cutoffTimestamp":0, "allContainers":true, "certPath":"", "uri":"unix:///var/run/docker.sock", "metrics":[{"category":"CPU", "metric":"cpu_usage.percpu_usage"},{"category":"Memory", "metric":"usage"}], "specifiedContainers":[], "pollInterval":0, "sourceType":"DockerStats" } }
Installed Collector 用のメトリクス Source パラメータ
ホスト メトリクス Source
以下のパラメータはホスト メトリクス Source で使用します。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
name | 文字列 | はい | Source の名前を入力します。名前は Collector ごとに一意でなければなりません。この値はメタデータの _source フィールドに割り当てられます。 |
変更可 | |
description | 文字列 | 不可 | null | Source の説明を入力します。 | 変更可 |
カテゴリ | 文字列 | 不可 | null | Source のカテゴリを入力します。この値はメタデータの _sourceCategory フィールドに割り当てられます。詳細については、「ベスト プラクティス」を参照してください。 |
変更可 |
sourceType | 文字列 | はい | SystemStats | 変更不可 | |
メトリクス | 文字列配列 | 不可 | すべてのメトリクス | コンマで区切った収集されるメトリクスのリスト。 例: "metrics" : ["CPU_User", "CPU_Sys", "Mem_Used"] 利用できるすべてのメトリクスのリストについては、「Installed Collector のホスト メトリクス Source」を参照してください。省略すると、利用できるすべてのホスト メトリクスが収集されます。 |
変更可 |
interval (ms) | 整数 | はい | メトリクスの収集間隔 (ミリ秒)。推奨値は 60 秒 (60000 ) です。Sumo Logic UI は、定義済みの値 (10s、15s、30s、1m、5m) を用意しています。 |
変更可 | |
hostName | 文字列 | 不可 | メトリクスの収集元のホスト。 | 変更可 |
ホスト メトリクス Source JSON の例:
{ "api.version": "v1", "sources": [{ "sourceType" : "SystemStats", "name" : "Host_Metrics", "interval" : 60000, "hostName" : "my_host", "metrics" : ["CPU_User", "CPU_Sys", "Mem_Used"] }] }
ストリーミング メトリクス Source
以下のパラメータはストリーミング メトリクス Source で使用します。
パラメータ | タイプ | 必須 | デフォルト | 説明 | アクセス |
name | 文字列 | はい | Source の名前を入力します。名前は Collector ごとに一意でなければなりません。この値はメタデータの _source フィールドに割り当てられます。 |
変更可 | |
description | 文字列 | 不可 | null | Source の説明を入力します。 | 変更可 |
カテゴリ | 文字列 | 不可 | null | Source のカテゴリを入力します。この値はメタデータの _sourceCategory フィールドに割り当てられます。詳細については、「ベスト プラクティス」を参照してください。 |
変更可 |
contentType | 文字列 | はい | Graphite 、Carbon2 、または Prometheus 。Carbon2 を使用するには、Collector のバージョンが 19.216-22 以降である必要があります。 Prometheus を使用するには、Collector のバージョンが 19.227-19 以降である必要があります。 |
変更可 | |
sourceType | 文字列 | はい | StreamingMetrics |
変更不可 | |
protocol | 文字列 | はい | syslog が使用するプロトコル。 UDP と TCP の両方がサポートされます。CollectD メトリクスでは TCP のみがサポートされます。 |
変更可 | |
port | 整数 | はい | Collector が Graphite メトリクスを待機するポート。推奨ポート: 2003 | 変更可 |
Graphite contentType JSON の例:
{ "api.version":"v1", "sources":[ { "sourceType":"StreamingMetrics", "contentType":Graphite "name":"collectd", "protocol":"TCP", "port":2003 } ] }