真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Zabbix監(jiān)控Tomcat及Nginx-創(chuàng)新互聯(lián)

注:本篇博文是基于部署zabbix監(jiān)控服務(wù)器的環(huán)境進行的。這里將開啟一臺client服務(wù)器(被監(jiān)控端)用于測試。

成都創(chuàng)新互聯(lián)公司服務(wù)項目包括威遠網(wǎng)站建設(shè)、威遠網(wǎng)站制作、威遠網(wǎng)頁制作以及威遠網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,威遠網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到威遠省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

博文大綱:
一、監(jiān)控Tomcat
二、監(jiān)控Nginx服務(wù)器

一、監(jiān)控Tomcat

監(jiān)控Tomcat需要用到zabbix_java_gateway這個組件(在zabbix2.0引入的功能),顧名思義就是:Java網(wǎng)關(guān),類似于agentd,但是只用于Java方面。需要注意的是,它只能主動去獲取數(shù)據(jù),而不能被動獲取數(shù)據(jù)。它的數(shù)據(jù)最終會提交到server端或proxy。

如果需要開啟監(jiān)控Tomcat功能,在編譯zabbix server端時,需要添加--enable_java 參數(shù)。

1、Zabbix Server安裝zabbix_java_gateway程序

zabbix_java_gateway程序既可以安裝在zabbix server端,也可以安裝在被監(jiān)控端,不過一般都是安裝在Zabbix server端,這里我就安裝在Zabbix Server端。

注:文中所有用到的源碼包都可以從我的網(wǎng)盤鏈接中下載

#執(zhí)行下面命令前,請先下載我網(wǎng)盤鏈接中的對應(yīng)rpm包
[root@zabbix ~]# rpm -ivh zabbix-java-gateway-3.2.1-1.el7.x86_64.rpm
#修改java_gateway配置文件
[root@zabbix ~]# cd /etc/zabbix/
[root@zabbix zabbix]# sed -i 's/# LISTEN_IP="0.0.0.0"/LISTEN_IP="0.0.0.0"/g' zabbix_java_gateway.conf 
[root@zabbix zabbix]# sed -i 's/# LISTEN_PORT=10052/LISTEN_PORT=10052/g' zabbix_java_gateway.conf 
[root@zabbix zabbix]# egrep -v '^$|^#' zabbix_java_gateway.conf 
#確定修改后的配置文件
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/var/run/zabbix/zabbix_java.pid"
TIMEOUT=3
#啟動java-gateway
[root@zabbix zabbix]# systemctl start zabbix-java-gateway.service 
#確定端口在監(jiān)聽
[root@zabbix zabbix]# netstat -anpt | grep 10052
tcp6       0      0 :::10052                :::*                    LISTEN      3112/java           
#修改Zabbix-Server的配置文件
[root@zabbix zabbix]# cd /usr/local/zabbix/etc/
[root@zabbix etc]# sed -i 's/# JavaGateway=/JavaGateway=192.168.20.2/g' zabbix_server.conf
[root@zabbix etc]# sed -i 's/# JavaGatewayPort=10052/JavaGatewayPort=10052/g' zabbix_server.conf
[root@zabbix etc]# sed -i 's/# StartJavaPollers=0/StartJavaPollers=5/g' zabbix_server.conf
[root@zabbix etc]# /etc/init.d/zabbix_server restart    #重啟zabbix server

2、測試端配置Tomcat

啟動一臺IP為192.168.20.3的服務(wù)器作為Tomcat服務(wù)器,用于測試。

#安裝Tomcat
[root@tomcat ~]# rpm -qa | grep jdk       #查詢系統(tǒng)默認的JAVA包
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
copy-jdk-configs-1.2-1.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
[root@tomcat ~]# rpm -e java-1.8.0-openjdk-headless --nodeps        #卸載Java1.8
[root@tomcat ~]# rpm -e java-1.7.0-openjdk-headless --nodeps        #卸載Java1.7
[root@tomcat ~]# cd /usr/src
[root@tomcat src]# rz      #上傳我提供的兩個源碼包
[root@tomcat src]# ls         #源碼包如下
apache-tomcat-8.5.35.tar.gz  jdk-8u211-linux-x64.tar.gz
[root@tomcat ~]# tar zxf jdk-8u211-linux-x64.tar.gz -C /usr/local/   #解壓JDK到指定路徑
[root@tomcat src]# tar zxf apache-tomcat-8.5.35.tar.gz   #解壓Tomcat源碼包
[root@tomcat src]# mv apache-tomcat-8.5.35 /usr/local/tomcat   #將解壓后的目錄移動到指定目錄并命名為tomcat
[root@tomcat ~]# vim /etc/profile         #編輯環(huán)境變量,在配置文件末尾添加以下內(nèi)容
export JAVA_HOME=/usr/local/jdk1.8.0_211
export JRE_HOME=/usr/local/jdk1.8.0_211/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
[root@tomcat ~]# . /etc/profile       #重新加載環(huán)境變量
[root@tomcat ~]# java -version       #查看java版本
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
#開啟Tomcat的JMX遠程管理功能
[root@tomcat src]# vim /usr/local/tomcat/bin/catalina.sh
export JDK_JAVA_OPTIONS    #跳轉(zhuǎn)到306行,也就是該行,下面寫入以下內(nèi)容
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.20.3  -Dcom.sun.management.jmxremote.authenticate=false"
#注:上面的IP為Tomcat本機的IP,端口“8888”可以自定義,不要沖突即可
[root@tomcat src]# /usr/local/tomcat/bin/startup.sh   #啟動Tomcat
#確定相關(guān)端口在監(jiān)聽
[root@tomcat src]# netstat -anpt | grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      3871/java           
[root@tomcat src]# netstat -anpt | grep 8888
tcp6       0      0 :::8888                 :::*                    LISTEN      3871/java

