zabbix监控nginx和tomcat
admin
2023-03-29 05:01:37
0

请先还原到“zabbix监控及邮件报警”的快照https://blog.51cto.com/14320361/2448847

监控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和tomcat

(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 10052

  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 restart

二. 配置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:$PATH

   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和tomcat

服务终端测试

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和tomcat

三.监控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 -l

   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
1、 监控nginx运行状态
zabbix监控nginx和tomcat
2、 监控nginx总访问量
zabbix监控nginx和tomcat
3、 独立IP数
zabbix监控nginx和tomcat

4、 nginx主页的状态
zabbix监控nginx和tomcat

  1. nginx当前并发数
    zabbix监控nginx和tomcat

6、配置文件MD5值用来监控nginx配置文件是否被更改

zabbix监控nginx和tomcat

7、当前吞吐量bps,并且让其更新时间为60秒
zabbix监控nginx和tomcat

8、nginx工作进程的个数
zabbix监控nginx和tomcat
9、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
实验完毕

相关内容

热门资讯

特朗普下令不打了,美国的“余粮... 可以说戛然而止,快得让很多人都无法适应。前两周,每一天美国都要打击伊朗一通。就在7月24日白宫会议前...
穆杰塔巴最新表态:支持黎真主党 △伊朗最高领袖穆杰塔巴·哈梅内伊(资料图)当地时间7月26日晚,伊朗最高领袖穆杰塔巴·哈梅内伊对黎巴...
美军瘫痪一艘驶向伊朗的油轮,特... 美国总统特朗普虽下令暂停打击伊朗,但美军仍在执行对霍尔木兹海峡的封锁任务。针对美军瘫痪一艘驶向伊朗油...
“小牌大耍”的底气到底是哪里来... 澎湃首席评论员 李平这两天,“艺人李权哲乘高铁占座事件”在网上引发热议,该艺人参加的活动主办方曾发布...
越南籍船舶南海遇险沉没,中方已... 据凤凰卫视报道,一艘越南船舶7月24日夜间在越南庆和以东220海里附近遇险沉没,船上共62名越南籍人...
李权哲占座、蒙面、装死:娱乐圈... 你买了一张高铁一等座的票,找到自己的位置,18A。有人坐着。你拿出手机看了眼购票记录——没错,18A...
杭州景区咖啡店闯入1条幼蛇,仅... 夏天气温高、湿度大,蛇类活动进入高峰期,千万别被“小蛇无害”的刻板印象骗了!有些幼蛇看着迷你可爱,实...
AI开源公开信签署企业增至50... IT之家 7 月 26 日消息,英伟达、微软、IBM、Meta 等 25 家美国科技企业本周(7 月...
南阳快手短视频代运营企业的服务... 在短视频平台快速发展的背景下,企业通过快手等渠道进行内容运营已成为常见的市场动作。对于希望借助短视频...
普通人该如何跟上科技发展的步伐 这个被称作科技的词汇, 听起来既有宏大之感, 又颇为遥远, 好似仅仅归属于在实验室里专心致志钻研的科...