prometheus 发送恢复 值_《蹲坑学K8S》之21-2:搭建Prometheus监控系统

本文介绍了如何使用kube-prometheus监控Kubernetes集群。kube-prometheus是一个开源项目,用于扩展Kubernetes API并创建复杂的监控系统。文章详细讲解了搭建过程,包括Alertmanager、Grafana的功能介绍,以及下载镜像、克隆kube-prometheus项目、创建资源和查看运行状态的步骤。
摘要由CSDN通过智能技术生成
897abf498685f54371fa6f2e8d35a839.gif

kube-prometheus是coreos的一个开源项目,用来扩展 Kubernetes API,特定的应用程序控制器。(简单说:用于监控kubernetes集群)它被用来创建、配置和管理复杂的有状态应用,如数据库、缓存和监控系统。Operator是基于 Kubernetes的资源和控制器概念之上构建,但同时又包含了应用程序特定的一些专业知识:比如创建一个数据库的Operator,则必须对创建的数据库的各种运维方式非常了解,创建Operator的关键是CRD(自定义资源)的设计。目前Prometheus Operator已经不包含完整功能,完整的解决方案已经变为kube-prometheus。

5954bba375e56c80f36124f151494233.png

kube-prometheus结构

1、Alertmanager

Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且很容易做到告警信息进行去重,降噪,分组等,是一款前卫的告警通知系统。

2、Grafana

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。它有以下六大特点:

(1)展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

(2)数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

(3)通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;

(4)混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

(5)注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件源数据和标记;

(6)过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

搭建kube-prometheus监控步骤如下:

1、下载镜像:

注意:所有节点都要下载镜像。

[root@k8s-master ~]# docker pull quay.io/prometheus/alertmanager:v0.20.0

[root@k8s-master ~]# docker pull grafana/grafana:6.6.0

[root@k8s-master ~]# docker pull quay.io/coreos/kube-state-metrics:v1.9.5

[root@k8s-master ~]# docker pull quay.io/coreos/kube-rbac-proxy:v0.4.1

[root@k8s-master ~]# docker pull quay.io/prometheus/node-exporter:v0.18.1

[root@k8s-master ~]# docker pull quay.io/coreos/k8s-prometheus-adapter-amd64:v0.5.0

[root@k8s-master ~]# docker pull quay.io/prometheus/prometheus:v2.15.2

[root@k8s-master ~]# docker pull quay.io/coreos/prometheus-operator:v0.37.0

[root@k8s-master ~]# docker pull jimmidyson/configmap-reload:v0.3.0

2、克隆kube-prometheus

[root@k8s-master ~]# git clone https://github.com/coreos/kube-prometheus.git

准备prometheus相关的yaml文件

[root@k8s-master ~]# tree kube-prometheus

3ff62176239f17863ef0d31708b2b9fa.png

3、创建prometheus资源

[root@k8s-master ~]# kubectl apply -f kube-prometheus/namespace.yaml

[root@k8s-master ~]# kubectl apply -f kube-prometheus/setup/

[root@k8s-master ~]# kubectl apply -f kube-prometheus/node-exporter

注意设置污点:

[root@k8s-master ~]# kubectl taint nodes k8s-master key1=value1:NoSchedule

[root@k8s-master ~]# kubectl apply -f kube-prometheus/kube-state-metrics

[root@k8s-master ~]# kubectl apply -f kube-prometheus/prometheus

[root@k8s-master ~]# kubectl apply -f kube-prometheus/grafana

[root@k8s-master ~]# kubectl apply -f kube-prometheus/alertmanager

4、查看Pod状态

[root@k8s-master ~]# kubectl get pods --all-namespaces -o wide

aab88de302575d98a6ccb615c0d3b1eb.png

查看svc

[root@k8s-master ~]# kubectl get svc --all-namespaces -o wide

1044ad2321b83689c6f5489ee256a78d.png

5、登录prometheus

(1)查看运行数据状态

http://192.168.1.2:30090/targets

d61a8ba0fa0b5de8cbc1e77e5945805d.png

(2)登录grafana

访问http://192.168.1.2:32000,输入用户名和密码(默认用户:admin,密码:admin)

feedb90288680f8b8381007b7e7f1be2.png

导入源数据,默认已经导入。

e630780e288169721489fb8dabeab741.png

(3)使用prometheus

56858ae80a3963c09725868c64c01e7a.png
fabc1f1114917622886c641fa6e5b729.png
aad92418af0366561343e0f1c8e79a7c.png

(4)监控模板

请到https://grafana.com/grafana/dashboards查看和下载有两种方式:

A、直接输入模板ID,自动下载;

B、下载模板json文件,然后导入。


d999ba84d8609046694165a88c50f6ba.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值