Prometheus-各种exporter

一、 nginx-prometheus-exporter

1 nginx 配置

1.1 Nginx 模块支持

nginx 安装的时候需要有 nginx 的状态模块: stub_status

可通过如下命令检查

nginx -V 2>&1 | grep -o with-http_stub_status_module

1.2 Nginx 配置文件配置

添加如下配置到自己 nginx 的配置文件中

server {
   
    listen 9010;

    location /metrics {
   
        stub_status on;
        access_log   off;
        error_log off;
        allow 127.0.0.1;
        deny all;
    }
}

2 部署 nginx-prometheus-exporter

2.1 二进制方式部署

需要在每台 nginx 所在的服务器上部署一个 nginx-prometheus-exporter
github地址  https://github.com/nginxinc/nginx-prometheus-exporter

下载解压

curl -o nginx-prometheus-expoter.zip -L https://github.com/nginxinc/nginx-prometheus-exporter/archive/refs/heads/main.zip

unzip nginx-prometheus-expoter.zip

构建
需要有 go 环境。 部署 go 环境 请参考

之后运行如下相关命令进行构建

cd nginx-prometheus-exporter-main

CGO_ENABLED=0 GOOS=linux GOARCH=$TARGETARCH go build -trimpath -a -ldflags "-s -w -X main.version=${VERSION}" -o nginx-prometheus-exporter .

构建成功后,在当前目录下会有二进制可执行文件 nginx-prometheus-exporter

在这里插入图片描述

2.1.2 配置 systemd

nginx-exporter.service

[Unit]
Description=NGINX Prometheus Exporter
Requires=nginx_exporter.socket

[Service]
User=nginx_exporter
ExecStart=/usr/local/bin/nginx-prometheus-exporter -nginx.scrape-uri="http://127.0.0.1:8080/stub_status"

[Install]
WantedBy=multi-user.target

2.1.3 获取 Nginx 指标数据

可以通过如下方式获取到 Nginx的指标数据

nginx-prometheus-exporter -nginx.scrape-uri=http://:8080/metrics

其中<nginx>是IP地址/DNS名称,通过该名称可以使用nginx

也可以使用更快速的 UNIX 套接字
请运行:
nginx-prometheus-exporter -nginx.scrape-uri=unix::/metrics -web.listen-address=unix:/path/to/socket.sock

其中<nginx>是unix域套接字的路径,通过该套接字可以获得nginx运行状态。

2.1.4 添加 prometheus 的配置

  - job_name: "nginx"
    scrape_interval: 5s
    static_configs:
      - targets:
          - ":9113"
        labels:
          group: 'nginxs'

2.2 docker-c

你可能感兴趣的:(prometheus)