Advertisement

y82.第四章 Prometheus大厂监控体系及实战 -- 监控扩展和prometheus 联邦(十三)

阅读量:

10.5 监控nginx

通过prometheus监控nginx

复制代码
    需要在编译的时候添加nginx-module-vts模块
    
    github地址:https://github.com/vozlt/nginx-module-vts
    
    
      
      
      
    
    AI助手

10.5.1 编译安装nginx

复制代码
    root@node2:~# cd /usr/local/src/
    root@node2:/usr/local/src# git clone git://github.com/vozlt/nginx-module-vts.git
    
    root@node2:/usr/local/src# wget http://nginx.org/download/nginx-1.22.0.tar.gz
    root@node2:/usr/local/src# tar xf nginx-1.22.0.tar.gz 
    root@node2:/usr/local/src# cd nginx-1.22.0/
    
    root@node2:/usr/local/src# apt -y install make gcc libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev
    
    root@node2:/usr/local/src# ./configure --prefix=/apps/nginx \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_realip_module \
    --with-http_stub_status_module \
    --with-http_gzip_static_module \
    --with-pcre \
    --with-file-aio \
    --with-stream \
    --with-stream_ssl_module \
    --with-stream_realip_module \
    --add-module=/usr/local/src/nginx-module-vts/
    
    root@node2:/usr/local/src/nginx-1.22.0# make && make install
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

10.5.2 编辑nginx配置文件

复制代码
    root@node2:/usr/local/src# /apps/nginx/conf/nginx.conf
    http {
    ...
    vhost_traffic_status_zone;
    
    server {
    ...
        location /status {
            vhost_traffic_status_display;
            vhost_traffic_status_display_format html;   
        }
    ...
    }
    }
    
    root@node2:/usr/local/src/nginx-1.22.0# /apps/nginx/sbin/nginx -t
    nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /apps/nginx/conf/nginx.conf test is successful
    
    root@node2:/usr/local/src/nginx-1.22.0# /apps/nginx/sbin/nginx
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

http://172.31.2.182/status

在这里插入图片描述

10.5.3 安装nginx_exporter

复制代码
    root@node2:~# wget https://github.com/hnlq715/nginx-vts-exporter/releases/download/v0.10.3/nginx-vts-exporter-0.10.3.linux-amd64.tar.gz
    
    root@node2:~# tar xf nginx-vts-exporter-0.10.3.linux-amd64.tar.gz 
    
    root@node2:~# cd nginx-vts-exporter-0.10.3.linux-amd64/
    root@node2:~/nginx-vts-exporter-0.10.3.linux-amd64# ls
    LICENSE  nginx-vts-exporter
    root@node2:~/nginx-vts-exporter-0.10.3.linux-amd64# cp nginx-vts-exporter /usr/local/src/
    
    root@node2:~/nginx-vts-exporter-0.10.3.linux-amd64# ./nginx-vts-exporter -nginx.scrape_uri http://172.31.2.182/status/format/json
    
    
      
      
      
      
      
      
      
      
      
      
    
    AI助手

10.5.4 验证nginx_exporter数据

http://172.31.2.182:9913/metrics

在这里插入图片描述

10.5.5 prometheus配置

复制代码
    root@prometheus1:/apps/prometheus# vim prometheus.yml 
    ...
      - job_name: 'nginx-monitor-metrics'
    static_configs:
    - targets: ['172.31.2.182:9913']  
    
    root@prometheus1:/apps/prometheus# systemctl restart prometheus
    
    
      
      
      
      
      
      
      
    
    AI助手
在这里插入图片描述

10.5.6 导入模板

https://grafana.com/grafana/dashboards/2949

在这里插入图片描述

11.prometheus 联邦

prometheus server环境:

复制代码
31.2.101 #主节点
    
    172.31.2.102 #联邦节点1
    172.31.2.103 #联邦节点2
    
    172.31.2.181 #node1,成员1的采集服务器
    172.31.2.182 #node2,成员2的采集服务器
    
    
      
      
      
      
      
      
      
    
    AI助手

11.1 部署node_exporter

node节点(被监控节点)分别部署node_exporter

