概要
タイトルの通りです
web.yml に認証情報を記載して Prometheus を起動させるだけです
今回は docker コンテナで Promethues は動作させます
環境
- Ubuntu 18.04
- docker 20.10.7
- Python 3.10.2
- bcrypt 4.0.1
bcrypt パスワードの生成
ベーシック認証用のパスワードは bcrypt で暗号化された文字列が必要です
公式にもありますが bcrypt は Python のライブラリを使って生成しました
- pip install bcrypt
-
python -c 'import bcrypt; hashed_password=bcrypt.hashpw("passw0rd!".encode("utf-8"), bcrypt.gensalt()); print(hashed_password)'
上記の平文パスワードの部分を適宜変更すれば OK です
web.yml の作成
パスワード情報は web.yml に記載します
- vim web.yml
basic_auth_users:
admin: $2b$12$BB48JzIK5bfRo44g4GOAPe3/q6sTaLW3pbvugPlUZVuYg8LOW4sOK
起動する
作成した web.yml を使って起動します
web.yml を指定するオプションは web.config.file です
-
docker run -d -p 9090:9090 -v $(pwd):/prometheus-data prom/prometheus --config.file=/prometheus-data/prometheus.yml --web.config.file=/prometheus-data/web.yml
prometheus.yml は必須なので適当にこちらから作成してください (ノードエクスポータなどの内容は仮で大丈夫です)
動作確認
localhost:9090 にアクセスするとブラウザのベーシック認証が発動するのが確認できると思います
API をコールするときもベーシック認証が必要になっていることを CLI で確認しましょう
-
curl --head -u admin http://localhost:9090/graph
最後に
今回は紹介しませんが Alertmanager でも同じ歩法でベーシック認証を付与することができます
0 件のコメント:
コメントを投稿