Prometheus : Basic 認証と HTTPS を有効にする2025/09/26 |
|
Prometheus のエンドポイントアクセスに対して、Basic 認証と HTTPS を有効にします。 |
|
| [1] |
事前に SSL/TLS 証明書を取得 または
自己署名の証明書を作成しておきます。 |
| [2] | Prometheus の設定です。 |
|
root@dlp:~#
apt -y install apache2-utils # bcrypt hash でパスワード生成 # ユーザー名は任意の名称で OK root@dlp:~# htpasswd -nB admin New password: Re-type new password: admin:$2y$05$6fZn5Gp0JaJFxBUFVu3TFev3rHY8i2qC7IjAybL6VLeD..zbVgUqy
root@dlp:~#
cp /etc/ssl/private/{server.crt,server.key} /etc/prometheus/ root@dlp:~# chown prometheus:prometheus /etc/prometheus/{server.crt,server.key}
root@dlp:~#
vi /etc/prometheus/web.yml # 新規作成 # 自身の証明書を指定 tls_server_config: cert_file: server.crt key_file: server.key # 生成したユーザーとパスワードを指定 basic_auth_users: admin: $2y$05$6fZn5Gp0JaJFxBUFVu3TFev3rHY8i2qC7IjAybL6VLeD..zbVgUqy
root@dlp:~#
vi /etc/default/prometheus # 5行目 : 追記 ARGS="--web.config.file=/etc/prometheus/web.yml"
root@dlp:~#
vi /etc/prometheus/prometheus.yml
.....
.....
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
scrape_timeout: 5s
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
# 認証と証明書の設定を追記
scheme: https
tls_config:
cert_file: /etc/prometheus/server.crt
key_file: /etc/prometheus/server.key
# 自己署名の証明書の場合は [true]
insecure_skip_verify: true
basic_auth:
username: 'admin'
password: 'password'
static_configs:
# 正規の証明書の場合は証明書に登録のホスト名と合わせる
- targets: ["localhost:9090"]
root@dlp:~# systemctl restart prometheus
|
| [3] | Prometheus のエンドポイントへ Web アクセス (HTTPS) して、設定通り、認証できれば OK です。 |
|
|
| Sponsored Link |
|
|