一、简介
平常使用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 &