Zabbix分佈式監控(三)——Zabbix監控Httpd和Nginx

此實驗基於上一篇,已經監控了server2和server3.

在這裏插入圖片描述

一、zabbix監控httpd服務

httpd是zabbix自帶的監控模塊

1、 在server2上安裝apache,開啓服務

[root@server2 zabbix]# yum install httpd -y
[root@server2 zabbix]# systemctl start httpd
[root@server2 zabbix]# systemctl enable httpd

在這裏插入圖片描述在這裏插入圖片描述

2、然後在web界面上進行設置:
配置 —>主機 —> server2 —> 模板 —>選擇 —> Template App HTTP Service—> 添加 —>更新

在這裏插入圖片描述
在這裏插入圖片描述點擊server2的監控項可以看到http服務正在運行

在這裏插入圖片描述
可以看到server2主機的觸發器多了一個httpd服務的觸發器,是端口的觸發器,zabbix是通過端口來檢測httpd服務的

在這裏插入圖片描述

二、zabbix監控nginx

1、在監控主機server3上部署nginx服務,下載安裝包並解壓,安裝依賴性軟件並編譯安裝,註釋掉debug日誌。

root@server3 ~]# yum install gcc pcre-devel zlib-devel -y
[root@server3 ~]# tar zxf nginx-1.17.4.tar.gz
[root@server3 ~]# cd nginx-1.17.4
[root@server3 nginx-1.17.4]# ./configure --help | grep stub
  --with-http_stub_status_module     enable ngx_http_stub_status_module
[root@server3 nginx-1.17.4]# vim auto/cc/gcc 
[root@server3 nginx-1.17.4]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@server3 nginx-1.17.4]# make && make install

在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
2、修改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         }

在這裏插入圖片描述

在這裏插入圖片描述

[root@server3 nginx-1.17.4]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
[root@server3 nginx-1.17.4]# nginx -t
[root@server3 nginx-1.17.4]# nginx

在這裏插入圖片描述

3、在server3本機curl 127.0.0.1/status來測試nginx服務是否部署成功

Active connections 活躍的連接數
accepts 接收到的請求數(不一定回覆)
handled 確定建立三次握手的請求數
requests 處理的請求數

在這裏插入圖片描述

curl -s http://localhost/status | grep Active | awk '{print $3}'

在這裏插入圖片描述

4、修改server3的配置文件/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf,創建nginx的監控項

[root@server3 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf    #將mysql服務的監控模版給nginx服務複製一份
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf     #編輯配置文件
UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'     #獲取活躍連接數,nginx.active爲健值,獲得的連接數爲value值
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent   #修改完成重啓服務。

在這裏插入圖片描述
5、在web界面,server3添加nginx的監控

【選擇server3主機】——>【創建監控項】

在這裏插入圖片描述

監控項名稱可自定義,健值必須和server3配置文件中的一致

在這裏插入圖片描述
此時,在監控項可以看到所添加的。

在這裏插入圖片描述
在這裏插入圖片描述
創建圖形,將已經添加的監控項導入

在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
此時,我們查看監控圖形

在這裏插入圖片描述

此時,我們會發現亂碼情況。

在這裏插入圖片描述

web界面字體的調整

[root@server1 ~]# cd /usr/share/zabbix/fonts/
[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

在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

此時,刷新web頁面,就發現沒有亂碼了。

在這裏插入圖片描述
在這裏插入圖片描述
zabbix_get 是 zabbix 服務端的一個命令,用於檢測 agent 端的配置是否正確,可以很方便地知道 key 是否能正常獲取到數據,在測試自定義監控的時候特別有用

在server1下載軟件zabbix-get,來獲取server3的活躍連接數

[root@server1 include]# yum install zabbix-get -y
[root@server1 include]# zabbix_get -s 172.25.2.3 -p 10050 -k "nginx.active"

在這裏插入圖片描述

添加新的監控項nginx.accept

編輯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}'
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent

在這裏插入圖片描述
創建監控項

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述
將新建的監控項添加到原來的nginx_active的圖形中,將三個監控項放在同一個座標圖形裏面可以對比

在這裏插入圖片描述
添加成功,點擊更新之後查看圖形

在這裏插入圖片描述

爲了圖形界面的效果顯示的更加明顯,我們通過server3自己進行壓力測試,自己訪問自己在這裏插入圖片描述

我們同樣過程,再添加一項:

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

三、不同類型的圖片切換

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

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