事件监控是Kubernetes中的另一种监控方式,可以弥补资源监控在实时性、准确性和场景上的缺欠。Kubernetes的架构设计是基于状态机的,不同的状态之间进行转换则会生成相应的事件,正常的状态之间转换会生成Normal等级的事件,正常状态与异常状态之间的转换会生成Warning等级的事件。开发者可以通过获取事件,实时诊断集群的异常与问题。

背景信息

kube-eventer是阿里云容器服务维护的开源Kubernetes事件离线工具,可以将集群的事件离线到钉钉、SLS等系统,并提供不同等级的过滤条件,实现事件的实时采集、定向告警、异步归档。更多内容请参见kube-eventer

通过以下三种场景为您介绍事件监控。

场景1:使用钉钉实现Kubernetes监控告警

使用钉钉机器人监控并告警Kubernetes的事件是一个非常典型的ChatOps实现。具体的操作步骤如下:

  1. 单击钉钉群右上角图标,进入群设置页面。
  2. 单击群机器人,进入群机器人页面,选择需要添加的机器人。此处选择自定义机器人。
  3. 在机器人详情页面,单击添加,进入添加机器人页面。
  4. 根据如下信息配置群机器人后,单击完成添加。
     
    配置 说明
    编辑头像 (可选)为群机器人设置头像。
    机器人名字 添加的机器人名称。
    添加到群组 添加机器人的群组。
    是否开启Outgoing机制 (可选)通过@群机器人,将消息发送到指定外部服务,还可以将外部服务的响应结果返回到群组。

     
    说明 建议不开启。
    POST 地址 接收消息的HTTP服务地址。

     
    说明 当选择开启Outgoing机制时,此项可配置。
    Token 用于验证请求来自钉钉的密钥。

     
    说明 当选择开启Outgoing机制时,此项可配置。
  5. 单击复制,复制webhook地址。

     
    说明 在群机器人页面,选择目标群机器人,单击右侧图标可以:

    • 修改群机器人的头像及机器人名字。
    • 开启或关闭消息推送。
    • 重置webhook地址。
    • 删除群机器人。

  6. 登录容器服务管理控制台
  7. 在Kubernetes菜单下,单击左侧导航栏中的应用 > 无状态,进入 无状态(Deployment)页面。
  8. 选择目标集群,命名空间选为kube-system,单击右上角使用模板创建。
  9. 根据以下信息配置模板,完成后单击创建。
     
    配置 说明
    集群 选择目标集群。
    命名空间 选择资源对象所属的命名空间,默认是 default。此处选择kube-system。
    示例模板 阿里云容器服务提供了多种资源类型的 Kubernetes yaml 示例模板,让您快速部署资源对象。您可以根据 Kubernetes Yaml 编排的格式要求自主编写,来描述您想定义的资源类型。此处选择自定义。
    模板 填写以下自定义内容:

     
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
    name: eventer
    namespace: kube-system
    spec:
    replicas: 1
    template:
    metadata:
    labels:
    task: monitoring
    k8s-app: eventer
    annotations:
    scheduler.alpha.kubernetes.io/critical-pod: ''
    spec:
    serviceAccount: admin
    containers:
    - name: eventer
    image: registry.cn-hangzhou.aliyuncs.com/acs/eventer:v1.6.0
    imagePullPolicy: IfNotPresent
    command:
    - /eventer
    - --source=kubernetes:https://kubernetes.default
    - --sink=dingtalk:[your_webhook_url]&label=[your_cluster_id]&level=[可选参数:Normal或者Warning,默认值为:Warning] #level可配置为:Normal或Warning,默认值为:Warning。当配置Normal时,会在钉钉群收到Normal和Warning级别的告警;不配置或配置为Warning时,钉钉群仅收到Warning级别的告警。

    在集群列表页面选择目标集群,单击操作列控制台,进入Kubernetes 控制台,选择命名空间为kube-system,单击左侧导航栏部署,可查看到eventer已部署成功。

预期结果:

部署成功后30s,eventer生效,当事件等级超过阈值等级时,即可在钉钉群收到如下告警。
 

