简介

  • 在日常的运维工作中,为了减少业务故障的发现和解决时间,通常是需要监控系统的支持,zabbix作为常用监控手段,并不足以满足kubernetes集群的监控,而Prometheus可以更好的进行相关指标的监控。
  • 监控的四个黄金指标分为“延迟,通讯量,错误,饱和度”。
  • 从网络到编排的指标及手段可以查看下面图片
    指标及监控手段

环境介绍

kubernetes 1.16.4

安装部署

涉及到的部署文件已经放到了github,需要自取,另外不要脸的求点个5星好评。
github地址:

https://github.com/zhangyudd/prometheus.git

本文涉及到Prometheus存储,使用了pvc,可自行更换存储。

部署metrics

cd metrics/kube-state-metrics
kubectl apply -f .
cd metrics/
kubectl apply -f .

部署prometheus

cd prometheus
kubectl apply -f .

拷贝rules到容器对应存储目录 /prometheus/
如果修改了配置文件可以进行热更:curl -X POST http://prometheus/-/reload

部署alertmanager

cd alertmanager
kubectl apply -f .

这里使用的邮箱,修改对应的邮箱为自己邮箱。

部署node-exporter

cd node-exporter
kubectl apply -f .

部署blackbox-exporter

cd blackbox-exporter
kubectl apply -f .

service 发现需要在service中添加以下字段
#http_probe
annotations:
prometheus.io/scrape: ‘true’
prometheus.io/http-probe: ‘true’
prometheus.io/http-probe-port: ‘8080’
prometheus.io/http-probe-path: ‘/healthz’
#tcp_probe
annotations:
prometheus.io/scrape: ‘true’
prometheus.io/tcp-probe: ‘true’
prometheus.io/tcp-probe-port: ‘80’

查看所有pod状态

kubectl get pods -n kube-system

部署完成后可以添加Prometheus和alertmanager的ingress,方便查看状态及问题。

查看界面及日志,确认运行状态

在这里插入图片描述
在这里插入图片描述

添加grafana数据源展示图表

url填写以下链接:
http://prometheus.kube-system:9090/

以下为一些监控常用图表:
12870 这个模板是kube-state-metrics采集的各种k8s资源对象的状态的图表
315这个模板是cadvisor采集的各种指标的图表
1860 和 9276 这个模板是node-exporter采集的各种主机相关的指标的图表
6417这个模板是kube-state-metrics采集的各种k8s资源对象的状态的图表
4859和4865这两个模板是blackbox-exporter采集的服务的http状态指标的图表(两个效果基本一样,选择其一即可)
5345这个模板是blackbox-exporter采集的服务的网络状态指标的图表
11529和9965blackbox采集的关于http tcp探针

Logo

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

更多推荐