zabbix監(jiān)控redis、tomcat、Nginx-創(chuàng)新互聯(lián)

本次博文需基于zabbix的基本環(huán)境,可參考搭建zabbix

創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都網站制作、網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元巴州做網站,已為上家服務,為巴州各地企業(yè)和個人服務,聯(lián)系電話:18982081108

一、配置zabbix監(jiān)控redis

(1)部署zabbix agent端

部署agent端詳細信息、下載軟件包可參考博文配置Zabbix監(jiān)控之郵件報警、微信報警這里就不進行詳細解釋了!

[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界面配置如下:
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

(2)安裝redis服務

需在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

(3)定義監(jiān)控redis文件

如圖:
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
需在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服務

(4)zabbix server進行測試

[root@zabbix ~]# zabbix_get -s 192.168.1.8 -p 10050 -k redis.status[used_memory:]
849472
//有數據返回表示沒有問題

(5)導入模板并監(jiān)控

如圖:
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

驗證成功!

二、配置zabbix監(jiān)控tomcat

監(jiān)控Tomcat需要用到zabbix_java_gateway這個組件(在zabbix2.0引入的功能),顧名思義就是:Java網關,類似于agentd,但是只用于Java方面。需要注意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會提交到server端或proxy。
如果需要開啟監(jiān)控Tomcat功能,在編譯zabbix server端時,需要添加--enable_java 參數;或者通過以下RPM的方式安裝。

(1)zabbix server 安裝zabbix_java_gateway程序

zabbix_java_gateway程序既可以安裝在zabbix server端,也可以安裝在被監(jiān)控端,也可單獨安裝,不過一般都是安裝在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提供的。

(2)測試端安裝、配置tomcat

tomcat測試機(192.168.1.8)的操作如下:

[root@tomcat ~]# java -version        //確保java的環(huán)境
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                    :::*

(3)登錄到zabbix server提供的web界面進行配置

zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
可以看到已經監(jiān)控到數據了!

tomcat監(jiān)控完成!

三、配置zabbix監(jiān)控nginx

(1)測試機(192.168.1.7)部署zabbix agent

[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

(2)測試機(192.168.1.7)部署nginx服務

[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

(3)zabbix server進行測試

[root@zabbix ~]# zabbix_get -s 192.168.1.7 -p 10050 -k nginx.info[index]
200
//有返回值則表示連接成功

(4)配置web頁面

zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

1)配置應用集

zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

2)配置監(jiān)控項

檢測nginx是否存活
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

監(jiān)控Nginx總訪問量
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

獨立IP數
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

Nginx主頁的狀態(tài)
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

Nginx當前并發(fā)數
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

根據MD5值來監(jiān)控nginx配置文件是否被更改
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

nginx當前吞吐量bps
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

監(jiān)控nginx工作進程的個數
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

監(jiān)控nginx虛擬主機的個數
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

3)創(chuàng)建觸發(fā)器

nginx服務意外停止工作觸發(fā)器
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

表達式編寫規(guī)范:

{Template App Nginx Service:nginx.ping.last(0)} = 0
Template App Nginx Service  模板名
nginx.ping    鍵名
last(0)       方法:表示當前的。。  last(1)表示上一個。。

創(chuàng)建Nginx主頁不可訪問的觸發(fā)器
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

創(chuàng)建Nginx配置文件被修改觸發(fā)器
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

4)添加被監(jiān)控主機

zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

5)查看zabbix監(jiān)控的數據

zabbix監(jiān)控redis、tomcat、Nginx

6)給監(jiān)控nginx狀態(tài)添加映射

zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

7)關聯(lián)到監(jiān)控項

zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

[root@zabbix ~]# yum -y install httpd-tools
[root@zabbix ~]# ab -n 100 -c 100 http://192.168.1.7/index.html
//模擬并發(fā)

zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx

也可自定義圖表,如下:
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
zabbix監(jiān)控redis、tomcat、Nginx
監(jiān)控nginx成功!

——————————————本文到此結束,感謝閱讀——————————————————

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

網站標題:zabbix監(jiān)控redis、tomcat、Nginx-創(chuàng)新互聯(lián)
網頁路徑:http://bm7419.com/article16/cdesgg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管電子商務、網站設計、商城網站外貿建站、網站內鏈

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站建設網站維護公司