Monitorando cluster do Kubernetes: uma visão geral e introdução ao Prometheus

Vamos considerar o conceito de monitoramento do Kubernetes, familiarizar-nos com a ferramenta Prometheus e falar sobre alertas.



O tema do monitoramento é volumoso, não pode ser desmontado em um artigo. O objetivo deste texto é fornecer uma visão geral do kit de ferramentas, conceitos e abordagens.



O material do artigo é um extrato da palestra aberta da escola Slurm . Se você quiser concluir o treinamento completo, inscreva-se no curso de infraestrutura de monitoramento e registro no Kubernetes .





O que é monitorado em um cluster Kubernetes





Servidores físicos. Se um cluster Kubernetes for implantado em seus servidores, você precisará monitorar sua integridade. Esta tarefa é realizada pelo Zabbix; se você trabalhar com ele, não precisa recusar, não haverá conflitos. É o Zabbix que monitora o estado de nossos servidores.



Vamos prosseguir para o monitoramento no nível do cluster.



Componentes do Control Plane: API, Scheduler e outros. No mínimo, você precisa monitorar se a API dos servidores ou etcd é maior que 0. Etcd é capaz de fornecer muitas métricas: nos discos em que gira, na saúde de seu cluster etcd e outros.



Docker : . Docker, , , .



DNS. DNS, Discovery, . , , DNS . CoreDNS.



Ingress. ( Ingress Controller) .



— , .



, , , . : , ; 10, 2. . . , : -? , , — . .



, -: , .



Prometheus



Prometheus. , Prometheus . , « Kubernetes», Prometheus.



, Prometheus: Helm Prometheus Prometheus Operator.



  1. Prometheus. , ConfigMap — , , , .
  2. 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, :



  1. inactive — , , ;
  2. pending — , , . , : , ;
  3. firing — , .


Status , Prometheus. (targets), .





Prometheus Kubernetes.



Grafana



- Prometheus , . , Prometheus Grafana. .





Prometheus Grafana , : GRAFANA SUPPORT FOR PROMETHEUS, .



: Grafana Loki .



: , Kubernetes, Southbridge, .




All Articles