当前位置: 首页 > news >正文

Kubernetes监控——Heapster+InfluxDB+Grafana

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

    Kubernetes & Docker监控之最后一章,前三篇如下:
        1、kubernetes+docker监控之简介

        2、 kubernetes+docker监控之Docker监控——cadvisor

        3、 Docker监控——Cadvisor+InfluxDB+Grafana搭建过程

1)、heapster下载和启动:

(1)、heapster镜像下载:

docker pull index.tenxcloud.com/google_containers/heapster:v1.1.0

(2)、heapster单独作为容器启动:

docker run -d index.tenxcloud.com/google_containers/heapster:v1.1.0 "--source=kubernetes:http://192.168.16.100:8080?inClusterConfig=false&kubeletHttps=true&kubeletPort=10250&useServiceAccount=true&auth=" "--sink=influxdb:http://192.168.16.234:8086"

 

参数说明:

--source :指定kube-apiserver,这里使用https,需要注意下

--sink :指定influxdb,heapster自动创建数据库【k8s】

inClusterConfig :Use kube config in service accounts associated with heapster's

                      namesapce. (default: true)

kubeletPort :kubelet port to use (default: 10255)

kubeletHttps  : whether to use https to connect to kubelets (default: false)

apiVersion : API version to use to talk to Kubernetes. Defaults to the version

                       in kubeConfig.

insecure     :whether to trust kubernetes certificates (default: false)

auth     :client auth file to use. Set auth if the service accounts are not usable.

useServiceAccount     :whether to use the service account token if one is mounted

                      at /var/run/secrets/kubernetes.io/serviceaccount/token (default: false)

        heapster容器,启动过程:

[root@localhost kube-1.2]# docker run -d index.tenxcloud.com/google_containers/heapster:v1.1.0 "--source=kubernetes:http://192.168.16.100:8080?inClusterConfig=false&kubeletHttps=true&kubeletPort=10250&useServiceAccount=true&auth=" "--sink=influxdb:http://192.168.16.234:8086"

b86aaaaa88ccf648120611254bfeb0078a8b9dd853d4b5a2d6a0abb97743bf1d

 

[root@localhost kube-1.2]# docker logs b86aaaaa8   

I0714 07:05:18.116787       1 heapster.go:65] /heapster --source=kubernetes:http://192.168.16.100:8080?inClusterConfig=false&kubeletHttps=true&kubeletPort=10250&useServiceAccount=true&auth= --sink=influxdb:http://192.168.16.234:8086

I0714 07:05:18.117158       1 heapster.go:66] Heapster version 1.1.0

I0714 07:05:18.239220       1 configs.go:60] Using Kubernetes client with master "http://192.168.16.100:8080" and version "v1"

I0714 07:05:18.239270       1 configs.go:61] Using kubelet port 10250

I0714 07:05:31.255132       1 influxdb.go:223] created influxdb sink with options: host:192.168.16.234:8086 user:root db:k8s

I0714 07:05:31.255170       1 heapster.go:92] Starting with InfluxDB Sink

I0714 07:05:31.255177       1 heapster.go:92] Starting with Metric Sink

I0714 07:05:31.271159       1 heapster.go:171] Starting heapster on port 8082

I0714 07:06:05.000403       1 manager.go:79] Scraping metrics start: 2016-07-14 07:05:00 +0000 UTC, end: 2016-07-14 07:06:00 +0000 UTC

E0714 07:06:05.000504       1 kubelet.go:270] No nodes received from APIserver.

I0714 07:06:05.000520       1 manager.go:152] ScrapeMetrics: time: 5.756µs size: 0

I0714 07:06:05.365486       1 influxdb.go:201] Created database "k8s" on influxDB server at "192.168.16.234:8086"

[root@localhost kube-1.2]#

[root@localhost kube-1.2]# docker ps |grep heapster

b86aaaaa88cc        index.tenxcloud.com/google_containers/heapster:v1.1.0   "/heapster --source=k"   2 minutes ago     Up 2 minutes                            furious_mahavira

[root@localhost kube-1.2]#

        看到influxdb已经有k8s的数据库和表了,剩下的就是grafana搜索和显示了

[root@localhost kube-1.2]# influx

Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.