3、回到Zabbix-server進行JMX連接測試

注:該測試需要系統(tǒng)支持圖形化桌面,若沒有圖形化桌面,此驗證過程可以省略。

[root@zabbix ~]# jconsole    #執(zhí)行此命令,此命令是Java-gateway提供的。

執(zhí)行上面的命令后,會彈出下面提示框(輸入Tomcat的IP+JMX監(jiān)聽端口,進行連接):

Zabbix監(jiān)控Tomcat及Nginx

確保可以看到以下畫面即可:

Zabbix監(jiān)控Tomcat及Nginx

4、登錄到Zabbix Server的web界面進行配置

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

稍等片刻,顯示如下即可:

Zabbix監(jiān)控Tomcat及Nginx

可以進行以下操作,看到JVM虛擬機相關(guān)的信息:

Zabbix監(jiān)控Tomcat及Nginx

二、監(jiān)控Nginx服務(wù)器

自行安裝部署Nginx,這里我還將Nginx配置在Tomcat這臺主機上。部署Nginx可參考博文:搭建Nginx服務(wù)器及深度優(yōu)化

1、在Nginx服務(wù)器上部署agent客戶端

#安裝zabbix-agent
[root@tomcat src]# tar zxf zabbix-3.2.1.tar.gz 
[root@tomcat src]# cd zabbix-3.2.1/
[root@tomcat zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install
[root@tomcat zabbix-3.2.1]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@tomcat zabbix-3.2.1]# chmod +x /etc/init.d/zabbix_agentd 
#修改啟動腳本
[root@tomcat zabbix-3.2.1]# sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd 
[root@tomcat zabbix-3.2.1]# sed -i 's/PIDFILE=\/tmp\/$BINARY_NAME.pid/PIDFILE=$BASEDIR\/logs\/$BINARY_NAME.pid/g' /etc/init.d/zabbix_agentd
[root@tomcat zabbix-3.2.1]# useradd -M -s /sbin/nologin zabbix
[root@tomcat ~]# mkdir -p /usr/local/zabbix/logs/
[root@tomcat ~]# chown -R zabbix:zabbix /usr/local/zabbix
[root@tomcat zabbix-3.2.1]# chkconfig --add zabbix_agentd
[root@tomcat zabbix-3.2.1]# chkconfig zabbix_agentd on
[root@tomcat zabbix-3.2.1]# systemctl start zabbix_agentd
[root@tomcat zabbix-3.2.1]# netstat -anpt | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      97364/zabbix_agentd 
#修改agent配置文件
[root@tomcat zabbix-3.2.1]# cd /usr/local/zabbix/etc/
[root@tomcat etc]# sed -i 's/# PidFile=\/tmp\/zabbix_agentd.pid/PidFile=\/usr\/local\/zabbix\/logs\/zabbix_agentd.pid/g' zabbix_agentd.conf
[root@tomcat etc]# sed -i 's/LogFile=\/tmp\/zabbix_agentd.log/LogFile=\/usr\/local\/zabbix\/logs\/zabbix_agentd.log/g' zabbix_agentd.conf
[root@tomcat etc]# sed -i 's/Server=127.0.0.1/Server=192.168.20.2/g' zabbix_agentd.conf
[root@tomcat etc]# sed -i 's/# ListenPort=10050/ListenPort=10050/g' zabbix_agentd.conf
[root@tomcat etc]# sed -i 's/# ListenIP=0.0.0.0/ListenIP=0.0.0.0/g' zabbix_agentd.conf
[root@tomcat etc]# sed -i 's/ServerActive=127.0.0.1/ServerActive=192.168.20.2/g' zabbix_agentd.conf
[root@tomcat etc]# sed -i 's/Hostname=Zabbix server/Hostname=192.168.20.3/g' zabbix_agentd.conf
[root@tomcat etc]# sed -i 's/# Timeout=3/Timeout=15/g' zabbix_agentd.conf
[root@tomcat etc]# sed -i 's/# Include=\/usr\/local\/etc\/zabbix_agentd.conf.d\//Include=\/usr\/local\/zabbix\/etc\/zabbix_agentd.conf.d\//g' zabbix_agentd.conf
[root@tomcat etc]# sed -i 's/# UnsafeUserParameters=0/UnsafeUserParameters=1/g' zabbix_agentd.conf
[root@tomcat etc]# echo 'UserParameter=nginx.info[*],/usr/local/zabbix/scripts/nginx.sh  $1' >> zabbix_agentd.conf
[root@tomcat etc]# echo "UserParameter=nginx.ping[*],netstat -anput | grep -w 80 | grep -w LISTEN | wc -l" >> zabbix_agentd.conf
[root@tomcat etc]# egrep -v '^$|^#' zabbix_agentd.conf   #確定配置無誤
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Server=192.168.20.2
ListenPort=10050
ListenIP=0.0.0.0
ServerActive=192.168.20.2
Hostname=192.168.20.3
Timeout=15
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
UnsafeUserParameters=1
UserParameter=nginx.info[*],/usr/local/zabbix/scripts/nginx.sh  $1
UserParameter=nginx.ping[*],netstat -anput | grep -w 80 | grep -w LISTEN | wc -l

