zabbix监控Nginx/Tomcat/MySQL的方法

这篇文章主要介绍“zabbix监控Nginx/Tomcat/MySQL的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“zabbix监控Nginx/Tomcat/MySQL的方法”文章能帮助大家解决问题。

在阳原等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、成都网站制作 网站设计制作按需求定制制作,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站,外贸网站建设,阳原网站建设费用合理。

zabbix监控nginx

a机器:zabbix服务端(192.168.234.128) b机器:zabbix客户端(192.168.234.125)

在b机器(zabbix客户端)操作:

编辑nginx虚拟主机配置文件:

[root@centos ~]# vi /etc/nginx/conf.d/default.conf

在server{}中添加以下内容:

 location /nginx_status
 {
  stub_status on;
  access_log off;
  allow 127.0.0.1;
  deny all;
 }

重载nginx配置:

[root@centos ~]# nginx -s reload

测试:

[root@centos ~]# curl http://127.0.0.1/nginx_status
active connections: 1 
server accepts handled requests
 3 3 3 
reading: 0 writing: 1 waiting: 0

#nginx状态信息已显示

状态说明:

zabbix监控Nginx/Tomcat/MySQL的方法

添加监控脚本:

vi /usr/local/sbin/ngx_status.sh

添加以下内容:

#!/bin/bash
url="http://127.0.0.1/nginx_status"
curl=/usr/bin/curl

# 检测nginx进程是否存在
function ping {
 /sbin/pidof nginx | wc -l 
}
# 检测nginx性能
function active {
 $curl $url 2>/dev/null| grep 'active' | awk '{print $nf}'
}
function reading {
 $curl $url 2>/dev/null| grep 'reading' | awk '{print $2}'
}
function writing {
 $curl $url 2>/dev/null| grep 'writing' | awk '{print $4}'
}
function waiting {
 $curl $url 2>/dev/null| grep 'waiting' | awk '{print $6}'
}
function accepts {
 $curl $url 2>/dev/null| awk nr==3 | awk '{print $1}'
}
function handled {
 $curl $url 2>/dev/null| awk nr==3 | awk '{print $2}'
}
function requests {
 $curl $url 2>/dev/null| awk nr==3 | awk '{print $3}'
}
$1

添加权限:

[root@centos ~]# chmod 755 /usr/local/sbin/ngx_status.sh

编辑zabbix_agent配置文件:

[root@centos ~]# vi /etc/zabbix/zabbix_agentd.conf

在option:userparameter处添加:userparameter=nginx.status[*],/usr/local/sbin/ngx_status.sh $1

zabbix监控Nginx/Tomcat/MySQL的方法

重启服务:

[root@centos ~]# systemctl restart zabbix-agent

在a机器(服务端)测试:

[root@zabbix ~]# zabbix_get -s 192.168.234.125 -k 'nginx.status[accepts]'
6

在本机创建.xml文件并添加以下内容:(文件名称自定义)



 4.0
 2019-02-11t07:29:29z
 
  
   templates
  
 
 
  
 
 
  
   {template app nginx:nginx.status[ping].last()}=0
   0
   
   nginx was down!
   0
   
   
   0
   4
   nginx进程数:0,请注意
   0
   0
   
   
  
 
 
  
   nginx status connections
   900
   200
   0.0000
   100.0000
   1
   1
   0
   1
   0
   0.0000
   0.0000
   0
   0
   0
   0
   
    
     0
     0
     00c800
     0
     2
     0
     
      template app nginx
      nginx.status[active]
     
    
    
     1
     0
     c80000
     0
     2
     0
     
      template app nginx
      nginx.status[reading]
     
    
    
     2
     0
     0000c8
     0
     2
     0
     
      template app nginx
      nginx.status[waiting]
     
    
    
     3
     0
     c800c8
     0
     2
     0
     
      template app nginx
      nginx.status[writing]
     
    
   
  
  
   nginx status server
   900
   200
   0.0000
   100.0000
   1
   1
   0
   1
   0
   0.0000
   0.0000
   0
   0
   0
   0
   
    
     0
     0
     00c800
     0
     2
     0
     
      template app nginx
      nginx.status[accepts]
     
    
    
     1
     0
     c80000
     0
     2
     0
     
      template app nginx
      nginx.status[handled]
     
    
    
     2
     0
     0000c8
     0
     2
     0
     
      template app nginx
      nginx.status[requests]
     
    
   
  
 
 
  
   service state
   
    
     0
     down
    
    
     1
     up
    
   
  
 

