Prometheus: 為 Prometheus Node Exporter 添加身份驗證
此文件屬於從 Linux 獲取指標指南的一部分。請在此處查看完整指南:如何使用 Node Exporter 在 Prometheus 中獲取 Linux 伺服器指標。
👋 歡迎瀏覽 Stackhero 文件!
Stackhero 提供一個全託管的 Prometheus cloud 平台,專為高可靠性和簡易操作而設:
- 內建
Alert Manager,讓您可以直接將警報發送到Slack、Mattermost、PagerDuty及其他主流平台。- 專屬電郵伺服器,讓您無需額外設定即可發送無限量電郵警報。
- 包含
Blackbox,可針對HTTP、ICMP、TCP及其他協議進行全面監控探測。- 使用線上設定檔編輯器,快速配置您的實例,無需手動處理 YAML。
- 一鍵升級,Stackhero 會為您處理整個升級流程,減少停機時間及人手干預。
- 高效能及強大安全性,皆因您擁有專屬的私有基礎設施。
大約 5 分鐘即可完成部署。Stackhero 會處理所有設定,讓您專注於監控,而非維護。立即試用 Stackhero 的 Prometheus cloud hosting,簡化您的監控及警報流程。
默認情況下,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 時您將需要它。
添加用戶並重啟 Node Exporter
將以下行附加到配置文件中,以添加一個名為 "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應返回指標列表。