使用 grafana 和 prometheus 监控 kubernetes 集群状态

Tags: prometheus  kubernetes 

说明

grafana和prometheus是现在最常用的组合,grafana提供了监控kubernetes集群的插件。

Kubernetes

Kubernetes集群的

Prometheus

Promehtues的使用在新型监控告警工具prometheus(普罗米修斯)入门使用中已经做了介绍,这里就不重复了。

这里使用的Prometheus配置文件如下:

Grafana

Grafana下载安装

这里直接下载二进制包:

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.3.linux-amd64.tar.gz
tar -zxvf grafana-5.2.3.linux-amd64.tar.gz

解压以后得到的文件:

$ ls grafana-5.2.3
LICENSE.md  NOTICE.md  README.md  VERSION  bin  conf  public  scripts  tools

启动:

ln -s `pwd`/conf /etc/grafana
./bin/grafana-server -config /etc/grafana/defaults.ini &

然可以通过ip:3000访问grafana,初始用户名和密码均为admin

Grafana启动

grafana的使用比较简单,页面做的很友好。

首先添加数据源,grafana支持的有:

CloudWatch
Elasticsearch
Graphite
InfluxDB
Microsoft SQL Server
MySQL
OpenTSDB
PostgreSQL
Prometheus
...

这里以添加Prometheus为例,直接填入Prometheus的地址即可,如果有账号和证书,一并添加。

测试通过之后,可以添加DashBoard。

DashBoard可以自己进行定制,也可以直接到grafana dashboards查找其他人共享的Dashboard,然后在grafana中导入即可。

安装kubernetes插件

Grafana有很多插件grafana-kubernetes-app是一个比较好用的kubernetes插件:

$ ./bin/grafana-cli  --pluginsDir ./data/plugins/ plugins install grafana-kubernetes-app
installing grafana-kubernetes-app @ 1.0.1
from url: https://grafana.com/api/plugins/grafana-kubernetes-app/versions/1.0.1/download
into: ./data/plugins
✔ Installed grafana-kubernetes-app successfully
Restart grafana after installing plugins . <service grafana-server restart>

安装plugin之后需要重启grafana。

重启以后,进入grafana首页,将kubernetes enable之后,左侧边栏就会多处一个kubernetes的图标。

问题

Grafana K8S Container的DashBoard打开时加载所有Pod信息,导致页面打不开的问题

进入DashBoard之后,点击右上角的Setting图标,进入DashBoard的设置页面,然后点击左侧Variables,在右侧会看到所有的变量, 点击要修改的变量,重新设置All的默认值即可。

参考:grafana dashboard variables

修改插件代码

可以考虑自己修改代码:

$ cd data/plugins/grafana-kubernetes-app/
$ npm install
$ npm install grunt-cli

修改之后重新编译代码:

grunt default

参考

  1. grafana website
  2. grafana download
  3. grafana dashboards
  4. grafana plugins
  5. grafana kubernetes plugin
  6. grafana dashboard variables
  7. 新型监控告警工具prometheus(普罗米修斯)入门使用