Connected to http://localhost:8086 version 0.9.6

InfluxDB shell 0.9.6

>

>

> show databases

name: databases

---------------

name

_internal

cadvisor

k8s

>

> use k8s

Using database k8s

>

> SHOW MEASUREMENTS

name: measurements

------------------

name

cpu/node_reservation

cpu/node_utilization

cpu/usage

cpu/usage_rate

filesystem/limit

filesystem/usage

memory/major_page_faults

memory/major_page_faults_rate

memory/node_reservation

memory/node_utilization

memory/page_faults

memory/page_faults_rate

memory/usage

memory/working_set

network/rx

network/rx_errors

network/rx_errors_rate

network/rx_rate

network/tx

network/tx_errors

network/tx_errors_rate

network/tx_rate

uptime

 

2)、InfluxDB安装与配置:

        请参考之前Cadvisor+InfluxDB+Grafana的内容,http://my.oschina.net/fufangchun/blog/718382

3)、Grafana安装与配置:

(1)、Grafana安装:

        请参考之前Cadvisor+InfluxDB+Grafana的内容,http://my.oschina.net/fufangchun/blog/718382

(2)、Grafana配置:

Ⅰ、配置influxdb数据源:

 

Ⅱ、新建展示页:

        展示页,用来区分不同的influxdb数据源

 

 

Ⅲ、新建数据项:

        根据特定的条件(sql),从influxdb查询相关的数据,并展示。

        Grafana会自动显示k8s库的字段,可以根据需求进行选择,每个where后面,加上:【pod_name =~ /^\.*/】,按照pod名称分类

SELECT last(value) FROM k8s."default"."network/tx" WHERE pod_name =~ /^\.*/ AND time > now() - 30m GROUP BY time(10s), pod_name

 

Ⅳ、完整的grafana展示:

    这里上传可能看不清,可以去百度盘下载,我这里是有些数据是分别做了,按照pod和namespace进行分组的,有多租户的情况,比较实用,可以根据情况,自行定义。

       百度盘地址:    http://pan.baidu.com/s/1qXQIqPA

     Kubernetes & Docker监控 ,至此完结,欢迎分享讨论!!!

转载于:https://my.oschina.net/fufangchun/blog/730535

相关文章:

  • RAC3——RAC原理开始
  • 一个Delphi的资源编辑器(支持SDK菜单资源编辑)
  • mysql备份还原
  • 静态默认路由 可以在网络边缘通过一个路由器端口访问每一个pc机
  • UWP WebView 禁用缩放
  • MFC 文件操作
  • 商朝子的破解教学第一章
  • Mybatis的连接池
  • Gvr SDK for Unity 分析(二)
  • sqlite编译
  • expect在需要交互脚本中的简单应用
  • 调用网页弹窗
  • python默认的是17位小数的精度,但是这里有一个问题,就是当我们的计算需要使用更高的精度(超过17位小数)的时候该怎么做呢?...
  • php5.6,curl上传的变化
  • 部分企业常见面试题详解
  • Google 是如何开发 Web 框架的
  • [笔记] php常见简单功能及函数
  • [译]Python中的类属性与实例属性的区别
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Bytom交易说明(账户管理模式)
  • Cumulo 的 ClojureScript 模块已经成型
  • ES6 ...操作符
  • gitlab-ci配置详解(一)
  • HashMap剖析之内部结构
  • Hibernate【inverse和cascade属性】知识要点
  • JAVA多线程机制解析-volatilesynchronized
  • java概述
  • JS实现简单的MVC模式开发小游戏
  • spring security oauth2 password授权模式
  • 分享几个不错的工具
  • 记一次用 NodeJs 实现模拟登录的思路
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 使用docker-compose进行多节点部署
  • 算法-插入排序
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #单片机(TB6600驱动42步进电机)
  • #前后端分离# 头条发布系统
  • (04)odoo视图操作
  • (175)FPGA门控时钟技术
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (九)One-Wire总线-DS18B20
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (四)Android布局类型(线性布局LinearLayout)
  • (五)c52学习之旅-静态数码管
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (一) springboot详细介绍
  • (原)本想说脏话,奈何已放下
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)VC++中ondraw在什么时候调用的
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .Mobi域名介绍
  • .net 简单实现MD5