Zabbix系列之四:Nginx併發監控

安裝nginx

    首先需要下載nginx安裝tar包,地址爲:http://nginx.org/download/,並將其上傳至機器,對其進行解壓

> tar -zxvf nginx-1.2.6.tar.gz

> yum -y install pcre pcre-devel zlib zlib-devel

創建nginx用戶:#useradd -s /sbin/nologin -M nginx

開始安裝:

#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module

#make && make install

測試是否安裝成功:

echo "hadoop" >>/usr/local/nginx/html/index.html

/usr/local/nginx/sbin/nginx

curl localhost

修改vi /usr/local/nginx/conf/nginx.conf配置文件

檢測語法是否正常:/usr/local/nginx/sbin/nginx -t
重載:kill -HUP $(cat /usr/local/nginx/logs/nginx.pid)

從上圖可以看到連接數

 

編寫shell腳本:

#!/bin/bash

HOST="127.0.0.1"
PORT="80"

#nginx if not exeit
function ping {
  /sbin/pidof nginx |wc -l
}

#nginx  performance
function active {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status/" 2>/dev/null|grep 'Active' |awk '{print $NF}'
}
function reading {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status/" 2>/dev/null|grep 'Reading' |awk '{print $2}'
}
function writing {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status/" 2>/dev/null|grep 'Writing' |awk '{print $4}'
}
function waiting {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status/" 2>/dev/null|grep 'Waiting' |awk '{print $6}'
}
function accepts {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status/" 2>/dev/null|awk NR==3 |awk '{print $1}'
}
function handled {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status/" 2>/dev/null|awk NR==3 |awk '{print $2}'
}
function requests {
  /usr/bin/curl "http://$HOST:$PORT/nginx-status/" 2>/dev/null|awk NR==3 |awk '{print $3}'
}

$1

賦予執行權限:chmod a+x nginx-status.sh

 

在客戶端添加自定義腳本規則

mv nginx-status.sh /etc/zabbix/zabbix_agentd.d

vi /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1    #表示開啓自定義腳本

UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx-status.sh $

systemctl restart zabbix-agent

再其他某一機器(192.168.1.173)執行命令:while 2>1;do curl 192.168.1.172;done

 

在服務端使用zabbix-get測試腳本獲取數據情況

在192.168.1.171機器上安裝zabbix-get:yum -y install zabbix_get

zabbix_get -s 192.168.1.172 -k 'nginx.status[requests]'   #192.168.1.171機器執行

 

開始配置zabbix頁面:

查看是否導入成功

將之前的172主機刪除,重新創建主機,添加nginx模板,

 

至此,nginx併發監控已完成。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章