搭建Zabbix分布式监控
1、實現zabbix監控nginx
實驗環境:
server1??? 172.25.1.1???????????????? server??????? ? redhat7
test1??????? 172.25.1.11??????????????? agent????????? redhat7
在“手動添加”主機的基礎上進行擴展
開啟服務:
[root@server ~]# systemctl start zabbix-server
[root@server ~]# systemctl enable zabbix-server
[root@server ~]# systemctl start mariadb
[root@server ~]# systemctl enable mariadb
[root@test1 ~]# /etc/init.d/zabbix-agent start
在agent端提前下載好nginx的rpm包,nginx-1.8.0-1.el6.ngx.x86_64.rpm
[root@test1 ~]# rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm?????????? ?? //也可以下載nginx源碼包,不過編譯的時候必須添加status模塊
注意:這里由于筆者的主機為企業6,所以安裝包為6版本
[root@test1 ~]# cd /etc/nginx/conf.d/
[root@test1 conf.d]# vim default.conf?????????????????????????????? //增加了一個status模塊
??? server {
??????? listen?????? 80;
??????? server_name? localhost;??????? #charset koi8-r;
??????? location / {
??????????? root?? html;
??????????? index? index.html index.htm;
??????? }??? location /nginx-status {
??????? stub_status on;
??????? access_log off;
??? }
[root@test1 ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@test1 ~]# nginx??????????????????? //啟動nginx服務
網頁進行nginx的狀態查看
為了安全考慮,我們可以設置黑白名單
??????? location /nginx-status {
??????????? stub_status on;
??????????? access_log off;
??????????? allow 172.25.1.11;??????????????????????????????????? //只允許本機使用,這里的ip也可以寫成127.0.0.1
??????????? deny all;?????????????????????????????????????????????????? //除本機外所有訪問拒絕
??????? }
重起nginx服務,此時其他主機不可對其狀態進行訪問
例如物理機:
本機172.25.1.11主機進行訪問:
[root@test1 ~]# curl 172.25.1.11/nginx-status
通過正則表達式取出狀態值
[root@test1 ~]# curl -s http://172.25.1.11/nginx-status | grep Active | awk '{print $3}'
[root@test1 ~]# cd /etc/zabbix/
[root@test1 zabbix]# ls
zabbix_agentd.conf? zabbix_agentd.d
[root@test1 zabbix]# cd zabbix_agentd.d/
[root@test1 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@test1 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
[root@test1 zabbix_agentd.d]# ls
userparameter_mysql.conf? userparameter_nginx.conf
[root@test1 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://172.25.1.11/ngimx-status | grep Active | awk '{print $3}'
[root@test1 zabbix_agentd.d]# /etc/init.d/zabbix-agent restart???????????????? //重啟服務
以相同的方式分別取出其他狀態并進行繪圖:
[root@test1 zabbix_agentd.d]# curl -s http://172.25.1.11/nginx-status | awk 'NR==3' | awk '{print $1}'???????????
27
[root@test1 zabbix_agentd.d]# curl -s http://172.25.1.11/nginx-status | awk 'NR==3' | awk '{print $2}'
28
[root@test1 zabbix_agentd.d]# curl -s http://172.25.1.11/nginx-status | awk 'NR==3' | awk '{print $3}'
32
[root@test1 zabbix_agentd.d]# vim userparameter_nginx.conf?????????????????? ? ?? //其中的? nginx.active等都是鍵值
UserParameter=nginx.active,curl -s http://172.25.1.11/nginx-status | grep Active | awk '{print $3}'
UserParameter=nginx1.active,curl -s http://172.25.1.11/nginx-status | awk 'NR==3' | awk '{print $1}'
UserParameter=nginx2.active,curl -s http://172.25.1.11/nginx-status | awk 'NR==3' | awk '{print $2}'
UserParameter=nginx3.active,curl -s http://172.25.1.11/nginx-status | awk 'NR==3' | awk '{print $3}'
[root@test1 zabbix_agentd.d]# /etc/init.d/zabbix-agent restart
[root@server1 zabbix_agentd.d]# cd
[root@server1 ~]# ls????????????? //提前可下載好這個rpm工具包
zabbix-get-3.4.6-1.el7.x86_64.rpm
[root@server1 ~]# rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm
[root@server1 ~]# zabbix_get -s 172.25.1.11 -p 10050 -k 'nginx.active' ?
1
[root@server1 ~]# zabbix_get -s 172.25.1.11 -p 10050 -k 'nginx1.active' ?
46
[root@server1 ~]# zabbix_get -s 172.25.1.11 -p 10050 -k 'nginx2.active' ?
47
[root@server1 ~]# zabbix_get -s 172.25.1.11 -p 10050 -k 'nginx3.active'
此時我們到zabbix網頁添加監控項
點擊“配置”——>主機
點擊test1的監控項,并點擊有上角的“添加監控”選項:
點擊右端的“創建監控項" ,填寫鍵值
,鍵值必須與userparameter_nginx.conf?文件中的鍵值相同——>填寫完點擊“添加”點擊圖形——>點擊有上角的“創建圖形”?? ,這里筆者寫的繪圖風格為“填滿的區域”
點擊“添加”添加nginx_status
點擊圖形右邊的“預覽”選項:????????????? 這里的繪圖風格為“填滿的區域”,讀者可自行改變風格
以這樣的添加監控的方式繼續添加剩下的三項:
點擊監控項進行添加:
最終添加完后的監控項共四項,結果如下:
繼續點擊圖形——>點擊下面的“添加”——>開始添加圖形:
點擊查看預覽就可以看到圖形啦。
我們可以繪出“填滿的區域”風格的圖:
也可以是“線”風格的:
實驗到此就結束啦!!!
另外補充:如果搭建完沒有看到線或者任何圖案,則說明你的主機可能是不可用的,這時你查看test1是否處于可用狀態,即“可用性“那一欄是否是綠色的,若不是,檢查服務是否并未啟動等。
總結
以上是生活随笔為你收集整理的搭建Zabbix分布式监控的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 介绍Zabbix的两种监控模式(主动模式
- 下一篇: zabbix部署onealert云警告平