Prometheus: Prometheus Node ExporterにTLS暗号化を追加する

このドキュメントはLinuxからメトリクスを取得するガイドの一部です。完全なガイドはこちらからご覧いただけます:Node Exporterを使用してPrometheusでLinuxサーバーのメトリクスを取得する方法

👋 Stackheroのドキュメントへようこそ!

Stackheroは、数多くの利点を提供するPrometheusクラウドソリューションを提供しています。主な利点は以下の通りです:

  • Alert Managerが含まれており、SlackMattermostPagerDutyなどにアラートを送信できます。
  • 無制限のメールアラートを送信できる専用メールサーバー。
  • BlackboxHTTPICMPTCPなどをプローブ。
  • オンライン設定ファイルエディタによる簡単な設定
  • ワンクリックでの手間いらずの更新
  • プライベートで専用のVMによる最適なパフォーマンスと強固なセキュリティ

時間を節約し、生活を簡素化:StackheroのPrometheusクラウドホスティングソリューションを試すのに5分しかかかりません!

デフォルトでは、Node Exporterは通信を暗号化しません。これにより、前述のパスワードを含む資格情報が平文で送信されます。通信を保護するために、次のようにTLS暗号化を有効にできます。

次のコマンドを実行してTLS証明書とキーを作成します:

# TLS証明書を作成する
cd /tmp
sudo openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 \
  -keyout /etc/prometheus_node_exporter/tlsCertificate.key \
  -out /etc/prometheus_node_exporter/tlsCertificate.crt \
  -subj "/CN=`hostname`" \
  -addext "subjectAltName = DNS:`hostname`"
sudo chmod 600 /etc/prometheus_node_exporter/*
sudo chown -R node_exporter:node_exporter /etc/prometheus_node_exporter

TLS設定を追加するために設定ファイルに次の行を追加し、Node Exporterを再起動します:

sudo cat << 'EOF' >> /etc/prometheus_node_exporter/configuration.yml
tls_server_config:
  cert_file: /etc/prometheus_node_exporter/tlsCertificate.crt
  key_file: /etc/prometheus_node_exporter/tlsCertificate.key

EOF

# Prometheus Node Exporterを再起動する
sudo systemctl restart node_exporter

次のコマンドを使用してHTTPS経由で接続することでTLSがアクティブであることを確認できます:

curl -k -u prometheus:${password} https://localhost:9100/metrics

この方法はCA証明書を使用しないため、cURLで証明書検証をバイパスするために"-k"オプションを渡す必要があります。