2、在Nginx服務(wù)器上編寫Nginx腳本

注:此腳本可在我文章開頭的下載鏈接中獲得。

[root@tomcat etc]# mkdir /usr/local/zabbix/scripts/
[root@tomcat etc]# cd /usr/local/zabbix/scripts/
[root@tomcat scripts]# cat nginx.sh     #腳本如下,所有IP均為Nginx的IP

#!/bin/bash
case $1 in
index)
    RS=`curl -s -I 192.168.20.3/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.20.3/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@tomcat scripts]#  /etc/init.d/zabbix_agentd restart   #重啟agent
#調(diào)整相應(yīng)權(quán)限,需要所有用戶都可以執(zhí)行netstat命令
[root@tomcat scripts]# chmod +s /usr/bin/netstat
[root@tomcat scripts]# chmod  +x  nginx.sh

3、配置Zabbix-Server Web界面

1、在配置web界面前,可現(xiàn)在Zabbix-Server端測試一下相關(guān)信息是否可以獲得,以便驗證腳本的正確性(同時ab壓力測試是必須要有的,Server端和Agent端都要裝該命令)。

[root@zabbix fonts]# yum -y install httpd-tools     #安裝ab壓力測試命令
[root@zabbix fonts]# ab -q -n 1000 -c 1000 http://192.168.20.3/index.html |grep Request | awk '{print $4}'
2117.31         #有信息返回則表示正常

配置Web界面:

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

1)配置應(yīng)用集

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

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

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

監(jiān)控Nginx總訪問量:

接下來每添加一個監(jiān)控項,都要點擊下面的按鈕,為了簡單,以后就不截下面頁面的圖了。

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

獨立IP數(shù)

Zabbix監(jiān)控Tomcat及Nginx

Nginx主頁的狀態(tài)

Zabbix監(jiān)控Tomcat及Nginx

Nginx當前并發(fā)數(shù)

Zabbix監(jiān)控Tomcat及Nginx

配置文件MD5值用來監(jiān)控nginx配置文件是否被更改(注意圖中其信息類型)

Zabbix監(jiān)控Tomcat及Nginx

當前吞吐量bps,并且讓其更新時間為60秒(注意其信息類型)

Zabbix監(jiān)控Tomcat及Nginx

監(jiān)控nginx工作進程的個數(shù)

Zabbix監(jiān)控Tomcat及Nginx

監(jiān)控Nignx虛擬主機的個數(shù)

Zabbix監(jiān)控Tomcat及Nginx

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

nginx服務(wù)意外停止工作觸發(fā)器
Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

創(chuàng)建Nginx主頁不可訪問的觸發(fā)器
Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

創(chuàng)建Nginx配置文件被修改觸發(fā)器
Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

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

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

5)查看Zabbix監(jiān)控的數(shù)據(jù)

Zabbix監(jiān)控Tomcat及Nginx

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

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx
Zabbix監(jiān)控Tomcat及Nginx

確定已添加:
Zabbix監(jiān)控Tomcat及Nginx

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

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

在Server端模擬并發(fā),然后查看圖形檢測頁面:

[root@zabbix ~]# vim a.sh      #編寫腳本

#!/bin/bash
while true
do
ab -n 1000 -c 100 192.168.20.3/index.html &> /dev/null
done
[root@zabbix ~]# sh a.sh      #執(zhí)行腳本

執(zhí)行腳本后,圖形界面如下:

Zabbix監(jiān)控Tomcat及Nginx

也可以自定義圖表,如下:
Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

Zabbix監(jiān)控Tomcat及Nginx

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


網(wǎng)頁題目:Zabbix監(jiān)控Tomcat及Nginx-創(chuàng)新互聯(lián)
標題網(wǎng)址:http://weahome.cn/article/cesjdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部