Prometheusデータを使用したディスカバリ
概要
Prometheusのライン形式で提供されるデータは、低レベルディスカバリに使用できます。
ZabbixでPrometheusデータのクエリがどのように実装されているかの詳細については、Prometheusチェックを参照してください。
設定
ローレベルディスカバリルールは、Prometheusデータを収集するHTTPマスターアイテムへの依存アイテムとして作成する必要があります。
PrometheusからJSONへ
ディスカバリールールで「前処理」タブに移動し、PrometheusからJSONへ 前処理オプションを選択します。ディスカバリーにはJSON形式のデータが必要です。PrometheusからJSONへ 前処理オプションを使用すると、次の属性を含むJSON形式のデータが返されます。
- メトリクス名
- メトリクス値
- help(存在する場合)
- type(存在する場合)
- labels(存在する場合)
- raw line
たとえば、wmi_logical_disk_free_bytes をクエリすると、次のようになります。

次のPrometheus行から:
# HELP wmi_logical_disk_free_bytes Free space in bytes (LogicalDisk.PercentFreeSpace)
# TYPE wmi_logical_disk_free_bytes gauge
wmi_logical_disk_free_bytes{volume="C:"} 3.5180249088e+11
wmi_logical_disk_free_bytes{volume="D:"} 2.627731456e+09
wmi_logical_disk_free_bytes{volume="HarddiskVolume4"} 4.59276288e+08
次の結果が返されます。
[
{
"name": "wmi_logical_disk_free_bytes",
"help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",
"type": "gauge",
"labels": {
"volume": "C:"
},
"value": "3.5180249088e+11",
"line_raw": "wmi_logical_disk_free_bytes{volume=\"C:\"} 3.5180249088e+11"
},
{
"name": "wmi_logical_disk_free_bytes",
"help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",
"type": "gauge",
"labels": {
"volume": "D:"
},
"value": "2.627731456e+09",
"line_raw": "wmi_logical_disk_free_bytes{volume=\"D:\"} 2.627731456e+09"
},
{
"name": "wmi_logical_disk_free_bytes",
"help": "Free space in bytes (LogicalDisk.PercentFreeSpace)",
"type": "gauge",
"labels": {
"volume": "HarddiskVolume4"
},
"value": "4.59276288e+08",
"line_raw": "wmi_logical_disk_free_bytes{volume=\"HarddiskVolume4\"} 4.59276288e+08"
}
]
LLDマクロマッピング
次にLLDマクロ タブに移動して次のマッピングを行います。
{#VOLUME}=$.labels['volume']
{#METRIC}=$['name']
{#HELP}=$['help']
アイテムのプロトタイプ
次のようなアイテムのプロトタイプを作成することをお勧めします。

保存前処理オプション:
