zabbix 监控 mysql tomcat oracle

本文介绍了如何使用Zabbix监控MySQL、Tomcat和Oracle。对于MySQL,详细阐述了添加模板、配置监控脚本和修改Zabbix代理参数的步骤。在Tomcat部分,提到了开启JMX支持进行监控。而对于Oracle,推荐使用Orabbix工具进行监控,并提供了相关参考链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql 步骤 :这里用的是mysql自带的模板

1模板中选择点击添加,选择TemplateApp MySQL,点击存档

2添加mysql监控脚本:位置一般为

/usr/script/chk_mysql.sh

Ps:这个脚本要付权限赋权语句见下面

Ps:最后如果获取不到数据就把脚本中的用户名密码注释掉

       然后把用户名名密码 vim /etc/my.cnf

              将账号密码添加进去

              [mysqladmin]

              Username=用户名

              Password=密码

重启mysql服务

##测试不用帐户密码就可以执行mysqladmin命令

$ mysqladmin ping | grep -c alive

1

添加脚本内容:

vi check_mysql.sh

#!/bin/bash

# 用户名

#MYSQL_USER='zabbix'

# 密码

#MYSQL_PWD='123456'

# 主机地址/IP

MYSQL_HOST='127.0.0.1'

# 端口

MYSQL_PORT='3306'

# 数据连接

MYSQL_CONN="/usr/bin/mysqladmin-h${MYSQL_HOST} -P${MYSQL_PORT}"

# 参数是否正确

if [ $# -ne"1" ];then

    echo"arg error!"

fi

# 获取数据

case $1 in

    Uptime)

       result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1-d"T"`

       echo $result

       ;;

   Com_update)

       result=`${MYSQL_CONN} extended-status |grep -w"Com_update"|cut -d"|" -f3`

       echo $result

       ;;

   Slow_queries)

       result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1-d"O"`

       echo $result

       ;;

   Com_select)

       result=`${MYSQL_CONN} extended-status |grep -w"Com_select"|cut -d"|" -f3`

       echo $result

               ;;

   Com_rollback)

       result=`${MYSQL_CONN} extended-status |grep -w"Com_rollback"|cut -d"|" -f3`

               echo $result

               ;;

   Questions)

       result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1-d"S"`

               echo $result

               ;;

   Com_insert)

       result=`${MYSQL_CONN} extended-status |grep -w"Com_insert"|cut -d"|" -f3`

               echo $result

               ;;

   Com_delete)

       result=`${MYSQL_CONN} extended-status |grep -w"Com_delete"|cut -d"|" -f3`

               echo $result

               ;;

   Com_commit)

       result=`${MYSQL_CONN} extended-status |grep -w"Com_commit"|cut -d"|" -f3`

               echo $result

               ;;

   Bytes_sent)

       result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent"|cut -d"|" -f3`

               echo $result

               ;;

   Bytes_received)

       result=`${MYSQL_CONN} extended-status |grep -w"Bytes_received" |cut -d"|" -f3`

               echo $result

               ;;

   Com_begin)

       result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut-d"|" -f3`

               echo $result

               ;;

       *)

       echo"Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"

       ;;

esac

 

 

 

ps:注意脚本的权限设置 赋权语句

   

chmodu+x /usr/local/zabbix/chk_mysql.sh

chown -R zabbix.zabbix/usr/local/zabbix/chk_mysql.sh  

 

         

3、修改zabbix代理参数前

Vim /etc/Zabbix/Zabbix_agentd.conf

       include前的注释去掉

 

 

然后vi /usr/local/zabbix/etc/zabbix_agentd.d/userparameter_mysql.conf

将里边的全部注释添加脚本

# 获取mysql版本

UserParameter=mysql.version,mysql-V

# 获取mysql性能指标,这个是上面定义好的脚本

UserParameter=mysql.status[*],/usr/local/zabbix-2.4.4/scripts/chk_mysql.sh$1

# 获取mysql运行状态

UserParameter=mysql.ping,mysqladmin-uzabbix -p123456 -P3306 -h127.0.0.1  ping | grep -c alive

Ps:注意脚本位置和参数中的位置是不是一样

4数据库中新建zabbix账户 Zabbix 密码 123456

       授权GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.*TO zabbix@'127.0.0.1' IDENTIFIED BY 'ys_ipowerlong0418'; 

 

5ps:注意我们在脚本中配置的mysql.sock文件的位置必须和mysql中的位置是一致的

如果发现监控没有数据,请排查如下问题

1.zabbix客户端是否重启

2.脚本是否有执行权限

3.数据库是否有权限

4.环境变量是否有问题

5.请看zabbix item列,鼠标移至红色叉上,有错误提示。

6.如果数据库密码保存在脚本中,会导致监控没有数据会不断的报错为Warning: Using a password on the command line interface can beinsecure.需要将帐号密码等配置添加到my.cnf中。

 

最后启动的时候带上配置文件  命令:/usr/sbin/zabbix_agentd-c /etc/zabbix/zabbix_agentd.conf  


tomcat :tomcat 自动支持zabbix监控 只需

    

tomcat开启Jmx 支持 编辑catalina.sh 添加:

CATALINA_OPTS="$CATALINA_OPTS-Dcom.sun.management.jmxremote

 -Dcom.sun.management.jmxremote.port=18090

 -Dcom.sun.management.jmxremote.ssl=false

 -Dcom.sun.management.jmxremote.authenticate=false

 -Djava.rmi.server.hostname=10.10.25.32"

ps:hostname为zabbix在服务端的名字必须一致


oracle :zabbix 监控oracle借助于orabbix 这个工具

    1参考地址 https://www.linuxidc.com/Linux/2017-10/147224.htm

 

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值