51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Zabbix5.0监控ogg并自动拉起进程

我这里通过ggsci的info all来判断Status状态是否正常,如果状态是STOPPED、ABEND则触发钉钉告警,然后让zabbix自动拉起服务,当然此处可结合自身需求进行设置,例如:不包含RUNNING的状态则触发警告,只需要grep -v "RUNNING"即可。

在配置ogg监控时,请熟悉使用zabbix,熟悉相关工作原理,避免在配置的时候导致报错!

1、在ogg服务器上安装zabbix-agent

安装zabbix-agent建议直接使用官方rpm包方式(或国内镜像的rpm包)
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm yum install zabbix-agent

|-----|------------------------------------------------------------------------------------------------------------------------| | 1 2 | rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm yum install zabbix-agent |

2、修改zabbix-agent配置文件

zabbix-agent默认的配置文件在/etc/zabbix/zabbix_agentd.conf

我这里只修改两处,其他配置结合自身使用情况进行调整,当然你也可以只修改两处,其他配置项不修改。

添加以下一行内容,表示允许通过zabbix执行远程命令(因为我这里要通过zabbix远程启动ogg服务,所以开启,如你不需要则无需配置)
EnableRemoteCommands=1

|---|------------------------| | 1 | EnableRemoteCommands=1 |

配置zabbix-server地址,其中10.10.10.10表示你当前zabbix-server的地址
Server=10.10.10.10

|---|--------------------| | 1 | Server=10.10.10.10 |

3、配置zabbix用户权限
visudo

|---|--------| | 1 | visudo |

先给zabbix用户设置免密授权,因为我这里ggsci是通过oracle用户来执行的,如果不授权zabbix用户,则无法调用oracle用户来执行ggsci。
zabbix ALL=(ALL) NOPASSWD:ALL

|---|-------------------------------| | 1 | zabbix ALL=(ALL) NOPASSWD:ALL |


4、自定义zabbix键值
cd /etc/zabbix/zabbix_agentd.d

|---|--------------------------------| | 1 | cd /etc/zabbix/zabbix_agentd.d |

新建一个自定的键,我这里定义为monitor.ogg,其中monitor.ogg名字可自行更改,后面的语句就是一个shell脚本,表示通过oracle用户来执行ggsci的info all命令,然后通过grep查看是否存在ABEND或STOPPED状态,**注意:**我这里监控的Group是EXTKF,你的不一定是这个名字,按需进行更改。
vi userparameter_ogg.conf UserParameter=monitor.ogg,sudo su - oracle -c 'echo "info all" | /u01/ogg/ggsci | grep "EXTKF" | egrep "ABEND|STOPPED" | wc -l'

|-----|----------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 | vi userparameter_ogg.conf UserParameter=monitor.ogg,sudo su - oracle -c 'echo "info all" | /u01/ogg/ggsci | grep "EXTKF" | egrep "ABEND|STOPPED" | wc -l' |

5、启动zabbix-agent
systemctl enable zabbix-agent systemctl start zabbix-agent

|-----|------------------------------------------------------------| | 1 2 | systemctl enable zabbix-agent systemctl start zabbix-agent |

此时zabbix-agent就配置好了,如果开启了防火墙,请注意放行相关端口

6、配置zabbix-server,创建监控模板

在zabbix-server仪表盘中,创建ogg的监控模板,当然你也可以直接创建监控项而不配置模板

注意:此处键值monitor.ogg与之前在agent中配置的键一定要一致


配置触发器

{monitor.ogg:monitor.ogg.last()}<>0表示,执行sudo su - oracle -c 'echo "info all" | /u01/ogg/ggsci | grep "EXTKF" | egrep "ABEND|STOPPED" | wc -l'结果不等于0,则触发警告


图形配置


至此ogg监控就配置完成了,一旦ogg服务状态是STOPPED或ABEND时,则触发报警。

如果你只需要一个报警监控,那么后面的内容就无需看了,我这里只是以ogg作为例子,提供一个自定义键值的思路,如果你理解其中的原理,那么便可举一反三!!!

钉钉报警设置请参考:https://blog.whsir.com/post-6090.html

7、自动启动ogg服务

在zabbix-server仪表盘中,配置→动作



告警操作

主题:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

消息:在消息首行添加关键词,此关键词和钉钉上的关键词需保持一致,可以使用中文名称
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}



恢复操作


恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

赞(0)
未经允许不得转载:工具盒子 » Zabbix5.0监控ogg并自动拉起进程