Prometheus监控之basic_auth加密配置

时间:2022-11-24 15:03:26

一、简介

平常使用prometheus都是没有加密的安全措施的,有一些节点直接暴漏在公网上了,不安全。现在使用basic_auth加密,可以加个密码,安全一些。

仅仅是登录的时候需要输入账号免密

二、配置

1、生成basic_auth秘钥

#安装工具包
yum install -y httpd-tools
#生成加密密码
htpasswd -nBC 12 '' | tr -d ':\n'
New password: # 这里设置密码为123456,实际使用请按照自己的集群需求定义密码
Re-type new password:
#生成的密码信息
$2y$12$mMnPuKlOQ97ff4NjDsQTMukAtRS/ILpjxjEQrCN0vefs0CBLe/hi6

2、prometheus添加配置文件

vi /usr/local/prometheus/config.yml
basic_auth_users:
# 当前设置的用户名为admin, 可以设置多个
admin: $2y$12$mMnPuKlOQ97ff4NjDsQTMukAtRS/ILpjxjEQrCN0vefs0CBLe/hi6

3、修改prometheus.yml配置文件

scrape_configs:
- job_name: 'prometheus'
basic_auth:
username: admin
password: 123456
static_configs:
- targets: ["192.168.10.131:9090"] #由localhost改成具体ip,此处影响prometheus的metrics

4、启动

prometheus配置项:
--web.config.file="" [EXPERIMENTAL] Path to configuration file that can enable TLS or authentication.

/usr/local/prometheus/prometheus \
--config.file=/usr/local/prometheus/prometheus.yml \
--web.config.file=/usr/local/prometheus/config.yml \
--storage.tsdb.path="/usr/local/prometheus/data" \
--storage.tsdb.retention=15d \
--web.console.templates="/usr/local/prometheus/consoles" \
--web.console.libraries="/usr/local/prometheus/console_libraries" \
--web.max-connections=512 \
--web.external-url "http://192.168.10.131:9090" \
--web.listen-address=192.168.10.131:9090 &>/usr/local/prometheus/prometheus.log &