在zabbix配置自定义脚本监控项实现监控Oracle 数据库alert日志详细步骤

一、背景

使用zabbix监控软件的过程中,很多时候需要运行自定义脚本来实现特定功能,因此需要在zabbix和操作系统上做一些设置。本文详细介绍了zabbix上实现运行自定义脚本监控Oracle 数据库alert日志的过程以及配置预警,自定义执行间隔的详细步骤。

二、步骤

1.写脚本,并赋权可执行

创建check_alert_log.sh文件,脚本如下:

vim check_alert_log.sh

复制代码
#!/bin/bash
alert_dir='/u01/app/oracle/diag/rdbms/'

cd  $alert_dir
alert_log=$(find ./ -name "alert_$ORACLE_SID.log")


tail -n 500 $alert_log | grep -Ei "ORA-|err|fail"

chmod +x check_alert_log.sh

2.zabbix客户端主机修改zaibbix的组权限,root用户执行

usermod -aG oinstall zabbix

3.zabbix客户端主机修改zabbix-agent2配置文件

vim /etc/zabbix/zabbix_agent2.conf

添加如下内容

UnsafeUserParameters=1-----开启自定义参数设置

UserParameter=check_alert_log\*,sh /home/oracle/dbreport/check_log.sh $1---自定义监控项名称,监控项执行脚本命令

4.重启zabbix-agent2客户端

systemctl restart zabbix-agent2.service----重启

systemctl status zabbix-agent2.service---查看状态

5.zabbix配置模板监控项和触发器

创建模板

创建监控项

创建触发器

6.zabbix模板绑定主机

三、结果验证

四、常见报错解决

报错

2025-12-01 16:24:36 sh: /home/oracle/dbreport/check_alert_log.sh: Permission denied

解决方案

1.agent版本

如果使用的是zabbix-agent,只需在agent配置文件中加入AllowRoot=1,重启agent即可。

2.agent2版本

如果使用的是zabbix-agent2,配置文件是没有AllowRoot选项的,为此需要修改服务文件,将User和Group修改为root。

复制代码
[root@ys ~]# cat /usr/lib/systemd/system/zabbix-agent2.service
User=root
Group=root

3.重启agent服务

此时,agent进程是以root身份运行。

重启命令如下

systemctl daemon-reload---重新加载配置

systemctl restart zabbix-agent2.service----重启

最新数据里,获取到的值也恢复正常。

相关推荐
蜀道山老天师4 小时前
Docker Compose 多容器编排实战:LNMP、Tomcat 集群、云桌面、Portainer、Zabbix 一键部署
运维·docker·容器·tomcat·zabbix
mosaic_born10 小时前
centos 7.9 离线部署Zabbix 6.0.46 监控详细方案(解决数据库字符集问题)
数据库·centos·zabbix
爱莉希雅&&&1 天前
Zabbix监控linux服务器和Windows服务器
linux·运维·服务器·zabbix·监控
ElevenS_it1882 天前
连锁门店IT运维监控实战:200+门店网络设备+POS统一纳管+按区域分组告警路由完整配置(Zabbix Proxy架构)
运维·网络·架构·zabbix
万山寒4 天前
redhat 9 安装zabbix server pgsql
zabbix
.柒宇.6 天前
Zabbix7.0部署完整指南
linux·运维·zabbix·监控
ElevenS_it1887 天前
Redis监控实战:内存使用+命中率+连接数三类核心指标接入Zabbix+分级告警完整配置方案
运维·网络·redis·mybatis·zabbix
齐潇宇8 天前
Zabbix 7 概述与配置
linux·zabbix·监控告警
东北甜妹8 天前
Zabbix7设置警告
zabbix
眷蓝天8 天前
Zabbix 添加监控主机
zabbix