Prometheusは、Prometheusインスタンスへの接続(つまり、式ブラウザまたはHTTP APIへの接続)にトランスポート層セキュリティ(TLS)暗号化をサポートしています。これらの接続にTLSを強制したい場合は、特定のWeb構成ファイルを作成する必要があります。
すでにPrometheusインスタンスが起動して実行されており、それを適応させたいとします。このガイドでは、初期のPrometheus設定については扱いません。
TLSでサービス提供され、example.com
ドメイン(所有している)で利用可能なPrometheusインスタンスを実行したいとします。
また、OpenSSLまたは類似のツールを使用して、以下を生成したとします。
/home/prometheus/certs/example.com/example.com.crt
にあるSSL証明書/home/prometheus/certs/example.com/example.com.key
にあるSSLキー次のコマンドを使用して、自己署名証明書と秘密キーを生成できます。
mkdir -p /home/prometheus/certs/example.com && cd /home/prometheus/certs/certs/example.com
openssl req \
-x509 \
-newkey rsa:4096 \
-nodes \
-keyout example.com.key \
-out example.com.crt
プロンプトで適切な情報を入力し、Common Name
プロンプトでexample.com
を入力してください。
以下は、web-config.yml
構成ファイルの例です。この構成を使用すると、PrometheusはすべてのエンドポイントをTLSの背後でサービス提供します。
tls_server_config:
cert_file: /home/prometheus/certs/example.com/example.com.crt
key_file: /home/prometheus/certs/example.com/example.com.key
Prometheusにこの構成を使用させるには、フラグ--web.config.file
を指定して呼び出す必要があります。
prometheus \
--config.file=/path/to/prometheus.yml \
--web.config.file=/path/to/web-config.yml \
--web.external-url=https://example.com/
--web.external-url=
フラグはここではオプションです。
example.com
ドメインを使用してTLSをローカルでテストする場合は、/etc/hosts
ファイルにexample.com
をlocalhost
にリダイレクトするエントリを追加できます。
127.0.0.1 example.com
その後、cURLを使用してローカルのPrometheusセットアップと対話できます。
curl --cacert /home/prometheus/certs/example.com/example.com.crt \
https://example.com/api/v1/label/job/values
--insecure
または-k
フラグを使用して、証明書を指定せずにPrometheusサーバーに接続できます。
curl -k https://example.com/api/v1/label/job/values
このドキュメントはオープンソースです。問題やプルリクエストを提出して改善にご協力ください。