zabbix監控nginx和tomcat

請先還原到「zabbix監控及郵件報警」的快照https://blog.51cto.com/14320361/2448847html

監控tomcat
zabbix_java_gateway:在 zabbix2.0以後引入的一個功能。顧名思義: Java網關,相似 agentd,可是隻用於Java方面。須要特別注意的是,它只能主動去獲取數據,而不能被動獲取數據。它的數據最終會提交到 server或者 proxy。
若是須要開啓監控tomcat須要在zabbix編譯的的過程當中添加--enable_java參數
一.Zabbix_server端配置
安裝zabbix_java_gateway程序
(1)查看端口
284 netstat -anpt | grep 9000
285 netstat -anpt | grep mysql
286 netstat -anpt | grep 80
287 netstat -anpt | grep 10050
zabbix監控nginx和tomcatjava

(2)安裝zabbix_java_gateway程序
288 rz (上傳zabbix-java-gateway-3.2.1-1.el7.x86_64.rpm)
292 rpm -ivh zabbix-java-gateway-3.2.1-1.el7.x86_64.rpm
(3)修改zabbix配置文件
293 vim /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0" #java-gateway監聽的地址
LISTEN_PORT=10052 #監聽的端口
PID_FILE="/var/run/zabbix/zabbix_java.pid" #pid文件存放路徑
zabbix監控nginx和tomcat
(4)開啓zabbix並查看端口
294 systemctl start zabbix-java-gateway.service
295 netstat -anpt | grep 10052node

296 vim /etc/zabbix/zabbix_java_gateway.conf
(5)修改zabbixserver的配置文件,默認zabbix沒有啓動java監控程序
297 vim /usr/local/zabbix/etc/zabbix_server.conf
JavaGateway=192.168.1.10 #215 本機IP
JavaGatewayPort=10052 #223 去註釋
StartJavaPollers=5 #231
(6)重啓zabbixserver端
298 /etc/init.d/zabbix_server restartmysql

二. 配置tomcat
20 rpm -qa | grep jdk #檢查是否安裝rpm的java環境
21 rpm -e java-1.8.0-openjdk-headless java-1.7.0-openjdk-headless --nodeps
##卸載自帶的java環境
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
19 rz (上傳jdk和tomcat安裝包)
23 tar zxf jdk-8u211-linux-x64.tar.gz -C /usr/local/
24 tar zxf apache-tomcat-8.5.35.tar.gz
25 mv apache-tomcat-8.5.35 /usr/local/tomcat
26 vim /etc/profile (末尾添加)
export JAVA_H0ME=/usr/local/jdk1.8.0_211
export JRE_HOME=/usr/local/jdk1.8.0_211
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_H0ME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATHlinux

27 source /etc/profile (執行一下)
28 java -version (查看一下jdk是否安裝成功)
zabbix監控nginx和tomcat
Tomcat 開啓jmx遠程調試功能
29 cd /usr/local/tomcat/
31 vim bin/catalina.sh (大約300行添加)
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.20
-Dcom.sun.management.jmxremote.authenticate=flase"
啓動tomcat並查看端口
32 /usr/local/tomcat/bin/startup.sh
33 netstat -anput | grep 8888
zabbix監控nginx和tomcatnginx

服務終端測試sql

zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbixserver端進行配置(在瀏覽器上操做)
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcatapache

三.監控nginx服務器
1.安裝依賴包
49 yum -y install pcre-devel openssl-devel
2.安裝nginx
48 rz (上傳nginx和zabbix安裝包)
50 tar zxf nginx-1.14.0.tar.gz
51 cd nginx-1.14.0/
52 ./configure && make && make install (編譯安裝)
53 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ (連接命令目錄)
54 nginx (開啓nginx)
56 netstat -anpt | grep nginx (查看nginx端口)
zabbix監控nginx和tomcat
3.安裝zabbix
21 tar zxf zabbix-3.2.1.tar.gz
22 cd zabbix-3.2.1/
23 ./configure --prefix=/usr/local/zabbix --enable-agent
24 make && make install
26 cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ (複製zabbix啓動文件)
27 vim /etc/init.d/zabbix_agentd (修改zabbix啓動文件)
BASEDIR=/usr/local/Zabbix #22
PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid #31
29 cd /usr/local/Zabbix
30 vim etc/zabbix_agentd.conf (修改zabbix配置文件)
PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid #11 (須要建立所需目錄)
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log #30
Server=192.168.1.10 #91 服務端IP
ListenPort=10050 #99
ListenIP=0.0.0.0 #107
ServerActive=192.168.1.10 #132 服務端IP
Hostname=192.168.1.20 #143 客戶端IP
Timeout=3 #232
UnsafeUserParameters=1 #278
#287 修改添加
UserParameter=nginx.info[],/usr/local/zabbix/scripts/nginx.sh $1 (須要建立所需目錄)
UserParameter=nginx.ping[
],netstat -anput | grep -w 80 | grep -w LISTEN | wc -lvim

