實際需求:公司已經有了100台服務器,現在需要使用zabbix全部監控起來。
先出個方案(規划)
常規監控:cpu,內存,磁盤,網卡 問題:怎樣快速添加100台機器
方法1:使用克隆的方式
方法2:自動注冊和自動發現
方法3:調用zabbix api接口 curl 、python
開發自己的運維平台兼容zabbix的通道
方法4:服務監控,url監控等特殊監控:自定義監控
具體的實施步驟
全網監控技術要點分析
考試目標:使用zabbix將期中架構所有集群監控
具體內容:
一、硬件、系統、網絡監控
所有集群節點(所有虛擬機)都監控上
交換機,路由器監控(簡單方法:換成端口對應服務器網卡流量監控;標准方法:監控交換機的網卡)
snmp監控
二、應用服務監控
監控備份服務器,簡單方法是監控rsync端口,如果有其他更佳方案可以說明;
方法1:監控873端口net.tcp.port[,873]
方法2:模擬推送拉取文件
監控NFS服務器,使用監控NFS進程來判斷NFS服務器正常,如果有其他更佳方案可以說明;
方法1:端口(通過111的rpc端口獲取nfs端口) net.tcp.port[,111]
方法2:showmount -e ip|wc -l
監控MySQL服務器,簡單方法監控mysql的3306端口,或者使用zabbix提供的Mysql模板,如果有其他更佳方案可以說明;
方法1:端口(通過3306的mysql端口) net.tcp.port[,3306]
方法2:mysql遠程登錄
方法3:使用zabbix agent自帶的模板及key
監控2台web服務器,簡單方法監控80端口,如果有其他更佳方案可以說明;
方法1:端口(通過80的web端口) net.tcp.port[,80]
方法2:看網頁狀態碼、返回內容==zabbix 自帶WEB檢測
監控URL地址來更精確的監控我們的網站運行正常;
監控反向代理服務器,PPTP服務器等你在期中架構部署的服務。nginx,pptp ntp 端口udp 123
監控Nginx的7種連接狀態。
在web下操作查看nginx狀態信息
-
location /status { 查看Nginx的一些狀態信息
-
stub_status on;
-
access_log off;
-
}
在zabbix-agent配置文件中添加key
-
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx_status.conf
-
UserParameter=nginx_active,curl -s 127.0.0.1/status|awk '/Active/ {print $NF}'
-
UserParameter=nginx_accepts,curl -s 127.0.0.1/status|awk 'NR==3 {print $1}'
-
UserParameter=nginx_handled,curl -s 127.0.0.1/status|awk 'NR==3 {print $2}'
-
UserParameter=nginx_requests,curl -s 127.0.0.1/status|awk 'NR==3 {print $3}'
-
UserParameter=nginx_reading,curl -s 127.0.0.1/status|awk 'NR==4 {print $2}'
-
UserParameter=nginx_writing,curl -s 127.0.0.1/status|awk 'NR==4 {print $4}'
-
UserParameter=nginx_waiting,curl -s 127.0.0.1/status|awk 'NR==4 {print $6}'
用awk 取這7種狀態
在zabbix-server web界面操作
創建模板
設置模板名
創建應用集
創建監控項
七個監控項挨個添加
創建監控項圖形
創建聚合圖形
聚合圖形完成
端口,進程,url監控zabbix自帶
監控web、url
創建一個網頁
echo ok >>/usr/share/nginx/html/check.html
創建web場景
創建名稱
創建步驟
更新設置
查看監控情況
端口監控
創建應用集
創建監控項
添加鍵值
點擊更新
創建觸發器
創建圖形
查看圖形
監控進程
-
zabbix_get -s 172.16.1.61 -p 10050 -k 'proc.num[httpd,]'
在鍵值中添加
后面步驟可以參考監控端口的步驟