阿里云k8s事件监控的更多相关文章

  1. 【转载】阿里云ECS服务器监控资源使用情况

    在阿里云Ecs服务器运维过程中,无论是Centos系统还是Windows系统,有时候我们需要监控分析最新的服务器资源利用率等运行情况,例如最近3个小时CPU使用率情况.内存使用率.网络流入带宽.网络流 ...

  2. 阿里云k8s应用最新日志采集不到的问题

    问题描述: 阿里云k8s应用日志之前一直都是可以正常的采集, 先出现一问题, 通过kibana 和阿里云的日志服务都没法展示最新的k8s应用的日志, 部分应用的最新日志有被采集到,但大部分应用日志没有 ...

  3. 使用Gitlab-CI 实现NetCore项目Docker化并部署到阿里云K8S

    使用Gitlab-CI 实现NetCore项目Docker化并部署到阿里云K8S 先行条件: 1.了解NetCore项目基础命令,如dotnet publish   等几个常用命令. 2.了解Dock ...

  4. 朱晔和你聊Spring系列S1E11:小测Spring Cloud Kubernetes @ 阿里云K8S

    有关Spring Cloud Kubernates(以下简称SCK)详见https://github.com/spring-cloud/spring-cloud-kubernetes,在本文中我们主要 ...

  5. 阿里云k8s部署zookeeper集群

    1. 阿里云k8s创建有状态应用 StatefulSet ,  选择使用模板创建 可以创建自定义模板 apiVersion: apps/v1 kind: StatefulSet metadata: c ...

  6. 阿里云应用实时监控 ARMS 再升级,支持 Prometheus 开源生态

    摘要: 应用实时监控服务 (ARMS) 是一款APM类的监控产品. 用户可基于 ARMS 的前端.应用.自定义监控,快速构建实时的应用性能和业务监控能力.ARMS 让所有性能问题“一屏了然”,不遗余力 ...

  7. 阿里云K8S下玩.NET CORE 3.1

    1. 创建阿里云K8S集群,本文以标准托管集群为例 1.1 创建一个 2台 centos 2core 4G的 k8s 集群 1.2 创建成功的模样 2. 创建 asp.net core webapi项 ...

  8. shell脚本监控k8s集群job状态,若出现error通过触发阿里云的进程监控报警

    #!/bin/bash while [ 1 ] do job_error_no=`kubectl get pod -n weifeng |grep -i "job"|grep -c ...

  9. 阿里云容器Kubernetes监控(九) - Kubernetes事件离线工具kube-eventer正式开源

    前言 监控是保障系统稳定性的重要组成部分,在Kubernetes开源生态中,资源类的监控工具与组件百花齐放.除了社区自己孵化的metrics-server,还有从CNCF毕业的Prometheus等等 ...

随机推荐

  1. test20191205 WC模拟赛

    又是先开T3的做题顺序,搞我心态.以后我必须先看看题了. 整数拆分 定义 \(f_m(n)\) 表示将 \(n\) 表示为若干 \(m\) 的非负整数次幂的和的方案数.例如,当 \(m = 2\) 的 ...

  2. 关于Python文件读写

    Python中文件操作可以通过open函数,这的确很像C语言中的fopen.通过open函数获取一个file object,然后调用read(),write()等方法对文件进行读写操作. 1.open ...

  3. secureCRT无操作自动登出时间修改(亲测可用)

    转自:http://blog.sina.com.cn/s/blog_6bcf42010102vlt9.html secureCRT连接机器经常会因为一段时间无操作就退出了,提示timed out wa ...

  4. HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag

    我在项目中导入了jar,还是不能使用EL表达式,一运行就出现了下面的额错误: org.apache.jasper.JasperException: javax.servlet.ServletExcep ...

  5. Daily consumption

    Bill record, standard of living, record every consumption, income, expenditure, manage your own life

  6. Dinner Bet Gym - 101174D (期望dp)

    Problem D: Dinner Bet \[ Time Limit: 1.5 s \quad Memory Limit: 256 MiB \] 题意 题意是两个人在玩游戏,一共有\(n\)张牌,这 ...

  7. LeetCode 752. Open the Lock

    原题链接在这里:https://leetcode.com/problems/open-the-lock/ 题目: You have a lock in front of you with 4 circ ...

  8. 01_搭建基本的FTP服务器(数通华为)

    1.选择客户端和服务端: 2.FTP服务端配置设置待FTP的文件: 3.客户端配置访问: 4.双击下载到本地:

  9. 从WinDbg中的转储查看操作系统版本和SP详细信息

    这是一个很常见的问题,我们几乎总是遇到.想象一下这样一种情况,我们从某个地方得到一个内存转储,想看看在那里运行的是什么操作系统,安装了什么SP..为此,有一个非常简单的命令. 0:000> ve ...

  10. 8.8poc包问题

    对于8.8的包的问题:zabbix server设备重启后 zabbix server,mariadb,zabbix agent启动不了.是因为在7代的centos中在主机重启后.自动删除了/var/ ...