企業級分佈式監控zabbix實戰——使用zabbix監控平臺配置(Http,Nginx)等服務的監控項來監控被監控端的這些服務
1. 實現zabbix監控httpd服務
httpd是zabbix自帶的監控模塊
- 首先在server2上安裝apache,開啓服務
yum install httpd -y
systemctl start httpd
systemctl enable httpd
- 然後在web界面上進行設置
點擊配置–>主機(選擇server2)–>模板–>選擇模板
可以看到server2上已經添加了http服務
可以看到server2主機的觸發器多了一個httpd服務的觸發器,是端口的觸發器,zabbix是通過端口來檢測httpd服務的,這是最簡單的監測http服務的方法(僅查看80端口是否開啓)
2. 實現zabbix監控nginx服務
在監控主機server3上部署nginx服務。
下載安裝包並解壓,安裝依賴性軟件並編譯安裝,註釋掉debug日誌。
[root@server3 ~]# yum install gcc pcre-devel zlib-devel -y
[root@server3 ~]# tar zxf nginx-1.17.0.tar.gz
[root@server3 ~]# cd nginx-1.17.0/
[root@server3 nginx-1.17.0]# ./configure --help | grep stub --with-http_stub_status_module enable ngx_http_stub_status_module
[root@server3 nginx-1.17.0]# vim auto/cc/gcc #註釋debug行
[root@server3 nginx-1.17.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module編譯
[root@server3 nginx-1.17.0]# make && make install安裝
首先安裝編譯nginx時需要的插件
修改nginx配置文件,向nginx配置文件中添加用於網頁狀態的查看檢測的模塊,以及開啓nginx服務。
root@server3 nginx]# vim /usr/local/nginx/conf/nginx.conf
48 location /status {
49 stub_status on; #開啓該模塊
50 access_log off; #關閉日誌記錄
51 allow 127.0.0.1; #白名單 只允許本機訪問
52 deny all;
53 }
做一個軟鏈接方便更新,同時查看nginx的路徑,檢查配置文件是否正確。
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
[root@server3 nginx]# which nginx /usr/sbin/nginx
[root@server3 nginx]# nginx -t # 監測配置文件的語法
[root@server3 nginx]# nginx #開啓nginx服務
在server3本機curl 127.0.0.1/status來測試nginx服務是否部署成功
修改server3的配置文件/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf,創建nginx的監控項
在web界面添加nginx的監控
【選擇server3主機】監控項名稱自定義,鍵值必須和server3配置文件中的一致
創建圖形,將已經添加的監控項導入
查看監控圖形
可以看到雖然圖形界面出來了,但是中英文的轉換無法顯示出來
3. web界面字體的調整
[root@server1 ~]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ll
lrwxrwxrwx 1 root root 33 Aug 1 04:54 graphfont.ttf -> /etc/alternatives/zabbix-web-font
[root@server1 fonts]# ls
graphfont.ttf simkai.ttf
[root@server1 fonts]# cd ..
[root@server1 zabbix]# cd include/
[root@server1 include]# vim defines.inc.php
:%s/graphfont/simkai/g #將graphfont替換爲simkai
將graphfont字體全部替換成simkai字體(兩處)
刷新web頁面可以看到,simkai字體成功顯示
zabbix_get 是 zabbix 服務端的一個命令,用於檢測 agent 端的配置是否正確,可以很方便地知道 key 是否能正常獲取到數據
在測試自定義監控的時候特別有用
在server1下載軟件zabbix-get,來獲取server3的活躍連接數
編輯nginx的監控文件userparameter_nginx.conf,將要獲取的健值對加入
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept, curl -s http://localhost/status | awk NR==3 |awk '{print $1}'
UserParameter=nginx.request, curl -s http://localhost/status | awk NR==3 |awk '{print $3}'
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
在server1執行命令獲取接受的請求數以及回覆的請求數
[root@server1 include]# zabbix_get -s 172.25.60.3 -p 10050 -k "nginx.active" [root@server1 include]# zabbix_get -s 172.25.60.3 -p 10050 -k "nginx.accept" [root@server1 include]# zabbix_get -s 172.25.60.3 -p 10050 -k "nginx.request"
4. web界面添加新的監控項
選擇主機server3, 創建監控項
之前已經創建了nginx_active,再創建兩個監控項nginx_accept和nginx_request
將新建的監控項添加到原來的nginx_active的圖形中,將三個監控項放在同一個座標圖形裏面可以進行對比
添加成功
點擊更新之後查看圖形
正常線狀圖
餅狀圖
層積圖
爆發圖