Mestre Prometheus e Grafana de 0 a 1 na velocidade da luz

autor

Huang Lei, engenheiro sênior da Tencent Cloud, foi responsável pela construção de uma nova geração de sistema de monitoramento de negócios multidimensional para o Tencent Cloud Cloud Monitoring. Ele é bom em design de sistemas de monitoramento distribuído em larga escala e tem um profundo conhecimento da arquitetura do projeto de fundo golang Mais tarde, juntou-se à equipe da TKE e se dedicou ao estudo do Kubernetes. Relevante tecnologia de operação e manutenção, possui muitos anos de experiência na operação e gestão de manutenção da federação de cluster Kubernetes. Atualmente, a equipe é a principal responsável pela melhoria da observabilidade de federação de cluster em grande escala e liderou o desenvolvimento do sistema de monitoramento e alarme de cluster Kubernetes de nível 10.000 da Tencent Cloud, inspeção inteligente e sistema de detecção de risco.

Resumo

Se você perguntar ao autor quais componentes de código aberto são definitivamente usados ​​ao gerenciar clusters do Kubernetes, o autor acha que o Prometheus será um deles. O Prometheus possui forte desempenho, ecologia ativa, métodos de implantação convenientes e PromQL flexível, que é especialmente adequado para monitorar a coleta e agregação de dados em todos os níveis, como mestre, nó e aplicativo em cenários do Kubernetes, combinado com o deslumbrante painel Grafana (como mostrado na figura abaixo), pode-se dizer que é a melhor solução para monitoramento nativo da nuvem.

Embora Prometheus e Grafana sejam muito poderosos, quando entrei em contato com eles, ainda havia um certo custo de aprendizado e não foi fácil começar, o que é particularmente tocante para o autor. Lembro-me de alguns anos atrás, quando o autor não estava encarregado de melhorar a observabilidade nativa da nuvem da equipe, muitas vezes ouvi um amigo que era novo no Prometheus reclamando com o autor o dia todo: "Ei, por que a sintaxe do Prometheus tão complicado", "Essa coisa é muito nojenta, como escrever isso." Naquela época, o autor também ria dele por exagerar, mas quando também comecei a aprender Prometheus e comecei a combinar com o painel do Grafana, também fiz as mesmas reclamações, como a seguinte afirmação.

 max(label_replace(
 label_replace(
 label_replace(
 kube_deployment_status_replicas_unavailable,
 "workload_kind","Deployment","","")
 ,"workload_name","$1","deployment","(.*)"),
 "__name__", "k8s_workload_abnormal", "__name__","(.*)")
 )
 by (namespace, workload_name, workload_kind,__name__)
 or on (namespace,workload_name,workload_kind, __name__) max(label_replace(
 label_replace(
 label_replace(
 kube_daemonset_status_number_unavailable,
 "workload_kind","DaemonSet","","")
 ,"workload_name","$1","daemonset","(.*)"),
 "__name__", "k8s_workload_abnormal", "__name__","(.*)") ) by (namespace, workload_name, workload_kind,__name__)
 or on (namespace,workload_name,workload_kind, __name__)
 max(label_replace(
 label_replace(
 label_replace(
 (kube_statefulset_replicas - kube_statefulset_status_replicas_ready),
 "workload_kind","StatefulSet","","")
 ,"workload_name","$1","statefulset","(.*)"),
 "__name__", "k8s_workload_abnormal", "__name__","(.*)") ) by (namespace, workload_name, workload_kind,__name__)
 or on (namespace,workload_name,workload_kind, __name__)
 max(label_replace(
 label_replace(
 label_replace(
 (kube_job_status_failed),
 "workload_kind","Job","","")
 ,"workload_name","$1","job_name","(.*)"),
 "__name__", "k8s_workload_abnormal", "__name__","(.*)") ) by (namespace, workload_name, workload_kind,__name__)
 or on (namespace,workload_name,workload_kind, __name__)
 max(label_replace(
 label_replace(
 label_replace(
 (kube_cronjob_info * 0),
 "workload_kind","CronJob","","")
 ,"workload_name","","cronjob","(.*)"),
 "__name__", "k8s_workload_abnormal", "__name__","(.*)") ) by (namespace, workload_name, workload_kind,__name__)

Nos últimos anos, o autor acumulou alguma experiência prática no processo de uso do Prometheus e também pisou em muitos buracos.

Para permitir que leitores e amigos que desejam aprender Prometheus comecem mais rapidamente, evitem desvios e melhorem as habilidades de monitoramento de negócios na era nativa da nuvem.

O autor organiza e resume uma versão do tutorial, incluindo alguns dos conceitos mais básicos e centrais, habilidades e melhores práticas para compartilhar com todos, para que todos possam dominar 80% das partes mais usadas em 20% do tempo.

Aprenda como expor indicadores de monitoramento para o seu negócio do zero, como configurar corretamente a descoberta de serviços e como configurar um painel Grafana prático, orientar os leitores a começar a usar o Prometheus+Grafana na velocidade da luz e dominar a postura correta da nuvem monitoramento nativo. foto

A conta oficial "Tencent Cloud Native" responde "Prometheus" ou "Light Speed ​​​​Introduction" para obter o tutorial! Vamos aprender juntos!

Pequenas dicas: O livro didático atualmente possui uma versão do site (que precisa ser aberta em um navegador) e uma versão em PDF, e os calçados infantis podem visualizá-lo de acordo com suas próprias necessidades. A versão do site deste livro continuará sendo atualizada, você pode continuar prestando atenção~

Ao mesmo tempo, você pode enviar problemas para o tutorial. Este tutorial será atualizado, expandido e revisado de tempos em tempos com base em seus comentários!

(O endereço do GitHub do problema é mencionado)

A lista de livros é a seguinte

[Tencent Cloud Native] Novos produtos de Yunshuo, novas técnicas de Yunyan, novas atividades de Yunyou e informações de valorização da nuvem, digitalize o código para seguir a conta pública de mesmo nome e obtenha mais produtos secos a tempo! !

{{o.name}}
{{m.name}}

Acho que você gosta

Origin my.oschina.net/u/4534936/blog/5389649
Recomendado
Clasificación