在zabbix前端页面点击配置→模板→导入:

zabbix监控Nginx/Tomcat/MySQL的方法

#导入刚才创建的xml文件即可

导入成功后在主机列表页面选择被监控的机器(b机器)链接该模板即可开始监控nginx

zabbix监控tomcat

a机器:zabbix服务端(192.168.234.128) b机器:zabbix客户端(192.168.234.125)

在a机器安装zabbix-java-gateway:

[root@zabbix ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm

[root@zabbix ~]# yum -y localinstall zabbix-java-gateway-4.0.14-1.el7.x86_64.rpm

编辑gateway配置文件:

[root@zabbix ~]# vi /etc/zabbix/zabbix_java_gateway.conf

去掉listen_ip、listen_port(监听端口)、start_pollers(进程数)的注释符号#:

zabbix监控Nginx/Tomcat/MySQL的方法

#listen_ip定义被监控机器的地址,不指定默认监听全部机器

编辑server配置文件:

[root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf

定义以下3个配置参数:

zabbix监控Nginx/Tomcat/MySQL的方法

启动zabbix-java-gateway服务:

[root@zabbix ~]# systemctl start zabbix-java-gateway

重启zabbix-server服务:

[root@zabbix ~]# systemctl restart zabbix-server

查看监听端口:

[root@zabbix ~]# netstat -lntp |grep java
tcp6  0  0 :::10052    :::*     listen  8706/java

开启jmx

在b机器编辑tomcat配置文件:

[root@centos ~]# vi /usr/local/tomcat/bin/catalina.sh

添加以下内容:

export catalina_opts="$catalina_opts -dcom.sun.management.jmxremote
-djava.rmi.server.hostname=192.168.234.125
-dcom.sun.management.jmxremote.port=9999
-dcom.sun.management.jmxremote.ssl=false
-dcom.sun.management.jmxremote.authenticate=false"

#hostname定义b机器地址,端口9999(默认12345)

重启tomcat:

[root@centos ~]# /usr/local/tomcat/bin/shutdown.sh 

[root@centos ~]# /usr/local/tomcat/bin/startup.sh

查看监听端口9999:

[root@centos ~]# netstat -lntp |grep 9999
tcp6  0  0 :::9999     :::*     listen  25861/java

进入zabbix前端页面添加主机:

zabbix监控Nginx/Tomcat/MySQL的方法

#与普通情况添加监控主机不同,监控b机器的tomcat需要配置jmx接口

模板链接jmx相关的两个模板:

zabbix监控Nginx/Tomcat/MySQL的方法

当jmx图标变绿即表示配置成功:

zabbix监控Nginx/Tomcat/MySQL的方法

zabbix监控mysql

a机器:zabbix服务端(192.168.234.128) b机器:zabbix客户端(192.168.234.125)

zabbix_agent定义mysql监控的配置文件:/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

在b机器登录mysql创建用户:

mysql> grant usage,process,replication client on *.* to zamysql@'localhost' identified by 'zamysql';

创建配置文件指定的目录:

[root@centos ~]# mkdir /var/lib/zabbix

创建my.cnf文件:

[root@centos ~]# vi /var/lib/zabbix/.my.cnf

#需要注意该文件是隐藏文件

添加以下内容:

[mysql]
host=localhost
user=zamysql
password='zamysql'
socket=/tmp/mysql.sock

[mysqladmin]
host=localhost
user=zamysql
password='zamysql'
socket=/tmp/mysql.sock

在a机器测试:

[root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.ping
1
[root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.version
mysql ver 14.14 distrib 5.6.43, for linux-glibc2.12 (x86_64) using editline wrapper
[root@zabbix ~]# zabbix_get -s 192.168.234.125 -p 10050 -k mysql.size
10240

#已成功获取数据

在zabbix前端页面添加主机:

zabbix监控Nginx/Tomcat/MySQL的方法

监控模板选择db mysql:

zabbix监控Nginx/Tomcat/MySQL的方法

zbx标准变为绿色表示成功:

zabbix监控Nginx/Tomcat/MySQL的方法

在监测→最新数据页面即可查看mysql监控数据:

zabbix监控Nginx/Tomcat/MySQL的方法

关于“zabbix监控Nginx/Tomcat/MySQL的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。


文章题目:zabbix监控Nginx/Tomcat/MySQL的方法
本文路径:http://csdahua.cn/article/isjeos.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流