https://www.361way.com/k8s-monitor-nginx-custom-metric/6694.html

K8S中一般使用Prometheus进行指标数据的监控,而对于custom metrics自定义指标,需要满足Prometheus可以识别的格式发送。这时候一般需要写exporter来搞定自定义数据,然后上报。本篇结合nginx示例来配置下自定义指标监控。

为了省于前期复制的k8s配置和Prometheus的集成,这里选用了华为的云容器引擎CCE,创建完CCE,把metrics-server和prometheus两个插件勾选上就可以了,会自动安装上grafana和prometheus-adapter(将自定义指标通过API上报Prometheus)。

这里出于测试目的,使用的nginx(stub_status开启内部访问)和nginx_exporter(将stub_status数据转换),如果需要采集更多指标,可以使用nginx_vts替代nginx_exporter。

编辑nginx.conf配置文件,开启stub_status功能,配置文件内容如下:

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;
    include /etc/nginx/conf.d/*.conf;

    server {
      listen 8080;
      server_name  localhost;
      location /stub_status {
         stub_status on;
         access_log off;
      }
    }
}
作者:Jeebiz  创建时间:2023-02-18 23:43
最后编辑:Jeebiz  更新时间:2024-08-02 14:28