关于云计算:光速从0到1掌握Prometheus和Grafana腾讯云专家5万字精华教程免费送

5次阅读

共计 2565 个字符,预计需要花费 7 分钟才能阅读完成。

作者

黄雷,腾讯云高级工程师,曾负责构建腾讯云云监控新一代多维业务监控零碎,善于大规模分布式监控零碎设计,对 golang 后盾我的项目架构设计有较深了解,后退出 TKE 团队,致力于钻研 Kubernetes 相干运维技术,领有多年 Kubernetes 集群联邦运维治理教训,目前在团队次要负责大规模集群联邦可观测性晋升,主导研发了腾讯云万级 Kubernetes 集群监控告警零碎,智能巡检与危险探测系统。

摘要

如果问笔者,在治理 Kubernetes 集群的时候,有什么开源组件是肯定会用的,那笔者感觉 Prometheus 肯定会是其中之一。Prometheus 领有强劲的性能,沉闷的生态,便捷的部署形式,还有灵便的 PromQL,特地适宜用于 Kubernetes 场景下的 master,节点,利用等各个层级的监控数据采集和聚合,再配合炫丽的 Grafana 面板(如下图),堪称是云原生监控的最佳计划。

诚然 Prometheus 和 Grafana 非常弱小,然而刚接触的时候,还是有肯定的学习老本,不易上手,这点笔者特地有感触。记得几年前笔者还未负责团队云原生可观测性晋升的时候,就常常听到边上一刚接触 Prometheus 的哥们成天和笔者吐槽,“哎,Prometheus 的语法怎么这么简单”,“这货色太恶心了,这怎么写啊”。过后笔者还讥笑他夸大,但当我也开始学习 Prometheus,开始配 Grafana 面板的时候,也收回过一样的吐槽声,例如下边的语句。

 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__)

笔者这几年在应用 Prometheus 的过程中积攒了肯定实践经验,也踩了不少坑。

为了让想要学习 Prometheus 的读者敌人更加疾速的入门,少走弯路,晋升云原生时代业务监控技能。

笔者整顿并总结了一版教程,包含一些最根本,最外围的概念,技巧以及最佳实际分享给大家,让大家用 20% 的工夫把握 80% 最罕用的局部。

学会如何从零开始给本人的业务裸露监控指标,如何正确配置服务发现,以及如何配出实用的 Grafana 面板,率领读者光速入门 Prometheus+Grafana,把握云原生监控的正确姿态。图片

「腾讯云原生」公众号后盾回复“Prometheus”或“光速入门”即可获取教程!一起学起来吧!

小 Tips:教材目前有网站版本(需在浏览器中关上)和 PDF 版本,童鞋们可依据本身需要进行查看。本教材网站版本会继续进行更新,大家能够继续关注~

同时欢送大家给教程提 issue, 此教程会依据大家的反馈不定时更新,扩大,订正!

(提 issue 的 GitHub 地址)

教材目录如下

正文完
 0