51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

kibana 监控k8s日志-pod (小技巧)

有些KQL 我们不会写, 可以借助官方的工具,特别方便。

比如我们要过滤某个 容器的日志是否出现 error 信息

我们先在discover 中 查找一下

如何设置discoer 索引 可以参考 es 安装 kibana 安装 tar.gz (推荐) : 连接

1- 比如查找 zookeeper pod 的 error

kubernetes.container_name:"container-cloud-service-prod" and log: "error"

然后点击 "检查"

然后点击 "请求"

把这个复制一下, 我们只要
query 字段的信息,然后在粘贴到我们 watcher 中

注意时间范围

不然写死了,就容易发生死循环,一直告警。

                    "@timestamp": {
                      "from": "{{ctx.trigger.scheduled_time}}||-15m",
                      "to": "{{ctx.trigger.triggered_time}}"
                    }

5分钟执行一次, 最近5分钟的日志是否有error 出现

{
  "trigger": {
    "schedule": {
      "interval": "5m"
    }
  },
  "input": {
    "search": {
      "request": {
        "search_type": "query_then_fetch",
        "indices": [
          "ks-logstash*"
        ],
        "rest_total_hits_as_int": true,
        "body": {
          "query": {
            "bool": {
              "must": [],
              "filter": [
                {
                  "bool": {
                    "filter": [
                      {
                        "bool": {
                          "should": [
                            {
                              "match_phrase": {
                                "kubernetes.container_name": "container-zookeeper-v2-prod"
                              }
                            }
                          ],
                          "minimum_should_match": 1
                        }
                      },
                      {
                        "bool": {
                          "should": [
                            {
                              "match_phrase": {
                                "log": "error"
                              }
                            }
                          ],
                          "minimum_should_match": 1
                        }
                      }
                    ]
                  }
                },
                {
                  "range": {
                    "@timestamp": {
                      "from": "{{ctx.trigger.scheduled_time}}||-5m",
                      "to": "{{ctx.trigger.triggered_time}}"
                    }
                  }
                }
              ],
              "should": [],
              "must_not": []
            }
          }
        }
      }
    }
  },
  "condition": {
    "compare": {
      "ctx.payload.hits.total": {
        "gte": 0
      }
    }
  },
  "actions": {
    "webhook_1": {
      "webhook": {
        "scheme": "http",
        "host": "192.168.1.250",
        "port": 80,
        "method": "post",
        "params": {},
        "headers": {},
        "body": """{"msgtype": "text","text": {"content": "生产-cloudservice-error监控---container-zookeeper-v2-prod--- 日志出现 error 请尽快处理 "}, "errmsg": "aa"}"""
      }
    }
  }
}
赞(3)
未经允许不得转载:工具盒子 » kibana 监控k8s日志-pod (小技巧)