實際需求:公司已經有了100臺服務器,如今須要使用zabbix所有監控起來。
先出個方案(規劃)
常規監控:cpu,內存,磁盤,網卡 問題:怎樣快速添加100臺機器 html
方法1:使用克隆的方式 python
方法2:自動註冊和自動發現 mysql
方法3:調用zabbix api接口 curl 、python nginx
開發本身的運維平臺兼容zabbix的通道 web
方法4:服務監控,url監控等特殊監控:自定義監控 sql
具體的實施步驟
全網監控技術要點分析 vim
考試目標:使用zabbix將期中架構全部集羣監控 api
具體內容: 服務器
1、硬件、系統、網絡監控 網絡
全部集羣節點(全部虛擬機)都監控上
交換機,路由器監控(簡單方法:換成端口對應服務器網卡流量監控;標準方法:監控交換機的網卡)
snmp監控
2、應用服務監控
監控備份服務器,簡單方法是監控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,]'
在鍵值中添加
後面步驟能夠參考監控端口的步驟