跳到主要内容
版本:v1.5.x

自定义插件

自定义插件

简介

当前Hertzbeat在使用时,主要依赖alert模块对用户进行通知,然后用户采取一些措施如发送请求、执行sql、执行shell脚本等。 但目前只能通过手动或者webhook接收告警信息进行自动化处理。基于此,HertzBeat新增了plugin模块,该模块有一个通用接口Plugin,用户可以自己实现这个接口的alert方法,接收Alert类作为参数进行自定义操作。 用户添加自定义代码后,只需要对plugin模块进行打包,拷贝到安装目录下/ext-lib文件夹中,重启HertzBeat主程序,即可实现告警后执行自定义功能,无需自己重新打包部署整个程序。 目前,HertzBeat只在告警后设置了触发alert方法,如需在采集、启动程序等时机设置触发方法,请在https://github.com/apache/hertzbeat/issues/new/chooseTask

具体使用

  1. 拉取主分支代码 git clone https://github.com/apache/hertzbeat.git ,定位到plugin模块的 Plugin接口。 plugin-1.png
  2. org.apache.hertzbeat.plugin.impl目录下, 新建一个接口实现类,如org.apache.hertzbeat.plugin.impl.DemoPluginImpl,在实现类中接收Alert类作为参数,实现alert方法,逻辑由用户自定义,这里我们简单打印一下对象。 plugin-2.png
  3. 打包hertzbeat-plugin模块。 plugin-3.png
  4. 将打包后的jar包,拷贝到安装目录下的ext-lib目录下(若为docker安装则先将ext-lib目录挂载出来,再拷贝到该目录下) plugin-4.png
  5. 然后重启HertzBeat,即可实现自定义告警后处理策略。