kube-event для мониторинга событий K8s

монитор
kube-event для мониторинга событий K8s

задний фон

В настоящее время мониторинг k8s можно разделить на: мониторинг ресурсов, мониторинг производительности, безопасность и работоспособность и т. д. Однако в K8s для представления состояния объекта ресурса и перехода состояний ресурсов некоторых столбцов требуется мониторинг событий. , Alibaba имеет события K8s с открытым исходным кодом.Проект мониторинга kube-eventer, который делит события на два типа, одно из которых является предупреждением, что означает, что переход состояния, который генерирует это событие, генерируется между неожиданными состояниями, а другой — нормальное событие, которое означает ожидаемое состояние, которое согласуется с текущим состоянием.

Вы можете собирать события ресурсных объектов, таких как POD / Node / Kublet, а также события пользовательских ресурсов объектов и отправляют их в хорошо настроенный приемник для обработки агрегирования. Диаграмма архитектуры показана ниже.

图片描述

Две установки и развертывания

Используя проект Alibaba по мониторингу событий k8s с открытым исходным кодом, вы можете собирать журналы событий k8s для настройки уровней сигналов тревоги.

2.1 Конфигурация робота DingTalk

В настоящее время для новых пользовательских роботов требуется настройка безопасности, настройка тегов, а затем определение в Label of Sink.

图片描述
图片描述

вебхук для ведения записей

https://oapi.dingtalk.com/robot/send?access_token=e1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8fe

2.2 Развертывание ресурсов

apiVersion: apps/v1beta2
kind: Deployment
metadata:
  labels:
    name: kube-eventer
  name: kube-eventer
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kube-eventer
  template:
    metadata:
      labels:
        app: kube-eventer
    spec:
      dnsPolicy: ClusterFirstWithHostNet
      serviceAccount: kube-eventer
      containers:
        - image: registry.aliyuncs.com/acs/kube-eventer-amd64:v1.1.0-63e7f98-aliyun
          name: kube-eventer
          command:
            - "/kube-eventer"
            - "--source=kubernetes:https://kubernetes.default"
            ## .e.g,dingtalk sink demo
            - --sink=dingtalk:https://oapi.dingtalk.com/robot/send?access_token=exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx28fe&label=anchnet-kubesphere&level=Warning&msg_type=markdown
          env:
          # If TZ is assigned, set the TZ value as the time zone
          - name: TZ
            value: America/New_York
          volumeMounts:
            - name: localtime
              mountPath: /etc/localtime
              readOnly: true
            - name: zoneinfo
              mountPath: /usr/share/zoneinfo
              readOnly: true
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
            limits:
              cpu: 500m
              memory: 250Mi
      volumes:
        - name: localtime
          hostPath:
            path: /etc/localtime
        - name: zoneinfo
          hostPath:
            path: /usr/share/zoneinfo

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: kube-eventer
rules:
  - apiGroups:
      - ""
    resources:
      - events
    verbs:
      - get
      - list
      - watch
  
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  annotations:
  name: kube-eventer
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: kube-eventer
subjects:
  - kind: ServiceAccount
    name: kube-eventer
    namespace: kube-system
    
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kube-eventer
  namespace: kube-system

Три сигнализация

3.1 Проверка доступа к DingTalk

--sink=dingtalk:https://oapi.dingtalk.com/robot/send?access_token=exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx28fe&label=anchnet-kubesphere&level=Warning&msg_type=markdown

图片描述

3.2 Enterprise Wechat Access Test

--sink=wechat:?corp_id=wwxxxxxxxxxx1a&corp_secret=gxxxxxxxxxxxxxxxxxxxxxxxxxxx4U&agent_id=10xxxxxx7&to_user=&level=Warning&label=K8S-Alert-Prod&msg_type=markdown

图片描述

Ссылка на ссылку