
prometheus監(jiān)控應(yīng)用及設(shè)置告警規(guī)則配置方法
54頁1.prometheus監(jiān)控haproxy安裝haproxyyum install haproxy -y編輯haproxy配置文件vim /etc/haproxy/haproxy.cfgglobalmaxconn 100000chroot /usr/local/haproxyuid 99gid 99daemonnbproc 1pidfile /usr/local/haproxy/logs/haproxy.pidlog 127.0.0.1 local3 infodefaultsoption http-keep-alivemaxconn 100000mode httptimeout connect 5000mstimeout client 50000mstimeout server 50000mslisten stats #haproxy狀態(tài)頁面監(jiān)聽地址mode httpbind 0.0.0.0:8888frontend frontend_www_example_combind 10.0.0.150:88mode httpoption httploglog global default_backend backend_www_example_combackend backend_www_example_comoption forwardfor header X-REAL-IPoption httpchk HEAD / HTTP/1.0balance sourceserver web-node1 10.0.0.150:8080 check inter 2000 rise 30 fall 15根據(jù)haproxy配置文件中設(shè)置的haproxy根目錄地址創(chuàng)建haproxy根目錄mkdir -p /usr/local/haproxy啟動(dòng)haproxysystemctl start haproxy下載安裝haproxy_exporter地址cd /usr/local/src/rz haproxy_exporter-0.9.0.linux-386.tar.gztar xf haproxy_exporter-0.9.0.linux-386.tar.gzcd haproxy_exporter-0.9.0.linux-386把haproxy_exporter文件復(fù)制到/usr/bin目錄下cp haproxy_exporter /usr/bin啟動(dòng)haproxy_exporterhaproxy_exporter --haproxy.scrape-uri="http://10.0.0.150:8888/baz?stats;csv" --web.listen-address="10.0.0.150:9100" --haproxy.scrape-uri是haproxy狀態(tài)信息采集頁面地址端口號和配置文件狀態(tài)頁面監(jiān)聽端口號相同狀態(tài),--web.listen-address是haproxy服務(wù)監(jiān)聽地址在prometheus配置文件中配置監(jiān)控haproxy實(shí)例vi /etc/prometheus/prometheus.yml - job_name: haproxy #添加一個(gè)監(jiān)控job名稱 scrape_interval: 5s #監(jiān)控采集數(shù)據(jù)時(shí)間間隔 scrape_timeout: 5s #監(jiān)控采集數(shù)據(jù)超時(shí)時(shí)間 metrics_path: /metrics scheme: http static_configs: #監(jiān)控靜態(tài)目標(biāo)配置 - targets: - 10.0.0.150:9100 labels: #監(jiān)控靜態(tài)目標(biāo)標(biāo)簽 instance: haproxy:9100 重啟prometheussystemctl restart prometheus刷新prometheus的target頁面看到了prometheus監(jiān)控haproxy的目標(biāo)登錄grafana創(chuàng)建haproxy數(shù)據(jù)源選擇haproxy數(shù)據(jù)源導(dǎo)入haproxy監(jiān)控大屏模板,模板地址2.prometheus監(jiān)控nginx,參考下載nginx-module-vts模塊cd /usr/local/src/git clone 重新編譯nginx安裝指定nginx-module-vts模塊路徑cd /usr/local/src/nginx-1.16.1./configure --prefix=/usr/local/nginx-1.16.1/ --with-http_ssl_module --with-http_stub_status_module --add-module=/usr/local/src/nginx-module-vts/ --user=www --group=www 在nginx配置文件server標(biāo)簽中添加status狀態(tài)頁面,http標(biāo)簽中添加vhost_traffic_status_zonevim /usr/local/nginx/conf/nginx.confserver {location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; vhost_traffic_status_filter_by_set_key $uri uri::$server_name; #每個(gè)uri訪問量 vhost_traffic_status_filter_by_set_key $status $server_name; #http code統(tǒng)計(jì) vhost_traffic_status_filter_by_set_key $upstream_addr upstream::backend; #后端轉(zhuǎn)發(fā)統(tǒng)計(jì) vhost_traffic_status_filter_by_set $remote_port client::ports::$server_name; #請求端口統(tǒng)計(jì) vhost_traffic_status_filter_by_set_key $remote_addr client::addr::$server_name; #請求IP統(tǒng)計(jì)}}http { include mime.types; default_type application/octet-stream;vhost_traffic_status_zone;}啟動(dòng)nginx/usr/local/nginx/sbin/nginx打開瀏覽器輸入宿主機(jī)ip/status訪問nginx狀態(tài)頁面安裝nginx-exporter,下載地址cd /usr/local/src/rz nginx-vts-exporter-0.9.1.linux-amd64.tar.gztar xf nginx-vts-exporter-0.9.1.linux-amd64.tar.gzmv nginx-vts-exporter-0.9.1.linux-amd64 /usr/local/nginx-vts-exporter啟動(dòng)nginx-vts-exporter服務(wù),如果需要采集不同的nginx監(jiān)控信息,編寫不同收集的監(jiān)控信息的ip地址的nginx-vts-exporter服務(wù)名稱vim /usr/lib/systemd/system/nginx_vts_exporter_172.16.30.23.service[Unit]Description=prometheus_nginx_vtsAfter=network.target[Service]Type=simpleExecStart=/usr/local/nginx-vts-exporter/nginx-vts-exporter -nginx.scrape_uri=http://172.16.20.33/status/format/json -telemetry.address 172.16.2.56:9913# 如果有多個(gè)nginx監(jiān)控采集頁面需要收集,nginx.scrape_uri和telemetry.address都要不同Restart=on-failure[Install]WantedBy=multi-user.target# nginx.scrape_uri是nginx狀態(tài)服務(wù)采集信息頁面地址啟動(dòng)nginx_vts_exportersystemctl daemon-reloadsystemctl start nginx_vts_exporternetstat -ltunp | grep nginx-vtstcp6 0 0 :::9913 :::* LISTEN 104725/nginx-vts-ex修改prometheus配置文件添加nginx監(jiān)控節(jié)點(diǎn)- job_name: 'nginx' # 添加nginx監(jiān)控節(jié)點(diǎn)配置 static_configs: - targets: - '10.0.0.150:9913' #nginx監(jiān)控節(jié)點(diǎn)配置nginx_vts_exporter端口號為9913重啟prometheussystemctl restart prometheus刷新prometheus監(jiān)控target頁面看到nginx監(jiān)控節(jié)點(diǎn)登錄grafana添加nginx監(jiān)控?cái)?shù)據(jù)源導(dǎo)入grafana模板nginx監(jiān)控指標(biāo)說明n。
