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

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

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

Stackheroは、信頼性とシンプルさを重視したフルマネージドのPrometheusクラウドプラットフォームを提供しています:

  • Alert Managerが標準搭載されており、SlackMattermostPagerDutyなどの主要なサービスへ直接アラートをルーティングできます。
  • 専用のメールサーバーにより、追加設定なしで無制限のメールアラートを送信可能です。
  • Blackboxが含まれており、HTTPICMPTCPなど様々なプロトコルの監視が可能です。
  • オンライン設定ファイルエディタでインスタンスを迅速に設定できます。YAMLを手動で管理する必要はありません。
  • ワンクリックでアップデートを適用可能。Stackheroがアップグレードプロセスを自動で管理し、ダウンタイムや手動作業を最小限に抑えます。
  • 専用のプライベートインフラストラクチャによる高いパフォーマンスと強固なセキュリティを実現しています。

約5分で導入完了。Stackheroがセットアップを担当するため、運用ではなく監視に集中できます。PrometheusクラウドホスティングをStackheroでぜひお試しください。監視・アラート運用を効率化します。

デフォルトでは、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を実行するとメトリクスのリストが返されるはずです。