docker部署钉钉机器人报警通知的实现

本文主要介绍了docker部署钉钉机器人报警通知的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

目录结构

[root@node1 ~]# tree prom
prom
├── docker-compose.yml  #docker-compose文件
├── grafana  #grafana数据挂载
├── prometheus_data  #Prometheus数据挂载
├── rules    #报警规则文件
│   ├── cpu_over.yml
│   ├── disk_over.yml
│   ├── memory_over.yml
│   └── node_alived.yml
└── yml
    ├── alertmanager.yml   alertmanager配置
    ├── config.yml   钉钉机器人配置
    └── prometheus.yml   Prometheus配置
[root@node1 prom]# cat docker-compose.yml
version: "3.7"
services:
  node-exporter:
    image: prom/node-exporter:latest
    container_name: "node-exporter"
    ports:
      - "9100:9100"
    restart: always
  cadvisor:
    image: google/cadvisor:latest
    container_name: cadvisor
    restart: always
    ports:
      - '8080:8080'
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    ports:
      - "9090:9090"
    restart: always
    volumes:
      - "./yml/prometheus.yml:/etc/prometheus/prometheus.yml"
      - "./prometheus_data:/prometheus"
      - "./rules:/etc/prometheus/rules"
  grafana:
    image: grafana/grafana
    container_name: "grafana"
    ports:
      - "3000:3000"
    restart: always
    volumes:
      - "./grafana:/var/lib/grafana"
  alertmanager:
    image: prom/alertmanager:latest
    restart: "always"
    ports:
      - 9093:9093
    container_name: "alertmanager"
    volumes:
      - "./yml/alertmanager.yml:/etc/alertmanager/alertmanager.yml"
  webhook:
    image: timonwong/prometheus-webhook-dingtalk
    restart: "always"
    ports:
      - 8060:8060
    container_name: "webhook"
    volumes:
      - "./yml/config.yml:/etc/prometheus-webhook-dingtalk/config.yml"
[root@node1 prom]# cat yml/prometheus.yml
# my global config
global:  # 此片段指定的是prometheus的全局配置, 比如采集间隔,抓取超时时间等.
  scrape_interval: 1m  # 抓取间隔 默认1m
  evaluation_interval: 1m   # 评估规则间隔 默认1m
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
 # 此片段指定报警配置, 这里主要是指定prometheus将报警规则推送到指定的alertmanager实例地址
alerting:
  alertmanagers:
    - static_configs:
        - targets:
           - 192.168.10.10:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
   - "/etc/prometheus/rules/*.yml"   #报警规则文件
#  - "cpu_over.yml"
#  - "disk_over.yml"
#  - "memory_over.yml"
#  - "node_alived.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
# 抓取配置列表
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]
  - job_name: "linux"
    static_configs:
      - targets: ["192.168.10.10:9100","192.168.10.10:8080","192.168.10.20:9100","192.168.10.20:8080"]
[root@node1 prom]#cat alertmanager.yml
global:
  resolve_timeout: 5m  #在指定时间内没有新的事件就发送恢复通知
route:
  receiver: webhook  #设置接收人
  group_wait: 1m  #组告警等待时间。在等待时间结束后,如果有同组告警一起发出
  group_interval: 1m  #两组告警间隔时间。
  repeat_interval: 1m  #重复告警间隔时间,减少相同邮件的发送频率。
  group_by: [alertname] #采用那个标签来作为分组。
receivers:   #通知接收者列表
- name: webhook
  webhook_configs:
  - url: http://192.168.10.10:8060/dingtalk/webhook1/send
    send_resolved: true

#########################################################

[root@node1 prom]# cat yml/config.yml
targets:
  webhook1:
    url: https://oapi.dingtalk.com/robot/send?access_token=XXXXXX    #webhook
    secret: SEC000000    #加签
[root@node1 prom]#cat alertmanager.yml
global:
  resolve_timeout: 5m  #在指定时间内没有新的事件就发送恢复通知
route:
  receiver: webhook  #设置接收人
  group_wait: 1m  #组告警等待时间。在等待时间结束后,如果有同组告警一起发出
  group_interval: 1m  #两组告警间隔时间。
  repeat_interval: 1m  #重复告警间隔时间,减少相同邮件的发送频率。
  group_by: [alertname] #采用那个标签来作为分组。
receivers:   #通知接收者列表
- name: webhook
  webhook_configs:
  - url: http://192.168.10.10:8060/dingtalk/webhook1/send
    send_resolved: true

#########################################################

[root@node1 prom]# cat yml/config.yml
targets:
  webhook1:
    url: https://oapi.dingtalk.com/robot/send?access_token=XXXXXX    #webhook
    secret: SEC000000    #加签

配置完成后docker-compose up -d 启动容器

http://localhost:8080   #cadvisor   
http://localhost:8080/metrics #cadvisor数据
http://localhost:9100/metrics   #node-exporter数据
http://localhost:9090 #prometheus
http://localhost:3000   #grafana

http://localhost:9090/alerts

实现效果

