mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-14 02:12:21 +00:00
6.8 KiB
6.8 KiB
slug | sidebar_position | sidebar_label |
---|---|---|
/ja/interfaces/prometheus | 19 | Prometheusプロトコル |
Prometheusプロトコル
メトリクスの公開
:::note ClickHouse Cloudを使用している場合、Prometheus Integrationを使用してPrometheusにメトリクスを公開できます。 :::
ClickHouseはその自身のメトリクスをPrometheusからのスクレイピングのために公開できます:
<prometheus>
<port>9363</port>
<endpoint>/metrics</endpoint>
<metrics>true</metrics>
<asynchronous_metrics>true</asynchronous_metrics>
<events>true</events>
<errors>true</errors>
</prometheus>
<prometheus.handlers>
セクションを使用して、より詳細なハンドラーを作成できます。
このセクションは<http_handlers>に似ていますが、Prometheusプロトコル用に機能します:
<prometheus>
<port>9363</port>
<handlers>
<my_rule_1>
<url>/metrics</url>
<handler>
<type>expose_metrics</type>
<metrics>true</metrics>
<asynchronous_metrics>true</asynchronous_metrics>
<events>true</events>
<errors>true</errors>
</handler>
</my_rule_1>
</handlers>
</prometheus>
設定:
名前 | デフォルト | 説明 |
---|---|---|
port |
なし | メトリクス公開プロトコルを提供するためのポート。 |
endpoint |
/metrics |
Prometheusサーバーによるメトリクスのスクレイピング用HTTPエンドポイント。/ で始まります。<handlers> セクションと併用してはいけません。 |
url / headers / method |
なし | リクエストに対する適合ハンドラーを見つけるために使用されるフィルター。<http_handlers>セクションの同じ名前のフィールドに似ています。 |
metrics |
true | system.metricsテーブルからのメトリクスを公開します。 |
asynchronous_metrics |
true | system.asynchronous_metricsテーブルから現在のメトリクス値を公開します。 |
events |
true | system.eventsテーブルからのメトリクスを公開します。 |
errors |
true | 最後のサーバー再起動以降に発生したエラーコードごとのエラー数を公開します。この情報はsystem.errorsからも取得できます。 |
チェック(127.0.0.1
をClickHouseサーバーのIPアドレスまたはホスト名に置き換えてください):
curl 127.0.0.1:9363/metrics
リモート書き込みプロトコル
ClickHouseはremote-writeプロトコルをサポートしています。 このプロトコルによって受信したデータは、(あらかじめ作成しておく必要がある)TimeSeriesテーブルに書き込まれます。
<prometheus>
<port>9363</port>
<handlers>
<my_rule_1>
<url>/write</url>
<handler>
<type>remote_write</type>
<database>db_name</database>
<table>time_series_table</table>
</handler>
</my_rule_1>
</handlers>
</prometheus>
設定:
名前 | デフォルト | 説明 |
---|---|---|
port |
なし | remote-write プロトコルを提供するためのポート。 |
url / headers / method |
なし | リクエストに対する適合ハンドラーを見つけるために使用されるフィルター。<http_handlers>セクションの同じ名前のフィールドに似ています。 |
table |
なし | remote-write プロトコルで受信したデータを書き込むTimeSeriesテーブルの名前。この名前にはオプションでデータベース名を含めることができます。 |
database |
なし | table 設定で指定されていない場合、table 設定で指定されたテーブルがあるデータベースの名前。 |
リモート読み取りプロトコル
ClickHouseはremote-readプロトコルをサポートしています。 このプロトコルを通じて、TimeSeriesテーブルからデータを読み取り、送信します。
<prometheus>
<port>9363</port>
<handlers>
<my_rule_1>
<url>/read</url>
<handler>
<type>remote_read</type>
<database>db_name</database>
<table>time_series_table</table>
</handler>
</my_rule_1>
</handlers>
</prometheus>
設定:
名前 | デフォルト | 説明 |
---|---|---|
port |
なし | remote-read プロトコルを提供するためのポート。 |
url / headers / method |
なし | リクエストに対する適合ハンドラーを見つけるために使用されるフィルター。<http_handlers>セクションの同じ名前のフィールドに似ています。 |
table |
なし | remote-read プロトコルで送信するために読み取るTimeSeriesテーブルの名前。この名前にはオプションでデータベース名を含めることができます。 |
database |
なし | table 設定で指定されていない場合、table 設定で指定されたテーブルがあるデータベースの名前。 |
複数プロトコル用の設定
複数のプロトコルを一つの場所に一緒に指定することができます:
<prometheus>
<port>9363</port>
<handlers>
<my_rule_1>
<url>/metrics</url>
<handler>
<type>expose_metrics</type>
<metrics>true</metrics>
<asynchronous_metrics>true</asynchronous_metrics>
<events>true</events>
<errors>true</errors>
</handler>
</my_rule_1>
<my_rule_2>
<url>/write</url>
<handler>
<type>remote_write</type>
<table>db_name.time_series_table</table>
</handler>
</my_rule_2>
<my_rule_3>
<url>/read</url>
<handler>
<type>remote_read</type>
<table>db_name.time_series_table</table>
</handler>
</my_rule_3>
</handlers>
</prometheus>