使用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

相关文章
|
7天前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署envlinks极简个人导航页
【4月更文挑战第11天】Linux系统之部署envlinks极简个人导航页
41 2
|
10天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
61 0
|
10天前
|
监控 Unix Linux
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态
26 0
|
17天前
|
存储 前端开发 Linux
Linux系统之部署ToDoList任务管理工具
【4月更文挑战第1天】Linux系统之部署ToDoList任务管理工具
61 1
|
18天前
|
存储 传感器 运维
linux系统资源统计工具
【4月更文挑战第1天】Linux系统监控工具如dstat、htop、glances、vmstat、top、iostat、mpstat、sar和atop,用于跟踪CPU、内存、磁盘I/O、网络和进程性能。这些工具提供实时、交互式和历史数据分析,助力管理员优化系统性能和故障排查。例如,dstat是vmstat等工具的增强版,htop提供彩色界面的进程管理,而atop则结合了多种功能并记录历史数据。
27 5
linux系统资源统计工具
|
8天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
24 6
|
18天前
|
Ubuntu 架构师 Java
Linux系统常用命令非常详细建议收藏
Linux系统常用命令非常详细建议收藏
49 0
|
3天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令
|
12天前
|
Prometheus 监控 Cloud Native
【Linux】查看系统内存命令(详细讲解)
【Linux】查看系统内存命令(详细讲解)
|
14天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
35 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境