Prometheus: Prometheus Node Exporterに認証を追加する

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

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

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

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

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

デフォルトでは、Node Exporterは認証を行わないため、誰でも公開されたメトリクスを取得できます。アクセスを保護するために、ユーザーに対して基本認証を追加できます。

次のコマンドを使用してパスワードを生成します:

password=`openssl rand -base64 32`
passwordHashed=`echo ${password} | htpasswd -inBC 10 "" | tr -d ':'`
echo "Prometheusサーバー用に保持するクリアパスワード: ${password}"

htpasswdバイナリがない場合は、apt-get install --no-install-recommends apache2-utilsを使用してDebian/Ubuntuにインストールできます。

クリアパスワードを安全に保管してください。Prometheusの設定時に必要になります。

生成されたパスワードハッシュを持つ"prometheus"というユーザーを追加するために、設定ファイルに次の行を追加します:

sudo cat << EOF >> /etc/prometheus_node_exporter/configuration.yml
basic_auth_users:
  prometheus: ${passwordHashed}

EOF

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

最後に、認証が正しく機能していることを確認します:

  • curl http://localhost:9100/metricsを実行すると"Unauthorized"が返されるはずです。
  • curl -u prometheus:${password} http://localhost:9100/metricsを実行するとメトリクスのリストが返されるはずです。