ファイルへのエクスポート
概要
トリガーイベント、アイテムの値、およびトレンドを、改行区切りの JSON 形式でリアルタイムにエクスポートするよう設定できます。
エクスポートはファイルに対して行われ、エクスポートファイルの各行は JSON オブジェクトです。値マッピングは適用されません。
エラーが発生した場合(データを書き込み先のエクスポートファイルに書き込めない、エクスポートファイルの名前を変更できない、または名前変更後に新しいファイルを作成できない場合)、そのデータ項目は破棄され、エクスポートファイルには書き込まれません。データは Zabbix データベースにのみ書き込まれます。書き込みの問題が解決すると、エクスポートファイルへのデータ書き込みは再開されます。
エクスポートファイルは、ファイル所有者のみが読み書きできる権限で作成されます。さらに、所有者グループには読み取り権限があります。それ以外の権限はすべて拒否されます。
データを受信した後、サーバーがデータをエクスポートする前にホスト/アイテムが削除された場合、ホスト/アイテムにはメタデータ(ホストグループ、ホスト名、アイテム名)が含まれないことがある点に注意してください。
設定
トリガーイベント、アイテム値、およびトレンドのリアルタイムエクスポートは、エクスポートファイル用のディレクトリを指定することで設定します。詳細は、サーバー設定の ExportDir パラメータを参照してください。
他に利用可能なパラメータは次のとおりです。
ExportFileSizeは、個々のエクスポートファイルに許可される最大サイズを設定するために使用できます。プロセスがファイルへ書き込む必要がある場合、まずそのファイルサイズを確認します。設定されたサイズ上限を超えている場合、ファイル名の末尾に .old を付けてリネームし、元の名前の新しいファイルを作成します。
データを書き込む各プロセスごとにファイルが作成されます(つまり、おおよそ 4〜30 個のファイルです)。エクスポートファイルのデフォルトサイズは 1G であるため、大きなエクスポートファイルを保持すると、ディスク容量をすぐに消費してしまう可能性があります。
ExportTypeでは、どのエンティティタイプ(イベント、履歴、トレンド)をエクスポートするかを指定できます。
改行区切りJSONエクスポートプロトコル
このセクションでは、以下で使用される、改行区切りJSON形式のエクスポートプロトコルの詳細を説明します。
すべてのファイルは .ndjson 拡張子を持ちます。エクスポートファイルの各行は JSON オブジェクトです。
トリガーイベントのエクスポート
障害イベントについて、次の情報がエクスポートされます:
| Field | Type | Description | ||
|---|---|---|---|---|
| clock | number | 障害が検出された時点の、Epoch からの経過秒数(整数部)。 | ||
| ns | number | 正確な障害検出時刻を得るために clock に加算されるナノ秒数。 |
||
| value | number | 1(常に)。 | ||
| eventid | number | 障害イベント ID。 | ||
| name | string | 障害イベント名。 | ||
| severity | number | 障害イベントの深刻度(0 - 未分類、1 - 情報、2 - 警告、3 - 平均、4 - 高、5 - 災害)。 | ||
| hosts | array | トリガー式に関与するホストの一覧。配列には少なくとも 1 要素が必要です。 | ||
| - | object | |||
| host | string | ホスト名。 | ||
| name | string | 表示ホスト名。 | ||
| groups | array | トリガー式に関与するすべてのホストのホストグループの一覧。配列には少なくとも 1 要素が必要です。 | ||
| - | string | ホストグループ名。 | ||
| tags | array | 障害タグの一覧(空にできます)。 | ||
| - | object | |||
| tag | string | タグ名。 | ||
| value | string | タグ値(空にできます)。 | ||
復旧イベントについて、次の情報がエクスポートされます:
| Field | Type | Description |
|---|---|---|
| clock | number | 障害が解決された時点の、Epoch からの経過秒数(整数部)。 |
| ns | number | 正確な障害解決時刻を得るために clock に加算されるナノ秒数。 |
| value | number | 0(常に)。 |
| eventid | number | 復旧イベント ID。 |
| p_eventid | number | 障害イベント ID。 |
トリガーイベントのエクスポート例
障害:
{"clock":1519304285,"ns":123456789,"value":1,"name":"Either Zabbix agent is unreachable on Host B or pollers are too busy on Zabbix Server","severity":3,"eventid":42, "hosts":[{"host":"Host B", "name":"Host B visible"},{"host":"Zabbix Server","name":"Zabbix Server visible"}],"groups":["Group X","Group Y","Group Z","Zabbix servers"],"tags":[{"tag":"availability","value":""},{"tag":"data center","value":"Riga"}]}
復旧:
{"clock":1519304345,"ns":987654321,"value":0,"eventid":43,"p_eventid":42}
障害(複数の障害イベント生成):
{"clock":1519304286,"ns":123456789,"value":1,"eventid":43,"name":"Either Zabbix agent is unreachable on Host B or pollers are too busy on Zabbix Server","severity":3,"hosts":[{"host":"Host B", "name":"Host B visible"},{"host":"Zabbix Server","name":"Zabbix Server visible"}],"groups":["Group X","Group Y","Group Z","Zabbix servers"],"tags":[{"tag":"availability","value":""},{"tag":"data center","value":"Riga"}]}
{"clock":1519304286,"ns":123456789,"value":1,"eventid":43,"name":"Either Zabbix agent is unreachable on Host B or pollers are too busy on Zabbix Server","severity":3,"hosts":[{"host":"Host B", "name":"Host B visible"},{"host":"Zabbix Server","name":"Zabbix Server visible"}],"groups":["Group X","Group Y","Group Z","Zabbix servers"],"tags":[{"tag":"availability","value":""},{"tag":"data center","value":"Riga"}]}
復旧:
{"clock":1519304346,"ns":987654321,"value":0,"eventid":44,"p_eventid":43}
{"clock":1519304346,"ns":987654321,"value":0,"eventid":44,"p_eventid":42}
アイテム値のエクスポート
収集されたアイテム値について、以下の情報がエクスポートされます:
| Field | Type | Description | ||
|---|---|---|---|---|
| host | object | アイテムのホストのホスト名。 | ||
| host | string | ホスト名。 | ||
| name | string | 表示用ホスト名。 | ||
| groups | array | アイテムのホストのホストグループの一覧。配列には少なくとも1つの要素が必要です。 | ||
| - | string | ホストグループ名。 | ||
| item_tags | array | アイテムタグの一覧(空でも可)。 | ||
| - | object | |||
| tag | string | タグ名。 | ||
| value | string | タグの値(空でも可)。 | ||
| itemid | number | アイテムID。 | ||
| name | string | 表示用アイテム名。 | ||
| clock | number | 値が収集された時点の、Epochからの経過秒数(整数部)。 | ||
| ns | number | 正確な値の収集時刻を得るために clock に加算するナノ秒数。 |
||
| timestamp (Log only) |
number | 利用できない場合は0。 | ||
| source (Log only) |
string | 利用できない場合は空文字列。 | ||
| severity (Log only) |
number | 利用できない場合は0。 | ||
| eventid (Log only) |
number | 利用できない場合は0。 | ||
| value | number (for numeric items) or string (for text items) |
収集されたアイテム値。 | ||
| type | number | 収集された値のタイプ: 0 - 数値浮動小数点, 1 - 文字, 2 - ログ, 3 - 数値符号なし, 4 - テキスト, 5 - バイナリ, 6 - JSON |
||
アイテム値のエクスポート例
数値(符号なし)値:
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":3,"name":"エージェントの可用性","clock":1519304285,"ns":123456789,"value":1,"type":3}
数値(浮動小数)値:
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":4,"name":"CPU負荷","clock":1519304285,"ns":123456789,"value":0.1,"type":0}
文字、テキスト値:
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":2,"name":"エージェントのバージョン","clock":1519304285,"ns":123456789,"value":"3.4.4","type":4}
ログ値:
{"host":{"host":"Host A","name":"Host A visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":1,"name":"ログファイル内のメッセージ","clock":1519304285,"ns":123456789,"timestamp":1519304285,"source":"","severity":0,"eventid":0,"value":"log file message","type":2}
トレンドのエクスポート
計算されたトレンド値について、次の情報がエクスポートされます:
| Field | Type | Description | ||
|---|---|---|---|---|
| host | object | アイテムのホストのホスト名。 | ||
| host | string | ホスト名。 | ||
| name | string | 表示用ホスト名。 | ||
| groups | array | アイテムのホストのホストグループの一覧。配列には少なくとも1つの要素が必要です。 | ||
| - | string | ホストグループ名。 | ||
| item_tags | array | アイテムタグの一覧(空にすることもできます)。 | ||
| - | object | |||
| tag | string | タグ名。 | ||
| value | string | タグ値(空にすることもできます)。 | ||
| itemid | number | アイテムID。 | ||
| name | string | 表示用アイテム名。 | ||
| clock | number | 値が収集された時点のEpochからの経過秒数(整数部)。 | ||
| count | number | 指定した1時間に収集された値の数。 | ||
| min | number | 指定した1時間のアイテム値の最小値。 | ||
| avg | number | 指定した1時間のアイテム値の平均値。 | ||
| max | number | 指定した1時間のアイテム値の最大値。 | ||
| type | number | 値のタイプ: 0 - numeric float, 3 - numeric unsigned |
||
トレンドエクスポートの例
数値(符号なし)値:
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":3,"name":"エージェントの可用性","clock":1519311600,"count":60,"min":1,"avg":1,"max":1,"type":3}
数値(浮動小数)値:
{"host":{"host":"Host B","name":"Host B visible"},"groups":["Group X","Group Y","Group Z"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":4,"name":"CPU負荷","clock":1519311600,"count":60,"min":0.01,"avg":0.15,"max":1.5,"type":0}