日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Zabbix监控Nginx性能状态

發(fā)布時間:2025/4/16 Nginx 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Zabbix监控Nginx性能状态 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Nginx在生產(chǎn)環(huán)境中的應(yīng)用越來越廣泛,所以需要對nginx的性能狀態(tài)做一些監(jiān)控,從而發(fā)現(xiàn)故障隱患,Ngnx的監(jiān)控指標(biāo)可分為:基本活動指標(biāo),錯誤指標(biāo),性能指標(biāo)

監(jiān)控Nginx思路:

1)首先,要想監(jiān)控Nginx,需要狀態(tài)模塊的支持,也就是-with-http_stub_status_module;隨后在nginx.conf配置開啟status狀態(tài)

2)通過awk取status的各個狀態(tài)數(shù)值

3)自定義模板將取值status的狀態(tài)寫成腳本,放在UserParmeter后面,最后通過zabbix_get測試·agent端是否得到狀態(tài)值

Accepts:接受的客戶端請求數(shù)

Active:當(dāng)前活躍的連接數(shù)

Handled:處理的請求數(shù)(正常服務(wù)器響應(yīng))

Requests:客戶端處理的請求出(吞吐量)

Reading:當(dāng)接收到的請求時,連接離開waiting狀態(tài),并且該請求本身使Reading狀態(tài)統(tǒng)計數(shù)增加,這種狀態(tài)下,nginx會讀取客戶端請求首部,請求首部是比較小的,因此這通常是一種快捷的操作

Writing:請求被讀取之后,使得Writing狀態(tài)計數(shù)增加,并保持在該狀態(tài),直到響應(yīng)返回給客戶端,這便意味著,該請求在writing狀態(tài)時,一方面NGINX

?

[root@nginx-web ~]# yum install -y pcre-devel openssl-devel popt-devel

[root@nginx-web ~]# tar zxvf nginx-1.11.2.tar.gz?

[root@nginx-web ~]# cd nginx-1.11.2

[root@nginx-web nginx-1.11.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

[root@nginx-web nginx-1.11.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@nginx-web nginx-1.11.2]# useradd -M -s /sbin/nologin nginx
[root@nginx-web nginx-1.11.2]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

[root@nginx-web nginx-1.11.2]# cd /usr/local/nginx/conf/
[root@nginx-web conf]# ls
fastcgi.conf fastcgi_params koi-utf mime.types nginx.conf scgi_params uwsgi_params win-utf
fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default
[root@nginx-web conf]# cp nginx.conf nginx.conf.bak
[root@nginx-web conf]# vim? nginx.conf

worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; location /status { stub_status on; access_log off; allow 192.168.2.0/24; allow 127.0.0.1; deny all; } } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }

【Zabbix-agent端配置】

[root@nginx-web zabbix_agentd.conf.d]# vim nginx_monitor.sh

NGINX_PORT=80 NGINX_COMMAND=$1 nginx_active(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/status/" |awk '/Active/ {print $NF}' } nginx_reading(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/status/" |awk '/Reading/ {print $2}' } nginx_writing(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/status/" |awk '/Writing/ {print $4}'} nginx_waiting(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/status/" |awk '/Waiting/ {print $6}'} nginx_accepts(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/status/" |awk 'NR==3 {print $1}'} nginx_handled(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/status/" |awk 'NR==3 {print $2}'} nginx_requests(){/usr/bin/curl -s "http://127.0.0.1:"$NGINX_PORT"/status/" |awk 'NR==3 {print $3}'}case $NGINX_COMMAND in active) nginx_active; ;; reading) nginx_reading; ;; writing) nginx_writing; ;; waiting) nginx_waiting; ;; accepts) nginx_accepts; ;; handled) nginx_handled; ;; requests) nginx_requests; ;;*) echo $"USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}"esac
[root@nginx-web zabbix_agentd.conf.d]# chmod +x nginx_monitor.sh?
root@nginx-web zabbix_agentd.conf.d]#vim /usr/local/zabbix/etc/zabbix_agentd.conf LogFile=/tmp/zabbix_agentd.log Server=192.168.2.148 ListenPort=10050 ServerActive=192.168.2.148 Hostname=192.168.2.146 UserParameter=status[*],/bin/bash /usr/local/zabbix/etc/zabbix_agentd.conf.d/nginx_monitor.sh "$1"

[測試]

在zabbix服務(wù)端測試一下能否獲取agent端的nginx狀態(tài)數(shù)值

[root@zabbix-server ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.2.146 -k status
USAGE:/usr/local/zabbix/etc/zabbix_agentd.conf.d/nginx_monitor.sh {active|reading|writing|waiting|accepts|handled|requests}
[root@zabbix-server ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.2.146 -k status[writing]
1

【創(chuàng)建監(jiān)控項】

根據(jù)zabbix-agent中的nginx_status.sh的參數(shù),總共要創(chuàng)建active、reading、writing、waiting、accepts、handled、requests這7項

目前為止,七個監(jiān)控項已添加完成了

[圖形創(chuàng)建]

?

轉(zhuǎn)載于:https://www.cnblogs.com/bixiaoyu/p/9169319.html

總結(jié)

以上是生活随笔為你收集整理的Zabbix监控Nginx性能状态的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。