复制代码
    # mkdir /apps
    # cd /apps/
    
    # wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
    
    # tar xf node_exporter-1.3.1.linux-amd64.tar.gz
    # ln -sv /apps/node_exporter-1.3.1.linux-amd64 /apps/node_exporter
    
    # vim /etc/systemd/system/node-exporter.service
    [Unit]
    Description=Prometheus Node Exporter
    After=network.target
    
    [Service]
    ExecStart=/apps/node_exporter/node_exporter
    
    [Install]
    WantedBy=multi-user.target
    
    # systemctl enable --now node-exporter.service
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

11.2 部署prometheus server

prometheus 主server和prometheus 联邦server分别部署prometheus

复制代码
    # mkdir /apps
    # cd /apps/
    
    # wget https://github.com/prometheus/prometheus/releases/download/v2.35.0/prometheus-2.35.0.linux-amd64.tar.gz
    
    # tar xf prometheus-2.35.0.linux-amd64.tar.gz
    
    # ln -sv /apps/prometheus-2.35.0.linux-amd64/ /apps/prometheus
    
    # vim /etc/systemd/system/prometheus.service
    [Unit]
    Description=Prometheus Server
    Documentation=https://prometheus.io/docs/introduction/overview/
    After=network.target
    
    [Service]
    Restart=on-failure
    WorkingDirectory=/apps/prometheus/
    ExecStart=/apps/prometheus/prometheus --config.file=/apps/prometheus/prometheus.yml
    
    [Install]
    WantedBy=multi-user.target
    
    # systemctl enable --now prometheus
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

11.3 配置联邦server监控node_exporter

分别在联邦节点1监控node1,在联邦节点2监控node2

复制代码
    #prometheus联邦节点1:
    root@prometheus2:/apps/prometheus# vim prometheus.yml 
    ...
      - job_name: "prometheus-node1"
    static_configs:
      - targets: ["172.31.2.181:9100"] 
    
    root@prometheus2:/apps/prometheus# systemctl restart prometheus.service
    
    
      
      
      
      
      
      
      
      
    
    AI助手

验证数据:

在这里插入图片描述
复制代码
    #prometheus联邦节点2:
    root@prometheus3:/apps/prometheus# vim prometheus.yml 
    ...
      - job_name: "prometheus-node2"
    static_configs:
      - targets: ["172.31.2.182:9100"] 
    
    root@prometheus3:/apps/prometheus# systemctl restart prometheus.service
    
    
      
      
      
      
      
      
      
      
    
    AI助手

验证数据:

在这里插入图片描述

11.4 prometheus server采集联邦server

复制代码
    root@prometheus1:/apps/prometheus# vim prometheus.yml 
    ...
      - job_name: 'prometheus-federate-2.102'
    scrape_interval: 10s
    honor_labels: true
    metrics_path: '/federate'
    params:
      'match[]':
       - '{job="prometheus"}'
       - '{__name__=~"job:.*"}'
       - '{__name__=~"node.*"}'
    static_configs:
    - targets:
      - '172.31.2.102:9090'
    
      - job_name: 'prometheus-federate-2.103'
    scrape_interval: 10s
    honor_labels: true
    metrics_path: '/federate'
    params:
      'match[]':
       - '{job="prometheus"}'
       - '{__name__=~"job:.*"}'
       - '{__name__=~"node.*"}'
    static_configs:
    - targets:
      - '172.31.2.103:9090'
    
    root@prometheus1:/apps/prometheus# systemctl restart prometheus.service 
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    AI助手

11.5 验证prometheus server

11.5.1 验证数据收集状态

在这里插入图片描述

11.5.2 验证指标数据

在这里插入图片描述

11.6 导入模板

8919:

在这里插入图片描述
复制代码
    root@prometheus2:/apps/prometheus# vim file_sd_config/k8s.json
    [
      {                                                                                                                                            
    "targets": ["172.31.7.111:39100","172.31.7.112:39100","172.31.7.113:39100","172.31.7.101:39100","172.31.7.102:39100","172.31.7.103:39100"]
      }
    ]
    
    
      
      
      
      
      
      
    
    AI助手
在这里插入图片描述
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~