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

相关文章
|
4月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
342 3
Linux系统禁用swap
|
4月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
672 3
|
3月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
321 146
|
4月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
402 11
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
455 0
Linux系统初始化脚本
|
4月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
392 1
|
10月前
|
存储 弹性计算 安全
课时23:案例分享——钉钉
钉钉作为企业级产品,采用SaaS平台技术,依托阿里云的ECS、OSS等服务,实现快速部署与客户需求的高效适应。其数据存储于阿里云RDS中,确保安全性和可靠性,并通过高强度加密保障信息传输安全。阿里云的安全防护措施为钉钉提供了坚实后盾,使其能专注于优化和创新,提升用户体验。
318 0
|
存储 弹性计算 安全
成功案例-钉钉 | 学习笔记
快速学习 成功案例-钉钉
598 0
|
存储 弹性计算 安全
案例分享——钉钉
rds数据库 阿里云为钉钉提供了安全性和整体服务的稳定性
案例分享——钉钉