Examinons le concept de surveillance de Kubernetes, familiarisons-nous avec l'outil Prometheus et parlons d'alertes.
Le sujet de suivi est volumineux, il ne peut ĂȘtre dĂ©montĂ© en un seul article. Le but de ce texte est de donner un aperçu des outils, concepts et approches.
Le matériel de l'article est un extrait de la conférence ouverte de l'école Slurm . Si vous souhaitez suivre une formation complÚte, inscrivez-vous au cours sur l' infrastructure de surveillance et de journalisation dans Kubernetes .
Ce qui est surveillé dans un cluster Kubernetes
Serveurs physiques. Si un cluster Kubernetes est déployé sur leurs serveurs, vous devez surveiller leur santé. Cette tùche est gérée par Zabbix; si vous travaillez avec lui, vous n'avez pas besoin de refuser, il n'y aura pas de conflits. C'est Zabbix qui surveille l'état de nos serveurs.
Passons Ă la surveillance au niveau du cluster.
Composants du plan de contrÎle: API, planificateur et autres. Au minimum, vous devez surveiller que l'API des serveurs ou etcd est supérieure à 0. Etcd est capable de donner beaucoup de métriques: sur les disques sur lesquels il tourne, sur la santé de son cluster etcd, etc.
Docker : . Docker, , , .
DNS. DNS, Discovery, . , , DNS . CoreDNS.
Ingress. ( Ingress Controller) .
â , .
, , , . : , ; 10, 2. . . , : -? , , â . .
, -: , .
Prometheus
â Prometheus. , Prometheus . , « Kubernetes», Prometheus.
, Prometheus: Helm Prometheus Prometheus Operator.
- Prometheus. , ConfigMap â , , , .
- Prometheus Operator , , : , , .
, Prometheus. , : , . Prometheus Operator , .
Prometheus Kubernetes: API Server .
Prometheus , . , Prometheus , , . . , PostgreSQL Exporter: PostgreSQL Prometheus, Prometheus .
Prometheus
Prometheus Server â , Prometheus. .
time series database (TSDB). TSDB â , Go, Prometheus. , .
TSDB
Prometheus . 15 . , : TSDB , . Prometheus .
, , . TSDB « », . , , InfluxDB, ClickHouse . ClickHouse.
Prometheus Server pull: , . : « API Server», n- .
(job cron job), , Pushgateway. : job , , Pushgateway . Prometheus Pushgateway.
Prometheus â Alertmanager. â alerting rules. , alert , API 0. , alert alert manager . alert manager : - , , . Slack, Telegram, email .
- Prometheus â Discovering. Prometheus , . « IP-, â », , (targets â ). Prometheus , , , .
Kubernetes, : 10 , 3. IP- , , â Discovering .
Prometheus PromQL. , .
https://prometheus.io/docs/prometheus/latest/querying/basics/
container_memory_usage_bytes
container_memory_usage_bytes / 1024 / 1024
sum(container_memory_usage_bytes) / 1024 / 1024
100 - avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m]) * 100)
- Prometheus
Prometheus , -. .
Expression PromQL.
Alerts â alerting rules, :
- inactive â , , ;
- pending â , , . , : , ;
- firing â , .
Status , Prometheus. (targets), .
Prometheus Kubernetes.
Grafana
- Prometheus , . , Prometheus Grafana. .
Prometheus Grafana , : GRAFANA SUPPORT FOR PROMETHEUS, .
: Grafana Loki .
: , Kubernetes, Southbridge, .