kubernetes

  1. Prometheus 采集 Kubernetes 中的 pod 的 metrics 的方法
  2. kubernetes configmap 热加载,inotifywatch 监测文件触发热更新
  3. kubernetes 百变定制: 支持的扩展点和扩展方法(api/crd/plugin...)
  4. kubernetes 调度组件 kube-scheduler 1.16.3 源代码阅读指引
  5. kubernetes 代码中的 k8s.io 是怎么回事?
  6. 旌旗招展,向网格而行!
  7. 《不一样的 双11 技术,阿里巴巴经济体云原生实践》阅读笔记
  8. kubernetes ingress-nginx 启用 upstream 长连接,需要注意,否则容易 502
  9. ingress-nginx 的限速功能在 nginx.conf 中的对应配置
  10. kubernetes 中的容器设置透明代理,自动在 HTTP 请求头中注入 Pod 信息
  11. kubernetes ingress-nginx 的测试代码(单元测试+e2e测试)
  12. kubernetes ingress-nginx http 请求复制功能与 nginx mirror 的行为差异
  13. kubernetes 基于 openresty 的 ingress-nginx 的状态和配置查询
  14. Kubernetes ingress-nginx 0.25 源代码走读笔记
  15. kubernetes ingress-nginx 的金丝雀(canary)/灰度发布功能的使用方法
  16. kubernetes code-generator 用法: 生成 kubernetes-style 的 api 和 client 代码
  17. kubernetes 操作命令 kubectl 在 shell 中的自动补全配置
  18. flannel ip 地址段扩容方法
  19. kubernetes 组件 kube-proxy 的 IPVS 功能的使用
  20. lxcfs 是什么? 怎样通过 lxcfs 在容器内显示容器的 CPU、内存状态
  21. kubernetes initializer 功能的使用方法: 在 Pod 等 Resource 落地前进行修改
  22. kubernetes 版本特性: 新特性支持版本和组件兼容版本
  23. kubernetes API 与 Operator: 不为人知的开发者战争(完整篇)
  24. kubernetes 1.12 从零开始(七): kubernetes开发资源
  25. kubernetes 1.12 从零开始(六): 从代码编译到自动部署
  26. kubernetes 网络方案 Flannel 的学习笔记
  27. kubernetes 1.12 从零开始(五): 自己动手部署 kubernetes
  28. kubernetes 1.12 从零开始(四): 必须先讲一下基本概念
  29. kubernetes 1.12 从零开始(三): 用 kubeadm 部署多节点集群
  30. kubernetes 1.12 从零开始(二): 用 minikube 部署开发测试环境
  31. kubernetes 1.12 从零开始(一): 部署环境准备
  32. kubernetes 1.12 从零开始(零): 遇到的问题与解决方法
  33. kubernetes 1.12 从零开始(初): 课程介绍与官方文档汇总
  34. 通过Prometheus查询计算Kubernetes集群中的容器CPU、内存使用率等指标
  35. 使用 grafana 和 prometheus 监控 kubernetes 集群状态
  36. 一些比较有意思的Kubernetes周边产品
  37. Borg论文阅读笔记
  38. kubelet下载pod镜像时,docker口令文件的查找顺序
  39. kubernetes 的 Client Libraries 的使用
  40. kubernetes的网络隔离networkpolicy
  41. kube-router的源码走读
  42. 使用calico的ipip模式解决k8s的跨网段通信
  43. kubernetes的调试方法
  44. kubernetes 与 calico 的衔接过程
  45. 怎样理解 kubernetes 以及微服务?
  46. kubernetes中部署有状态的复杂分布式系统
  47. kubernetes的apiserver的启动过程
  48. kubernetes的api定义与装载
  49. kubernetes的federation部署,跨区Service
  50. kubernetes的编译、打包、发布
  51. kubernetes的第三方包的使用
  52. kubernetes的Storage的实现
  53. kubernetes 的 Apiserver 的 storage 使用
  54. kubernetes的Controller-manager的工作过程
  55. kubernetes的Client端Cache
  56. kubernetes 的 Apiserver 的工作过程
  57. kubernetes的CNI插件初始化与Pod网络设置
  58. kubernetes的Pod变更过程
  59. kubernetes的kubelet的工作过程
  60. kuberntes 的 Cmdline 实现
  61. kubernetes的Pod内挂载的Service Account的使用方法
  62. kubernetes的社区资源与项目参与方式
  63. kubernetes的Kube-proxy的转发规则分析
  64. kubernetes的基本操作
  65. kubernetes在CentOS上的集群部署
  66. kubernetes在CentOS上的All In One部署
  67. 怎样选择集群管理系统?

prometheus

  1. Victoria Metrics源码: 水平扩展实现,查询拆分与时序数据打散写入
  2. Prometheus 采集 Kubernetes 中的 pod 的 metrics 的方法
  3. Prometheus 水平扩展方案(三): Prometheus 与 Victoria Metrics 的 API
  4. Prometheus 水平扩展方案(二): Victoria Metrics 学习、试用
  5. Prometheus 水平扩展方案(一): 监控数据的转储、聚合、查询
  6. Prometheus的HTTP API的Go语言封装client_golang的使用
  7. curl能访问的url,通过blackbox-exporter进行探测时,返回404
  8. 使用Prometheus SDK输出Prometheus格式的Metrics
  9. 通过Prometheus查询计算Kubernetes集群中的容器CPU、内存使用率等指标
  10. 使用 grafana 和 prometheus 监控 kubernetes 集群状态
  11. 通过consul、confd,动态为prometheus添加监控目标和告警规则
  12. 【视频】新型监控告警工具prometheus(普罗米修斯)入门使用(附视频讲解)
  13. Prometheus(普罗米修斯)使用过程中遇到的问题
  14. 监控系统prometheus的使用

推荐阅读

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作

友情链接:  李佶澳的博客  小鸟笔记  软件手册  编程手册  运营手册  网络课程  收藏文章  发现知识星球  百度搜索 谷歌搜索