Prometheus监控k8s集群

1、特征

普罗米修斯的主要特点是:

  • 一个多维数据模型,其中包含通过度量标准名称和键/值对标识的时间序列数据

  • PromQL,一种灵活的查询语言 ,可利用此维度

  • 不依赖分布式存储;单服务器节点是自治的

  • 时间序列收集通过HTTP上的拉模型进行

  • 通过中间网关支持推送时间序列

  • 通过服务发现或静态配置发现目标

  • 多种图形和仪表板支持模式

2、组件

Prometheus生态系统包含多个组件,其中许多是可选的:

大多数Prometheus组件都是用Go编写的,因此易于构建和部署为静态二进制文件。

3、架构

下图说明了Prometheus的体系结构及其某些生态系统组件:

architecture.png

        Prometheus直接或通过中介推送网关从已检测作业中删除指标,以用于短期作业。它在本地存储所有报废的样本,并对这些数据运行规则,以汇总和记录现有数据中的新时间序列,或生成警报。Grafana或其他API使用者可以用来可视化收集的数据。

4、安装

前提需要有helm环境:

image-20191226101438796.png

helm  install  prometheus   stable/prometheus

image-20191226102249663.png

安装成功,查看pod状态会发现有两个处于pending状态,是因为需要请求pv

image-20191226102456756.png

这里使用hostPath来创建pv

apiVersion: v1
kind: PersistentVolume
metadata:
  name: prometheus-pv1
spec:
  capacity:
    storage: 2Gi
  volumeMode: Filesystem
  accessModes:
  -  ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: /app/prometheus/pv1

image-20191226104015715.png

查看pod状态会发现有个pod会报错,并查看日志是报错是容器名不同

image-20191226110521033.png

真正的原因是因为使用的hoatPath,pvc请求的权限不够,到worker节点给对应的hostpath加777的权限即可,这是我通过rancher查看到的报错

msg="Error opening query log file" file=/data/queries.active err="open /data/queries.active: permission denied"

5、访问web界面

image-20191226110837974.png

这里还需要修改Prometheus-server的Port类型为NodePort。

image-20191226111719532.png

6、安装grafana

helm  pull  stable/grafana

tar xvf grafana-4.2.2.tgz

vim grafana/values.yaml    #设置admin的密码为admin123

image-20191226123259170.png

helm  install grafana  ./grafana

image-20191226112115185.png

由于grafana没有使用持久存储,根据需求修改为hostpath持久存储,需要注意的是,宿主机目录也需要777的权限

image-20191226112409792.png

还需要需改grafana的svc类型为NodePort

image-20191226112700284.png

访问web界面,用户admin,密码:admin123

image-20191226112917716.png

7、导入Prometheus

image-20191226123838456.png

image-20191226123903143.png

填入Prometheus的地址

image-20191226124039501.png

则表示验证通过

image-20191226124212726.png

导入grafana的模板

image-20191226124257031.png

image-20191226124315485.png

image-20191226124336333.png

这里选择Prometheus

image-20191226124409629.png

即可看到灰常华丽的仪表盘了

image-20191226124450163.png

这里提供几个模板的编号:

10000,315,7249,5228,8685,8588

完美结束!


猜你喜欢

转载自blog.51cto.com/14268033/2462243