node-exporter https认证
官网: https://github.com/prometheus/prometheus
Prometheus 各模块下载: https://prometheus.io/download/
Prometheus下载地址: https://github.com/prometheus/prometheus/releases/tag/v2.28.0
摸版下载: https://github.com/starsliao/Prometheus/tree/master/node_exporter
node_exporter官网: https://github.com/prometheus/node_exporter
Grafana安装下载地址: https://grafana.com/docs/grafana/latest/installation/
Grafana各系统安装下载: https://grafana.com/docs/grafana/latest/installation/
v1.0.0 版本以下不支持 Basic Auth ,所以需要下载 v.1.0.0 以上
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
添加 Basic Auth
1、为 Node Exporter 配置密码
[root@localhost node_exporter]# yum install httpd-tools -y
[root@localhost node_exporter]# htpasswd -nBC 12 '' |tr -d ':\n'
New password: # 我这里设置密码: Ye5zHuxUQANGj6Bczq
Re-type new password:
$2y$12$v0NACvxbfJ/3KeyhQOSyjOkdLOXh26qBQEo5VqqTlAvwSDUVcO9yS
# 把生成的秘钥放到 node.yaml
[root@localhost node_exporter]# cat > node.yaml <<EOF
basic_auth_users:
# 当前设置的用户名为 prometheus , 可以设置多个
prometheus: $2y$12$v0NACvxbfJ/3KeyhQOSyjOkdLOXh26qBQEo5VqqTlAvwSDUVcO9yS
<<EOF
2、启动测试是否有 Basic Auth 认证
./node_exporter --web.config=config.yaml
3、配置 Prometheus 使用 Basic Auth
scrape_configs:
- job_name: 'node_exporter'
basic_auth:
username: prometheus
password: Ye5zHuxUQANGj6Bczq
static_configs:
- targets: ['localhost:9100']
# 重新加载配置文件
killall -HUP prometheus
Node Exporter 使用 TLS
1、生产证书文件
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout node_exporter.key -out node_exporter.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=Beijing/CN=localhost"
# ls
node_exporter.crt node_exporter.key
2、编写 node.yaml 配置文件
tls_server_config:
cert_file: node_exporter.crt
key_file: node_exporter.key
3、启动测试是否有证书
./node_exporter --web.config=config.yaml
4、配置 Prometheus 使用 TLS
scrape_configs:
- job_name: 'node_exporter'
scheme: https
tls_config:
ca_file: node_exporter.crt
static_configs:
- targets: ['localhost:9100']
Basic Auth + TLS
node_exporter 配置文件
tls_server_config:
cert_file: node_exporter.crt
key_file: node_exporter.key
basic_auth_users:
# 当前设置的用户名为 prometheus , 可以设置多个
prometheus: $2y$12$v0NACvxbfJ/3KeyhQOSyjOkdLOXh26qBQEo5VqqTlAvwSDUVcO9yS
prometheus 配置文件
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node_exporter'
scheme: https
tls_config:
ca_file: node_exporter.crt
basic_auth:
username: prometheus
password: Ye5zHuxUQANGj6Bczq
static_configs:
- targets: ['localhost:9100']
Last updated