到此这篇关于docker部署钉钉机器人报警通知的实现的文章就介绍到这了,更多相关docker 钉钉机器人报警内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker compose一键安装mirai搭建QQ机器人最快操作方法

    目录 登录手机QQ 安装基本的插件 编辑配置文件 http协议设置 先用官方的脚本安装下docker curl -sSL https://get.docker.com/ | sh 安装docker-compose curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compo

  • docker部署钉钉机器人报警通知的实现

    本文主要介绍了docker部署钉钉机器人报警通知的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 目录结构 [root@node1 ~]# tree prom prom ├── docker-compose.yml #docker-compose文件 ├── grafana #grafana数据挂载 ├── prometheus_data #Prometheus数据挂载 ├── rules #报警规则文件 │ ├── c

  • SpringBoot接入钉钉自定义机器人预警通知

    目录 1.使用pom安装依赖 2.发送机器人消息规则 3.钉钉消息发送代码 4. 结果演示 1.使用pom安装依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.8</version> </dependency> 2.发送机器人消息规则 钉钉公开API https://oapi

  • php封装实现钉钉机器人报警接口的示例代码

    本文主要讲述的是如何通过签名方式实现钉钉机器人报警的功能: 1.关于签名的生成: /** * 签名实现 */ list($s1, $s2) = explode(' ', microtime()); $timestamp = (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000); $secret = '****'; $data = $timestamp . "\n" . $secret; $signStr = bas

  • 钉钉群自定义机器人消息Python封装的实例

    一.钉钉群自定义机器人介绍 钉钉群机器人是钉钉群的一个高级扩展功能,然而使用起来却非常简单,只有注册一个钉钉账号即可,就可以将第三方服务的信息聚合到钉钉群中,实现信息的自动化同步,例如:通过聚合Github.Gitlab等源码管理服务,实现源码更新同步:通过聚合Trello.JIRA等项目协调服务,实现项目信息同步:同事,支持Webhook协议的自定义接入,支持更多可能性,例如:将运维报警提醒.自动化测试的结果报告提醒.工作.生活日程安排(上班打卡.下班吃饭.健身.读书.生日.纪念日-)等等的提

  • SpringBoot实现钉钉机器人消息推送的示例代码

    零.前言 上一次做消息推送,是微信公众号的定时消息通知. 由于自己当时的水平不够,加上企鹅家的开发文档普遍不太友好,导致根本看不懂文档在写什么,不得不去看第三方博客来学习公众号的开发. 这次就不一样了,昨天刚看了一下,阿里的开发文档比鹅厂要清晰的多,而且在同一功能上,使用了多种语言作为示例代码,可以说很友好了.可能这就是阿里和鹅厂的区别吧...辣鸡文档和好文档的区别... 本着"授之以渔"的态度,写了这篇文章,作为官方文档的补充. 一.在群里添加机器人 在群设置的智能群助手中添加自定义

  • shell 操作钉钉机器人实现告警提醒的方法

    我们知道,之前的运维告警多通过mail 等方式通知到相应的人员,难以实现随时随地的查看.随着手机APP的发展,很多告警开始发送到IM软件上去.目前比较常用的是发送到微信和钉钉上,今天我们将重点放在钉钉上.群机器人是钉钉群的高级扩展功能,群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步.借助钉钉机器人,通过官方提供的API,可以很方便的post数据到相应的接收人 .群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警通过自定义机器人聚合到钉钉群实现提醒功

  • go开发alertmanger实现钉钉报警

    通过自己的url实现alertmanager的钉钉报警 webhook在alertmanger的配置 - name: 'dingding' webhook_configs: - send_resolved: true url: 'http://xxxx:8080/Alert' go实现钉钉报警的程序 package main import ( "bytes" "encoding/json" "fmt" "net/http" &

  • Python实现钉钉发送报警消息的方法

    钉钉开放平台传送门:https://open.dingtalk.com 我司使用钉钉作为内部通讯工具,基本上大家在电脑和手机上都开着,消息可以第一时间查看,报警消息的即时性要求比较高,所以适合用钉钉通知. 下面介绍如何用Python实现钉钉发送报警消息. 获取access token 要使用钉钉发送消息,首先需要获取access token,代码如下: def get_access_token(): url = 'https://oapi.dingtalk.com/gettoken?corpid

  • java实现钉钉机器人消息推送的示例代码

    先建个钉钉群,并加好机器人 此时,机器人已经添加完毕,接下来编写我们连接机器人小哥的代码 import com.alibaba.fastjson.JSON; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import java.util.List; import java.util.Map; /** * @author yanghao * @version DingTalkTest.j

  • 详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)

    最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用,真的让人觉得阿里的pm都是脑残才会设计出这种脑残产品,不过吐槽归吐槽,该用还得用,虽然钉钉别的功能很鸡肋,但是机器人这个功能还是让人眼前一亮,属于比较极客的功能,它可以将第三方服务的信息聚合到钉钉群中,实现信息的自动化同步,例如:通过聚合Github.Gitlab等源码管理服务,实现源码更新同步:通过聚合Trello.JIRA等项目协调服务,实现项目信息同步:同事,支持W

随机推荐