prometheus架构简介

上一章讲了helm的使用,这一章主要用helm来部署prometheus来监控我们的k8s集群。

首先看一个简单的架构图来了解一下prometheus的结构:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

exporter是用来收集数据的,要监测不同的东西,就需要有不同的exporter。比如要监测mysql,需要创建一个mysql的exporter,要监测pod则需要pod的exporter,要监测kube-proxy则需要一个kube-proxy的exporter等等。

prometheus server会从exporter获取并存储数据,然后通过grafana进行画图,这样可以以图形化的界面展示出当前环境的负载情况,比如看下图:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

开始部署prometheus

因为前面创建了很多的pod,为了看的清晰一些,我们单独创建一个命名空间mon,并进入此命名空间。

[root@vms10 ~]# kubectl create ns mon

namespace/mon created

[root@vms10 ~]# kubens mon

Context "kubernetes-admin@kubernetes" modified.

Active namespace is "mon".

[root@vms10 ~]#

从ali仓库下载prometheus-operator

[root@vms10 ~]# helm pull ali/prometheus-operator

[root@vms10 ~]#

解压并进入

[root@vms10 ~]# cd prometheus-operator/

[root@vms10 prometheus-operator]#

然后开始安装prometheus-operator

f7d6b60c230afc5f0eb19b2a1618cd1a.png

查看当前pod运行状况:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

查看当前的svc:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

把mon-grafana的服务类型改为NodePort,获得nodeport端口为31041(这个端口是随机生成的,每个人的不一样,请大家自己看自己的端口)。

在浏览器里输入192.168.26.10:31041

f7d6b60c230afc5f0eb19b2a1618cd1a.png

这里用户名和密码分别是多少呢?我们来查一下。

查看当前命名空间里的secret:

[root@vms10 prometheus-operator]# kubectl get secrets | grep grafana

mon-grafana Opaque 3 10m

mon-grafana-test-token-gpmcd kubern.....-token 3 10m

mon-grafana-token-vg5ql kubernete....-token 3 10m

[root@vms10 prometheus-operator]#

查看mon-grafana的具体信息:

[root@vms10 prometheus-operator]# cd

[root@vms10 ~]#

[root@vms10 ~]# kubectl get secrets mon-grafana -o yaml | head -5

apiVersion: v1

data:

admin-password: cHJvbS1vcGVyYXRvcg==

admin-user: YWRtaW4=

ldap-toml: ""

[root@vms10 ~]#

这里黑体字admin-user是用户名,admin-password是密码,分别是用base64编码过的,现在需要解码:

[root@vms10 ~]# echo -n "YWRtaW4=" | base64 -d

admin[root@vms10 ~]#

[root@vms10 ~]# echo -n "cHJvbS1vcGVyYXRvcg==" | base64 -d

prom-operator[root@vms10 ~]#

[root@vms10 ~]#

可以得到,用户名为admin,密码为prom-operator,然后登录,之后依次点击设置--Data Sources:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

然后看到这里已经把prometheus添加到数据源了:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

点击最下方的Test,会看到已经成功连接数据源:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

依次点击左上角的logo,然后点击home:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

会出来很多监测项:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

这里点击Pods,然后就能看到pod相关监控信息:

f7d6b60c230afc5f0eb19b2a1618cd1a.png

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