使用Telegraf+GrayLog实现Linux业务系统服务异常时自动推送钉钉告警

简介: 使用Telegraf+GrayLog实现Linux业务系统服务异常时自动推送钉钉告警

使用Telegraf+GrayLog实现Linux业务系统服务异常时自动推送钉钉告警


实现过程参考Telegraf官方文档


https://docs.influxdata.com/telegraf/v1.24/get_started/
https://github.com/influxdata/telegraf/blob/release-1.24/plugins/inputs/exec/README.md
https://sbcode.net/grafana/telegraf-inputs-exec-monitor-ssh-sessions/


一、GrayLog上配置Telegraf的GELF UDP方式接入Input和Stream


步骤较简单,下面只展示配置时的一些截图

640.png

640.png


640.png

640.png


640.png



记得GrayLog上开放input设置的端口


firewall-cmd --permanent --zone=public --add-port=12201/udp
firewall-cmd --reload



640.png


二、业务服务器上安装Telegraf并配置telegraf.conf


1、业务服务器上创建一个XX服务检测脚本


640.png

vim /opt/service_check.sh 
#!/bin/sh
status=$(/usr/bin/systemctl status sshd | grep Active | awk -F "since" '{print $1}')
echo $status
chmod 777 /opt/service_check.sh
  • 2、telegraf.conf配置文件生成并修改


rpm -ivh telegraf-1.24.3-1.x86_64.rpm
telegraf --sample-config --input-filter exec --output-filter graylog > telegraf.conf
vim telegraf.conf

640.png


最终的telegraf.conf 配置文件如下


#cat telegraf.conf | grep -v  ^# | grep -v ^$ | grep -v ^.*## | grep -v ^.*#
[global_tags]
[agent]
  interval = "10s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  precision = "0s"
  hostname = ""
  omit_hostname = false
[[outputs.graylog]]
  servers = ["udp://192.168.31.170:12201"]
[[inputs.exec]]
  commands = [ "sh /opt/service_check.sh" ]
  timeout = "10s"
  name_override = "sshd_service_status_check"
  data_format = "value"
  data_type = "string"
  interval = "45s"
cd /etc/telegraf/
mv telegraf.conf telegraf.conf_default
cp /root/telegraf.conf ./
chmod 644 telegraf.conf
systemctl start telegraf

640.png


启动报错,原因为telegraf.conf的权根


640.png

三、GrayLog上查看telegraf日志并配置告警


640.png



其中 PrometheusAlert告警模板

640.png

## [Graylog告警信息](.check_result.Event.Source)
### <font color=#FF0000>告警描述:{{.event_definition_description}}</font> 
{{ range $k,$v:=.backlog }}
##### <font color="#FF0000">告警时间</font>:{{GetCSTtime $v.timestamp}} </br>
##### <font color="#FF0000">告警服务器名称</font>:{{$v.source}} </br>
##### <font color="#FF0000">告警服务器IP地址</font>:{{$v.fields.gl2_remote_ip}} </br>
##### <font color="#FF0000">服务目前状态</font>:{{$v.fields.value}} </br>
{{end}}


GrayLog告警配置过程截图



640.png

640.png

640.png

640.png


640.png

640.png

640.png

相关文章
|
11月前
|
缓存
ecs-centos分区空间大于70时发送钉钉告警并清理
当分区空间大于70时,开始清理并发送钉钉告警。
135 1
|
11月前
|
机器人 关系型数据库 MySQL
shell脚本实现文件自动清理并推送钉钉机器人告警
shell脚本实现文件自动清理并推送钉钉机器人告警
151 1
|
8月前
|
缓存 容灾
钉钉发展与优化迭代问题之当钉钉的路由服务出现异常时,路由的可用性如何保障
钉钉发展与优化迭代问题之当钉钉的路由服务出现异常时,路由的可用性如何保障
|
8月前
|
存储 边缘计算 缓存
钉钉发展与优化迭代问题之钉钉每次消息发送都要查询路由服务带来的压力如何解决
钉钉发展与优化迭代问题之钉钉每次消息发送都要查询路由服务带来的压力如何解决
|
8月前
|
JSON 机器人 Go
go接收alertmanager告警并发送钉钉
go接收alertmanager告警并发送钉钉
111 0
|
8月前
|
存储 Prometheus Cloud Native
[prometheus]配置alertmanager和钉钉告警
[prometheus]配置alertmanager和钉钉告警
380 0
|
10月前
|
JSON 分布式计算 DataWorks
DataWorks产品使用合集之能否支持从结果表取出示警信息并且打通钉钉进行告警
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
11月前
|
机器人 Linux 数据安全/隐私保护
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
Python办公自动化【Windows中定时任务、OS/linux 系统定时任务 、Python 钉钉发送消息、Python 钉钉发送图片】(九)-全面详解(学习总结---从入门到深化)
406 0
|
11月前
|
安全 机器人 Shell
shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警
shell脚本实现Linux磁盘空间超过阈值自动钉钉机器人告警
160 0
|
1月前
|
存储 弹性计算 安全
课时23:案例分享——钉钉
钉钉作为企业级产品,采用SaaS平台技术,依托阿里云的ECS、OSS等服务,实现快速部署与客户需求的高效适应。其数据存储于阿里云RDS中,确保安全性和可靠性,并通过高强度加密保障信息传输安全。阿里云的安全防护措施为钉钉提供了坚实后盾,使其能专注于优化和创新,提升用户体验。
下一篇
oss创建bucket