运维实战 Zabbix监控进阶

Posted 洛冰音

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维实战 Zabbix监控进阶相关的知识,希望对你有一定的参考价值。

Percona Monitoring Plugins

Percona Monitoring Plugins带有190多个监控项.

这么多监控项全部手动添加显然是不现实的, 需要使用模板倒入

##查看其附带的两个目录中的内容
cd /var/lib/zabbix/percona/scripts/
##包含搜集数据所需的shell脚本和php文件
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php


##监控规则和倒入用的模板
cd ../templates/
userparameter_percona_mysql.conf
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
  • 为了能够正确连接数据库获取信息,需要修改ss_get_mysql_stats.php中数据库登陆相关的内容
##复制监控规则文件到配置目录下
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
##可以看到其包括190条监控项
wc -l userparameter_percona_mysql.conf 
190 userparameter_percona_mysql.conf

##修改php文件中如下部分保证可以连接数据库
$mysql_user = 'root';
$mysql_pass = 'westos';
$mysql_port = 3306;
$mysql_socket = NULL;
$mysql_flags = 0;

image-20210421093859762

  • 通过直接调用j脚本和zabbix_get功能测试功能是否实现
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh ou
0
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gl
53512

zabbix_get -s 127.0.0.1 -p 10050 -k 'MySQL.pool-size'
8191

##测试结束后记得删除文本文件,避免因为权限问题导致后续监控无法写入数据
cd /tmp/

ls
localhost-mysql_cacti_stats.txt

rm -f localhost-mysql_cacti_stats.txt
  • 为监控页面导入模板,方便进行自动化监控

安装获得的xml文件并不能直接倒入,由于版本与当前zabbix不同倒入会出现适配问题, 已经提前准备了修改好的xml文件.

image-20210421094412822

image-20210421094534318

  • 由于与原先的模板存在些许冲突,需要先请取消链接并清理之前的模板

image-20210421094649286

image-20210421094708513

  • 导入成功后可以看到监控项和图形中出现了新增加的模板相关的内容

在这里插入图片描述

image-20210421094937975

Zabbix监控Tomcat

Tomcatjava虚拟机中 默认操作无法实现对其的监控.

不过zabbix也提供了组件zabbix-java-gateway

##在Server2上安装依赖
yum install java-1.8.0-openjdk.x86_64

##安装并运行tomcat
[root@Server2 mnt]# tar zxf apache-tomcat-7.0.37.tar.gz 
[root@Server2 mnt]# cd apache-tomcat-7.0.37/
[root@Server2 apache-tomcat-7.0.37]# ls
bin   lib      logs    RELEASE-NOTES  temp     work
conf  LICENSE  NOTICE  RUNNING.txt    webapps
[root@Server2 apache-tomcat-7.0.37]# cd ..
[root@Server2 mnt]# cp -r apache-tomcat-7.0.37/ /usr/local/
[root@Server2 mnt]# cd /usr/local/
[root@Server2 local]# mv apache-tomcat-7.0.37/ tomcat
[root@Server2 local]# cd tomcat/
[root@Server2 tomcat]# ./bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@Server2 tomcat]# netstat -antlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3208/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      3308/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      3223/zabbix_agentd  
tcp        0      0 172.25.5.2:10050        172.25.5.1:46696        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46560        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46776        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46734        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46768        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46716        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46780        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46742        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46806        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46568        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46762        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46782        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:22           172.25.5.250:56596      ESTABLISHED 3498/sshd: root@pts 
tcp        0      0 172.25.5.2:10050        172.25.5.1:46722        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46760        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46796        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46746        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46792        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46798        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46786        TIME_WAIT   -                   
tcp        0      0 172.25.5.2:10050        172.25.5.1:46752        TIME_WAIT   -                   
tcp6       0      0 :::8009                 :::*                    LISTEN      4448/java           
tcp6       0      0 :::8080                 :::*                    LISTEN      4448/java           
tcp6       0      0 :::22                   :::*                    LISTEN      3208/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      3308/master         
tcp6       0      0 :::10050                :::*                    LISTEN      3223/zabbix_agentd  
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      4448/java           
  • 修改catalina.sh , 增加外部监听端口支持

image-20210421105311746

CATALINA_OPTS='
  -Dcom.sun.management.jmxremote.port=8888
  -Dcom.sun.management.jmxremote.ssl=false
  -Dcom.sun.management.jmxremote.authenticate=false
'
  • 返回Server1,安装zabbix-java-gateway.x86_64
[root@Server1 ~]# yum install -y zabbix-java-gateway.x86_64
[root@Server1 ~]# systemctl enable --now zabbix-java-gateway.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-java-gateway.service to /usr/lib/systemd/system/zabbix-java-gateway.service.
[root@Server1 zabbix]# netstat -antlp | grep :10052
tcp6       0      0 :::10052                :::*                    LISTEN      16207/java          
tcp6       0      0 172.25.13.1:10052       172.25.13.1:36572       TIME_WAIT   -                          


##配置文件位置
[root@Server1 fonts]# cd /etc/zabbix/
[root@Server1 zabbix]# ls
web                 zabbix_java_gateway.conf         zabbix_server.conf
zabbix_agentd.conf  zabbix_java_gateway_logback.xml
zabbix_agentd.d     zabbix_proxy.conf

StartJavaPollers默认启动进程5个

### Option: JavaGateway
#       IP address (or hostname) of Zabbix Java gateway.
#       Only required if Java pollers are started.
#
# Mandatory: no
# Default:
JavaGateway=172.25.0.1

# Mandatory: no
# Range: 0-1000
# Default:
StartJavaPollers=5

添加对JMX接口的支持

image-20210421105950291

image-20210421110300652

image-20210421115445699

以上是关于运维实战 Zabbix监控进阶的主要内容,如果未能解决你的问题,请参考以下文章

系统学习 Zabbix 系统监控Windows 系统监控 | 运维进阶

运维实战 Zabbix监控入门

Zabbix实战之运维篇Zabbix监控web网站配置方法

Zabbix实战之运维篇Zabbix监控Docker容器配置方法

Zabbix实战之运维篇Zabbix监控平台的邮件报警配置

Zabbix实战之运维篇Zabbix监控平台的简单性能调优