Алертинг по логам кластера

В платформе “Штурвал” для кластеров (клиентских, управления) реализовано хранение логов в VLogs. Логи кластера доступны на вкладке Логи дашборда кластера.

При необходимости вы можете настроить оповещение (алертинг) по логам кластера (клиентского, управления). Для этого:

В кластере управления с помощью импорта манифестов для кластера, где требуется алертинг по логам, загрузите кастомные ресурсы VMRule и VMAlert, используя свои значения параметров.

Пример VMRule
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMRule
metadata:
  labels:
    cluster: <ваше значение параметра>
    role: user
    vmalert-type: vlogs
  name: <ваше значение параметра>
  namespace: <ваше значение параметра>
spec:
  groups:
    - headers:
        - <ваше значение параметра>
      interval: 5m
      name: <ваше значение параметра>
      type: vlogs
      rules:
        - alert: <ваше значение параметра>
          annotations:
            description: 'SSC {{ index $labels "objectRef.name" }} was updated by {{ index $labels "user.username" }} in the last {{$for}}'
          expr: objectRef.resource:"shturvalserviceconfigs" verb:~"patch|update" | stats by(objectRef.name, objectRef.resource, user.username) count() as updateSSC | filter updateSSC:>1
          labels:
            source: vlogs 

Согласно установленному правилу в expr оповещения будут приходить при изменении в сервисах кластера.

Параметр Описание Тип данных Пример
metadata.cluster Имя кластера, где требуется алертинг по логам string clustername
metadata.name Имя правила string vlogs
groups.name Имя группы правил string vlogsgroup
groups.headers Проект (ProjectID) в VLogs. Обратите внимание! Возможно указать только один проект array ProjectID: 4
rules.alert Имя алерта (оповещения) string vlogsrule
Пример VMAlert
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAlert
metadata:
  annotations:
  labels:
    cluster: <ваше значение параметра> 
  name: vlogs
  namespace: <ваше значение параметра> 
spec:
  datasource:
    url: <ваше значение параметра>
  evaluationInterval: 30s
  externalLabels:
    cluster: <ваше значение параметра>
  extraArgs:
    rule.defaultRuleType: vlogs
  image: {}
  notifiers:
    - url: http://vmalertmanager-shturval-metrics-collector.victoria-metrics:9093
  remoteRead:
    url: <ваше значение параметра>
  remoteWrite:
    url: <ваше значение параметра>
  resources:
    limits:
      cpu: <ваше значение параметра>
      memory: <ваше значение параметра>
    requests:
      cpu: <ваше значение параметра>
      memory: <ваше значение параметра>
  ruleSelector:
    matchLabels:
      vmalert-type: vlogs
      cluster: <ваше значение параметра>clustername
  ruleNamespaceSelector: {}
  selectAllByDefault: false 
Параметр Описание Тип данных Пример
metadata.namespace Имя неймспейса кластера, в котором настраивается алертинг по логам string clustername
metadata.labels.cluster Имя кластера, в котором настраивается алертинг по логам string clustername
spec.datasource.url URL-адрес источника логов кластера string http://vlogs-logs.clustername:9428
externalLabels.cluster Имя кластера, в котором настраивается алертинг по логам string clustername
spec.remoteRead.url URL-адрес Victoria Metric Select. Вместо monitoring_id укажите значение аннотации кластера с таким ключом string http://shturval-monitoring-vmselect.victoria-metrics:8481/select/monitoring_id:3/prometheus
spec.remoteWrite.url URL-адрес Victoria Metrics Insert. Вместо monitoring_id укажите значение аннотации кластера с таким ключом string http://shturval-monitoring-vminsert.victoria-metrics:8480/insert/monitoring_id:3/prometheus
spec.resources Ресурсы requests и limits string[]object limits:
  cpu: 200m
    memory: 256Mi
  requests:
    cpu: 100m
      memory: 128Mi
Скриншот

logs-alert

Нажмите Проверить и Сохранить.

Проверить алертинг по логам можно с помощью уведомления на devmail. Инструкция по настройке devmail находится в разделе Email на странице Обработка правил оповещения.

×