Kibana使用Watcher监控服务日志并发送飞书报警(Markdown)

Watcher是什么

Kibana Watcher 是 Elasticsearch 的监控和告警工具,它允许你设置和管理告警规则以监控 Elasticsearch 数据和集群的状态。Kibana Watcher 可以监测各种指标和数据,然后在满足特定条件时触发警报。它提供了一种强大的方式来实时监控 Elasticsearch 数据、集群性能、日志和事件,以及其他关键指标。

构造飞书报警内容

创建飞书群聊并添加飞书报警机器人, 获取Webhook地址


构造请求体

json 复制代码
{
    "msg_type": "interactive",
    "card": {
        "header": {
            "template": "red",
            "title": {
                "tag": "plain_text",
                "content": "接口请求预警(20m)"
            }
        },
        "config": {
            "wide_screen_mode": true,
            "enable_forward": true
        },
        "elements": [
            {
                "tag": "markdown",
                "content": "**接口:** /lastVersion\n**预警值:** 1000\n**请求次数:** 10000"
            }
        ]
    }
}

添加Watcher

入口: Stack Management -> Watcher -> Create

2种方式:

Create threshold alert: 一般用于简单的指标监控, 及Index数量统计

Create advanced watch: 高级预警, 用于创建更复杂和灵活的监控规则。

此时我们选Create advanced watch

Name为Watcher名称, 用于标识

ID为自动生成, 也可编辑

Watch JSON为具体配置, 示例如下:

json 复制代码
{
  "trigger": { // 触发时间
    "schedule": {
      "interval": "10m"
    }
  },
  "input": {
    "search": {
      "request": {
        "search_type": "query_then_fetch",
        "indices": [ // 索引
          "*"
        ],
        "rest_total_hits_as_int": true,
        "body": {
          "track_total_hits": true, // 精确查找个数
          "query": { // 查询近30min的/lastVersion请求次数
            "bool": {
              "must": {
                "match": {
                  "message": "/lastVersion"
                }
              },
              "filter": {
                "range": {
                  "@timestamp": {
                    "from": "{{ctx.trigger.scheduled_time}}||-30m",
                    "to": "{{ctx.trigger.triggered_time}}"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "condition": { // 触发条件
    "compare": {
      "ctx.payload.hits.total": { // 总数大于25w触发action
        "gte": 250000
      }
    }
  },
  "actions": {
    "feishu_webhook": { // 飞书报警
      "webhook": {
        "scheme": "https",
        "host": "open.feishu.cn",
        "port": 443,
        "method": "post",
        "path": "/open-apis/bot/v2/hook/**********",
        "params": {},
        "headers": {},
        "body": """
            {
                "msg_type": "interactive",
                "card": {
                    "header": {
                        "template": "red",
                        "title": {
                            "tag": "plain_text",
                            "content": "接口请求预警(30m)"
                        }
                    },
                    "config": {
                        "wide_screen_mode": true,
                        "enable_forward": true
                    },
                    "elements": [
                        {
                            "tag": "markdown",
                            "content": "**接口:** /lastVersion\n**预警值:** 200000\n**请求次数:** {{ctx.payload.hits.total}}"
                        }
                    ]
                }
            }
        """
      }
    }
  }
}

发送结果

相关推荐
亚信安全官方账号1 天前
亚信安全携手飞书“走近先进” 与保隆科技探索制造业数字化转型
飞书
JasonHome3 天前
安装ElasticSearch、Kibana
elasticsearch·kibana
HelpLook HelpLook3 天前
降本增效新策略:对比飞书和钉钉,HelpLook如何更灵活管理知识库访客权限?
人工智能·aigc·钉钉·飞书·企业知识库·ai知识库·访问权限
Java追光着3 天前
三种复制只有阅读权限的飞书网络文档的方法
飞书
beiback4 天前
Windows系统 ElasticSearch,分词器、Kibana安装
windows·elasticsearch·kibana
小李叭叭叭4 天前
ELK8.15.4搭建开启安全认证
运维·elk·elasticsearch·kibana
kissbike1487 天前
飞书文档只读限制复制
飞书
我是黄大仙8 天前
利用飞书多维表格自动发布版本
运维·服务器·数据库·飞书
悟空码字14 天前
使用免费的飞书机器人,实现消息推送实时通知
飞书·消息推送·群机器人
mixboot15 天前
飞书 富文本(Markdown)
飞书