31 mkdir /usr/local/zabbix/scripts (建立所需目錄)
32 cd /usr/local/zabbix/scripts/
4.安裝nginx
33 rz
34 vim nginx.sh (修改ip)
編寫監控nginx腳本
#!/bin/bash
#This is a scripts for checking nginx
case $1 in
index)
RS=curl -s -I 192.168.83.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.83.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
37 yum -y install httpd-tools (ab壓力測試須要)
41 ab -q -n 1000 -c 1000 http://192.168.1.20/index.html
42 chmod +x nginx.sh (改nginx.sh可執行權限)
43 useradd Zabbix (建立所需用戶)
44 mkdir /usr/local/zabbix/logs (建立所需目錄)
45 chown -R zabbix:zabbix /usr/local/zabbix/ (給配置目錄zabbix用戶擁有)
49 /etc/init.d/zabbix_agentd start (開啓zabbix)
50 netstat -anpt | grep Zabbix (查看zabbix端口)
zabbix監控nginx和tomcat

服務端測試
zabbix_get -s 192.168.1.20 -p 10050 -k nginx.info[index]
zabbix監控nginx和tomcat
zabbix_get -s 192.168.1.20 -p 10050 -k nginx.ping
zabbix監控nginx和tomcat
客戶端給予權限
chmod +s /usr/bin/netstat
再次在服務端測試
zabbix_get -s 192.168.1.20 -p 10050 -k nginx.ping

zabbix監控nginx和tomcat

四.回到瀏覽器zabbixserver端建立nginx監控模板
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
一、 監控nginx運行狀態
zabbix監控nginx和tomcat
二、 監控nginx總訪問量
zabbix監控nginx和tomcat
三、 獨立IP數
zabbix監控nginx和tomcat

四、 nginx主頁的狀態
zabbix監控nginx和tomcat

  1. nginx當前併發數
    zabbix監控nginx和tomcat

六、配置文件MD5值用來監控nginx配置文件是否被更改

zabbix監控nginx和tomcat

七、當前吞吐量bps,而且讓其更新時間爲60秒
zabbix監控nginx和tomcat

八、nginx工做進程的個數
zabbix監控nginx和tomcat
九、nignx虛擬主機的個數

zabbix監控nginx和tomcat
五.建立觸發器
建立nginx服務意外中止工做!觸發器,表達式格式{}
{Temlate App Nginx Service:nginx.ping.last(0)} = 0
Template App Nginx Service 模板名
nginx.ping 鍵名
last(0) 方法:表示當前的。。 last(1)表示上一個。。
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
建立「Nginx主頁不可訪問」的觸發器
{Temlate App Nginx Service:nginx.ping.last(0)} > 400
zabbix監控nginx和tomcat

建立「Nginx文件被修改」的觸發器
{Temlate App Nginx Service:nginx.info[MD5].last(0)} <> {Temlate App Nginx Service:nginx.info[MD5].last(1)}
zabbix監控nginx和tomcat

zabbix監控nginx和tomcat

六.在客戶端主機中添加建立的nginx模板
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
查看zabbix監控的數據
zabbix監控nginx和tomcat
給監控nginx狀態添加映射(更加友好)
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
關聯到監控項
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat

建立nginx圖形監控
zabbix監控nginx和tomcat
zabbix監控nginx和tomcat
查看監控
zabbix監控nginx和tomcat實驗完畢

相關文章
相關標籤/搜索