zabbix 監控web和nginx

1.監控web

Zabbix的Web監測功能,沒有任何依賴,不需要agent端,全部依賴於Server的主動監測
利用Web監測,監測Server端的nginx首頁

點擊 web監測
zabbix 監控web和nginx
點擊右上角創建web場景
zabbix 監控web和nginx
客戶端的選擇比較只能,我們可以默認,它自動會選擇
zabbix 監控web和nginx
添加步驟
zabbix 監控web和nginx
名稱隨便寫,URL爲你要監控的ip ,要求驗證碼爲200(如果不是200就報警)
zabbix 監控web和nginx

查看一下
zabbix 監控web和nginx

2.監控nginx狀態
2.1 創建nginx監控status

在nginx的配置文件中,添加status配置
[root@ng-to-re ~]# vim /app/nginx/conf/nginx.conf
        location = /nginx-status {
            stub_status on;
            access_log  off;
            allow 127.0.0.1;
            allow 192.168.9.111;    #zabbix服務器地址一般是內網地址
            deny all;
           }

重啓
[root@ng-to-re ~]# systemctl restart nginx

在zabbix-server上測試連通性
[root@zabbix alertscripts]# curl 192.168.9.112/nginx-status
Active connections: 1 
server accepts handled requests
 2 2 2 
Reading: 0 Writing: 1 Waiting: 0

nginx status詳細說明如下:
Active connections:對後端發起的活動連接數;
accepts:nginx總共處理了多少個連接;
handled:nginx成功創建了幾次握手;
requests:nginx總共處理了多少請求。
Reading:nginx讀取客戶端的header數;
Writing:nginx返回給客戶端的header數;
Waiting:nginx請求處理完成,正在等待下一請求指令的連接

2.2 在agents端創建腳本和自定義配置文件

創建腳本:
[root@ng-to-re zabbix]# mkdir /etc/zabbix/scripts
[root@ng-to-re zabbix]# cd /etc/zabbix/scripts
[root@ng-to-re scripts]# vim nginx_status.sh 

#!/bin/bash
# Set Variables

HOST="127.0.0.1"
PORT="80"

#Functions to return nginx stats
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 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}'
}
function ping(){
    /sbin/pidof nginx | wc -l
}
# Run the requested function
$1

給執行權限和改雙主
[root@ng-to-re scripts]# chmod +x nginx_status.sh 
[root@ng-to-re scripts]# chown zabbix.zabbix nginx_status.sh

創建配置文件
[root@ng-to-re zabbix_agentd.d]# cat /etc/zabbix/zabbix_agentd.d/nginx_status.conf 
UserParameter=nginx.status[*],/etc/zabbix/scripts/nginx_status.sh $1

重啓agent客戶端
[root@ng-to-re zabbix_agentd.d]# systemctl restart zabbix-agent

在zabbix-server端測試拉取
[root@zabbix externalscripts]# zabbix_get -s 192.168.9.112 -k "nginx.status[reading]" -p 10050
0
[root@zabbix externalscripts]# zabbix_get -s 192.168.9.112 -k "nginx.status[writing]" -p 10050
1
[root@zabbix externalscripts]# curl 192.168.9.112/nginx-status
Active connections: 1 
server accepts handled requests
 41 41 41 
Reading: 0 Writing: 1 Waiting: 0

2.3在zabbix-server上添加nginx-status模板,模板可以導入也可以自己一條條添加做成模板,我們先用已經一條條做完的模板,導入進來
點擊模板---導入模板
zabbix 監控web和nginx
導入進來了名字叫 Template App NGINX
zabbix 監控web和nginx
導進來的模板我們把它應用在ng-to-re服務器上,選擇ng主機---模板--鏈接指示器中找到 Template App NGINX 並添加進來,更新
zabbix 監控web和nginx
導入進來的模板只有ping的觸發器我們加一個writing的觸發器 模板--選擇Template App NGINX---觸發器
zabbix 監控web和nginx
創建觸發器---點擊添加
zabbix 監控web和nginx
zabbix 監控web和nginx
點擊--表達式構造器,點擊嚴重性
zabbix 監控web和nginx
添加圖形
zabbix 監控web和nginx
選擇主機和圖形進行查看我們剛剛弄得圖形
zabbix 監控web和nginx

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