Logstash 推送告警到阿里钉钉(Dingtalk)

简介:

前段时间我们公司开始使用“钉钉”作为企业沟通工具。在知道钉钉群还能设置机器人接收定制的通知信息时,我就寻思如何把它和 logstash 结合在一起了。

首先要了解钉钉的“机器人”是如何设置的。文档在此

然后我们使用 logstash 的 http outputthrottle filter 插件。

首先设置 throttle 的条件,以我们的 monit 日志为例,先给 logstash 配置一个 filter 文件:

filter {
  if "monit" in [tags] {
    grok {
      match => { "message" => "\[CST %{SYSLOGTIMESTAMP:[monit][timestamp]}\]%{SPACE}%{LOGLEVEL:[monit][level]}%{SPACE}\:%{SPACE}%{GREEDYDATA:[monit][log]}" }
      remove_field => "message"
    }
    if [monit][level] == "error" {
      throttle {
        before_count => -1 # 最小值
        after_count => 1 # 最大值
        period => 1800 # 统计周期 1800 秒, 这个时间内不再触发同一个条件。
        max_age => 3600 # 最大有效周期 3600 秒
        key => "%{[monit][log]}" # 要统计的字段
        add_tag => "monit-throttle" # 注意:不符合以上条件的才会添加 tag。相应的 output 里要注意。
      }
    }
    date {
      match => [ "[monit][timestamp]", "MMM dd HH:mm:ss", "MMM  d HH:mm:ss" ]
      remove_field => "[monit][timestamp]"
    }
    mutate {
      add_field => { "indexname" => "monit" }
    }
  }
}

然后在 output 里配置:

output {
  if "monit-throttle" not in [tags] and [monit][level] == "error" {
    http {
      url => "{{ dingtalk_webhook_url }}"
      http_method => "post"
      content_type => "application/json; charset=utf-8"
      format => "message"
      message => '{"msgtype":"text","text":{"content":"[Monit] %{[monit][log]}"}}'
    }
  }
}

把 {{ dingtalk_webhook_url }} 替换成你的钉钉机器人 webhook url 即可。

最后我们就得到了这样的告警信息:
Screenshot_2018_4_24_

目录
相关文章
|
4月前
|
缓存
ecs-centos分区空间大于70时发送钉钉告警并清理
当分区空间大于70时,开始清理并发送钉钉告警。
83 1
|
4月前
|
机器人 关系型数据库 MySQL
shell脚本实现文件自动清理并推送钉钉机器人告警
shell脚本实现文件自动清理并推送钉钉机器人告警
92 1
|
4月前
|
运维 监控 安全
调用钉钉机器人API接口将堡垒机安全运维告警单发给运维人员
调用钉钉机器人API接口将堡垒机安全运维告警单发给运维人员
169 0
|
1月前
|
JSON 机器人 Go
go接收alertmanager告警并发送钉钉
go接收alertmanager告警并发送钉钉
|
1月前
|
存储 Prometheus Cloud Native
[prometheus]配置alertmanager和钉钉告警
[prometheus]配置alertmanager和钉钉告警
|
3月前
|
JSON 分布式计算 DataWorks
DataWorks产品使用合集之能否支持从结果表取出示警信息并且打通钉钉进行告警
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
Dubbo NoSQL Java
阿里(钉钉部门)远程面,三面坐上“直通车”,拿下offer没问题
本人毕业于华南地区某不知名211院校,Java方向,目前钉钉三面已经结束,基本可以说是坐上了“直通车”,收到的反馈都是比较好的,跟HR沟通感觉希望很大,按道理来说拿下offer是没有太大问题的,以下内容就是我这次的钉钉远程面试经历的一个分享和一些心得,希望对大家能够有所帮助。
|
4月前
|
安全 机器人 Shell
shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警
shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警
97 0
|
4月前
|
运维 监控 安全
【优化篇】调用钉钉机器人API接口将堡垒机安全运维告警单发给运维人员
【优化篇】调用钉钉机器人API接口将堡垒机安全运维告警单发给运维人员
116 0
|
10月前
|
监控 机器人 开发工具
python监控脚本外发钉钉告警
python监控脚本外发钉钉告警
140 1

热门文章

最新文章