您好,登錄后才能下訂單哦!
本次博文需基于zabbix的基本環境,可參考搭建zabbix
部署agent端詳細信息、下載軟件包可參考博文配置Zabbix監控之郵件報警、微信報警這里就不進行詳細解釋了!
[root@agent ~]# tar zxf zabbix-3.2.1.tar.gz && cd zabbix-3.2.1/
[root@agent zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install
[root@agent zabbix-3.2.1]# useradd zabbix
[root@agent zabbix-3.2.1]# cp /root/zabbix-3.2.1/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@agent zabbix-3.2.1]# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_agentd
[root@agent zabbix-3.2.1]# chmod +x /etc/init.d/zabbix_agentd
[root@agent zabbix-3.2.1]# cd /usr/local/zabbix/etc/
[root@agent etc]# sed -i '/PidFile=/s/^#//' zabbix_agentd.conf
[root@agent etc]# sed -i 's/Server=127.0.0.1/Server=192.168.1.10/g' zabbix_agentd.conf
[root@agent etc]# sed -i '/ListenPort=/s/^#//' zabbix_agentd.conf
[root@agent etc]# sed -i 's/ServerActive=127.0.0.1/ServerActive=192.168.1.10/g' zabbix_agentd.conf
[root@agent etc]# sed -i 's/Hostname=Zabbix server/Hostname=192.168.1.8/g' zabbix_agentd.conf
[root@agent etc]# echo -e "Timeout=15" >> zabbix_agentd.conf
[root@agent etc]# echo -e "Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/" >> zabbix_agentd.conf
[root@agent etc]# /etc/init.d/zabbix_agentd start
web界面配置如下:
需在agent進行安裝:
[root@agent ~]# tar zxf redis-4.0.14.tar.gz
[root@agent ~]# cd redis-4.0.14/
[root@agent redis-4.0.14]# make && make install
[root@agent redis-4.0.14]# cd utils/
[root@agent utils]# ./install_server.sh
如圖:
需在zabbix agent端進行配置,如下:
[root@zabbix ~]# cd /usr/local//zabbix/etc/zabbix_agentd.conf.d/
[root@zabbix zabbix_agentd.conf.d]# vim zbx_redis.conf
UserParameter=redis.status[*],/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 info|grep $1|grep -v _human|cut -d : -f2
UserParameter=redis.proc,pidof redis-server | wc -l
//對下載的配置文件進行修改并存放在指定的地方
[root@agent zabbix_agentd.conf.d]# /etc/init.d/zabbix_agentd restart
//重啟啟動zabbix agent服務
[root@zabbix ~]# zabbix_get -s 192.168.1.8 -p 10050 -k redis.status[used_memory:]
849472
//有數據返回表示沒有問題
如圖:
驗證成功!
監控Tomcat需要用到zabbix_java_gateway這個組件(在zabbix2.0引入的功能),顧名思義就是:Java網關,類似于agentd,但是只用于Java方面。需要注意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會提交到server端或proxy。
如果需要開啟監控Tomcat功能,在編譯zabbix server端時,需要添加--enable_java 參數;或者通過以下RPM的方式安裝。
zabbix_java_gateway程序既可以安裝在zabbix server端,也可以安裝在被監控端,也可單獨安裝,不過一般都是安裝在Zabbix server。那么本次案例就安裝在zabbix server端。
下載所需軟件
zabbix server(192.168.1.8)端的操作如下:
[root@zabbix ~]# rpm -ivh zabbix-java-gateway-3.2.1-1.el7.x86_64.rpm
[root@zabbix ~]# sed -i '/LISTEN_IP=/s/^#//' /etc/zabbix/zabbix_java_gateway.conf
[root@zabbix ~]# sed -i '/LISTEN_PORT=/s/^#//' /etc/zabbix/zabbix_java_gateway.conf
[root@zabbix ~]# systemctl start zabbix-java-gateway.service
[root@zabbix ~]# ss -lnt | grep 10052
LISTEN 0 50 :::10052 :::*
[root@zabbix ~]# sed -i 's/# JavaGateway=/JavaGateway=192.168.1.10/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix ~]# sed -i '/JavaGatewayPort/s/^#//' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix ~]# sed -i 's/# StartJavaPollers=0/StartJavaPollers=5/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix ~]# /etc/init.d/zabbix_server restart
[root@zabbix ~]# jconsole /確保這條命令可以使用,此命令是Java-gateway提供的。
tomcat測試機(192.168.1.8)的操作如下:
[root@tomcat ~]# java -version //確保java的環境
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
[root@tomcat ~]# tar zxf apache-tomcat-8.5.35.tar.gz
[root@tomcat ~]# mv apache-tomcat-8.5.35 /usr/local/tomcat
[root@tomcat ~]# sed -i '308a CATALINA_OPTS=" $CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.1.8 -Dcom.sun.management.jmxremote.authenticate=flase" ' /usr/local/tomcat/bin/catalina.sh
//必須保證內容插入到以下位置(兩個#號中)
# ----- Execute The Requested Command -----------------------------------------
CATALINA_OPTS=" $CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.1.8 -Dcom.sun.management.jmxremote.authenticate=flase"
# Bugzilla 37848: only output this if we have a TTY
//添加的內容中:IP為Tomcat本機的IP,端口“8888”可以自定義,不要沖突即可!
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh
[root@tomcat ~]# ss -lnt | grep 8080
LISTEN 0 100 :::8080 :::*
[root@tomcat ~]# ss -lnt | grep 8888
LISTEN 0 50 :::8888 :::*
可以看到已經監控到數據了!
tomcat監控完成!
[root@nginx ~]# tar zxf zabbix-3.2.1.tar.gz && cd zabbix-3.2.1/
[root@nginx zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install
[root@nginx zabbix-3.2.1]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@nginx zabbix-3.2.1]# useradd zabbix
[root@nginx zabbix-3.2.1]# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_agentd
[root@nginx zabbix-3.2.1]# chmod +x /etc/init.d/zabbix_agentd
[root@nginx zabbix-3.2.1]# cd /usr/local/zabbix/etc/
[root@nginx etc]# sed -i '/PidFile=/s/^#//' zabbix_agentd.conf
[root@nginx etc]# sed -i 's/Server=127.0.0.1/Server=192.168.1.10/g' zabbix_agentd.conf
[root@nginx etc]# sed -i '/ListenPort=/s/^#//' zabbix_agentd.conf
[root@nginx etc]# sed -i 's/ServerActive=127.0.0.1/ServerActive=192.168.1.10/g' zabbix_agentd.conf
[root@nginx etc]# sed -i 's/Hostname=Zabbix server/Hostname=192.168.1.7/g' zabbix_agentd.conf
[root@nginx etc]# echo -e "Timeout=15" >> zabbix_agentd.conf
[root@nginx etc]# echo -e "Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/" >> zabbix_agentd.conf
[root@nginx etc]# egrep -v '^$|^#' zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Server=192.168.1.10
ListenPort=10050
ServerActive=192.168.1.10
Hostname=192.168.1.7
Timeout=15
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
[root@nginx etc]# /etc/init.d/zabbix_agentd start
[root@nginx etc]# ss -lnt | grep 10050
[root@nginx ~]# yum -y install pcre-devel zlib-devel openssl-devel
[root@nginx ~]# wget http://nginx.org/download/nginx-1.14.0.tar.gz
[root@nginx ~]# tar zxf nginx-1.14.0.tar.gz
[root@nginx ~]# cd nginx-1.14.0/
[root@nginx nginx-1.14.0]# ./configure --with-http_stub_status_module && make && make install
[root@nginx nginx-1.14.0]# /usr/local/nginx/sbin/nginx
[root@nginx ~]# mkdir /usr/local/zabbix/scripts/
[root@nginx ~]# vim /usr/local/zabbix/scripts/nginx.sh
#!/bin/bash
case $1 in
index)
RS=`curl -s -I 192.168.1.7/index.html |head -n1 |awk '{print $2}'`
echo $RS
;;
WorkerProcesses)
RS=`ps aux |grep nginx | grep -w worker |wc -l`
echo $RS
;;
bps)
RS=`ab -q -n 1000 -c 1000 http://192.168.1.7/index.html |grep Request | awk '{print $4}'`
echo $RS
;;
Current)
LINES=`cat /usr/local/nginx/logs/access.log |wc -l`
sleep 1
NOW_LINES=`cat /usr/local/nginx/logs/access.log |wc -l`
echo $NOW_LINES $LINES | awk '{print $1 -$2}'
;;
IP)
RS=`cat /usr/local/nginx/logs/access.log | awk '{print $1}' |sort -u | wc -l`
echo $RS
;;
VirtualHost)
RS=`cat /usr/local/nginx/conf/nginx.conf |grep -v '#' | grep server_name | wc -l`
echo $RS
;;
MD5)
RS=`md5sum /usr/local/nginx/conf/nginx.conf |awk '{print $1}'`
echo $RS
;;
PV)
RS=`wc -l /usr/local/nginx/logs/access.log | awk '{print $1}'`
echo $RS
;;
esac
[root@nginx ~]# chmod +s /usr/bin/netstat
[root@nginx ~]# chmod +x /usr/local/zabbix/scripts/nginx.sh
[root@nginx ~]# cd /usr/local/zabbix/etc/
[root@nginx etc]# echo -e 'UnsafeUserParameters=1' >> zabbix_agentd.conf
[root@nginx etc]# echo -e 'UserParameter=nginx.info[*],/usr/local/zabbix/scripts/nginx.sh $1' >> zabbix_agentd.conf
[root@nginx etc]# echo -e 'UserParameter=nginx.ping[*],netstat -anput | grep -w 80 | grep -w LISTEN | wc -l' >> zabbix_agentd.conf
[root@nginx etc]# /etc/init.d/zabbix_agentd restart
[root@zabbix ~]# zabbix_get -s 192.168.1.7 -p 10050 -k nginx.info[index]
200
//有返回值則表示連接成功
檢測nginx是否存活
監控Nginx總訪問量
獨立IP數
Nginx主頁的狀態
Nginx當前并發數
根據MD5值來監控nginx配置文件是否被更改
nginx當前吞吐量bps
監控nginx工作進程的個數
監控nginx虛擬主機的個數
nginx服務意外停止工作觸發器
表達式編寫規范:
{Template App Nginx Service:nginx.ping.last(0)} = 0
Template App Nginx Service 模板名
nginx.ping 鍵名
last(0) 方法:表示當前的。。 last(1)表示上一個。。
創建Nginx主頁不可訪問的觸發器
創建Nginx配置文件被修改觸發器
[root@zabbix ~]# yum -y install httpd-tools
[root@zabbix ~]# ab -n 100 -c 100 http://192.168.1.7/index.html
//模擬并發
也可自定義圖表,如下:
監控nginx成功!
——————————————本文到此結束,感謝閱讀——————————————————
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。