zoukankan      html  css  js  c++  java
  • 两大grafana实用插件快速监控kubernetes

    监控k8s的主流方案是prometheus+grafana两大套件,为了快速部署并监控k8s,目前有两款主流grafana插件提供给了我们方案

    1、环境说明

    本文环境是二进制部署的k8s集群,prometheusgrafana通过yaml部署(非operator)

    # kubectl version
    Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
    Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:32:14Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
    # kubectl get pods -n kube-system -l k8s-app=prometheus
    NAME           READY   STATUS    RESTARTS   AGE
    prometheus-0   2/2     Running   0          1m
    # kubectl get pods -n kube-system -l app=grafana
    NAME        READY   STATUS    RESTARTS   AGE
    grafana-0   1/1     Running   0          1m
    

    2、grafana-kubernetes-app插件

    插件地址

    2.1、插件介绍

    Grafana Kubernetes App可监控Kubernetes集群的性能。它包括4个仪表板,即集群,节点,Pod/容器和部署。它允许自动部署所需的Prometheus导出器,并使用默认的scrape配置与您的集群内Prometheus部署一起使用。收集的指标是高级集群和节点统计信息,以及较低级别的pod和容器统计信息。使用高级指标进行警报,使用低级指标进行故障排除。

    要求
    目前仅支持Prometheus
    为了自动部署exporter,则需要Kubernetes 1.6或更高版本。
    Grafana 5.0.0+

    特征

    • 该应用程序使用Kubernetes标签来过滤Pod指标。Kubernetes集群往往有很多Pod和很多Pod指标。Pod / Container仪表板利用了pod标签,因此可以轻松找到相关的pod
    • 轻松安装exporter,从Grafana一键式部署,或使用kubectl手动部署
    • Heapster中不可用的群集级别指标,例如CPU容量与CPU使用率。

    集群指标

    • Pod容量/用途
    • 内存容量/使用率
    • CPU容量/使用率
    • 磁盘容量/使用率
    • 节点,容器和容器概述

    节点指标

    • 中央处理器
    • 可用内存
    • 每个CPU的负载
    • 读取IOPS
    • 写入IOPS
    • 实用率
    • 网络流量/秒
    • 网络数据包/秒
    • 网络错误/秒

    Pod/容器指标

    • 内存使用情况
    • 网络流量
    • CPU使用率
    • 读取IOPS
    • 写入IOPS

    2.2、插件安装

    进入pod或者将插件离线下载后上传到/var/lib/grafana/plugins目录

    # kubectl get pods -n kube-system -l app=grafana
    NAME        READY   STATUS    RESTARTS   AGE
    grafana-0   1/1     Running   0          123m
    # kubectl -n kube-system exec -it grafana-0 bash
    bash-5.0$ grafana-cli plugins install grafana-kubernetes-app
    installing grafana-kubernetes-app @ 1.0.1
    from: https://grafana.com/api/plugins/grafana-kubernetes-app/versions/1.0.1/download
    into: /var/lib/grafana/plugins
    
    ✔ Installed grafana-kubernetes-app successfully
    
    Restart grafana after installing plugins . <service grafana-server restart>
    

    提示需要重启服务,此处直接删除pod,让其重新拉起即可

    # kubectl -n kube-system delete pods grafana-0
    

    2.3、插件配置

    重新访问grafana界面查看插件列表,找到kubernetes插件并启用

    选择创建集群

    配置项如下

    • name:名称,自定义
    • URL:api-server的地址
    • Auth:认证信息,勾选TLS Client AuthWith CA Cert
      • TLS Auth Details
        此处配置的是插件连接k8s的认证信息,这里我们可以新建一个kubeconfig文件也可以沿用kubectl使用的kubeconfig文件,在kubeconfig文件中的内容使经过base64编码后的,在这里需要将这些内容解码,类似echo "key内容" | base64 -d
        • CA Cert 对应 kubeconfig中的certificate-authority-data
        • Client Cert 对应 kubeconfig中的client-certificate-data
        • Client Key 对应 kubeconfig中的client-key-data
    • Datasource:数据源,选择之前配置好的prometheus
    • 除上面内容外,还可以选择通过此插件自动在集群中注入prometheus的配置及部署node_exporter,这里已经部署过了,就不再部署了

    如上图所示,填写完后点击Save,然后等待一会儿查看是否成功

    2.4、插件效果

    按照上面的操作成功配置后,插件会自动在grafana中添加多个实用的dashboard,下图展示其中一个

    3、devopsprodigy-kubegraf-app插件

    插件地址

    3.1、插件介绍

    DevOpsProdigy KubeGraf是一个非常优秀的Grafana Kubernetes插件,是Grafana官方的Kubernetes插件的升级版本,该插件可以用来可视化和分析Kubernetes集群的性能,通过各种图形直观的展示了Kubernetes集群的主要服务的指标和特征,还可以用于检查应用程序的生命周期和错误日志。

    要求
    要安装使用 DevOpsProdigy KubeGraf 插件需要满足以下要求:

    • Grafana > 5.0.0 版本
    • 需要在Kubernetes集群上部署Prometheus + node-exporter + kube-state-metrics
    • 依赖Grafana-piechart-panel插件

    特征
    该插件包含3个主要的信息页面,其中包含有关Kubernetes集群的详细信息

    应用概述
    该插件可以显示 Kubernetes 集群上面的应用的一些基本监控信息

    • 应用程序逻辑图
    • Kubernetes 对象的分布
    • 可视化应用程序的生命周期和基本特征信息
    • 在集群中允许访问的服务端口的描述信息

    集群状态

    • 关于群集及其中的节点的状态的摘要
    • 监视应用程序生命周期的详细信息
    • 集群服务器中服务所在位置的可视化表示

    节点概述

    • 集群节点摘要
    • 有关已用和已分配资源(RAM,CPU利用率)以及容器数量的信息
    • 豆荚的物理分布

    Dashboards
    除了在插件主页上提供了常见的信息之外,该插件还提供了另外5个Dashboard供我们来跟踪集群的各种性能指标

    • node dashboard
      带有节点指标的Dashboard,它可以显示资源的使用情况,例如CPU利用率、内存消耗、空闲/iowait模式下的CPU时间百分比以及磁盘和网络的状态
    • pod dashboard
      可以根据所选择的Pod来显示对应的资源使用情况
    • deployments dashboard
      Deployment为维度来显示对应的资源对象相关的资源使用情况
    • statefulsets dashboard
      Statefulset为维度来显示对应的资源对象相关的资源使用情况
    • daemonsets dashboard
      Daemonset为维度来显示对应的资源对象相关的资源使用情况

    上面三个Dashboard显示了可用/不可用的应用程序的副本数量以及这些应用程序的容器状态,还会跟踪容器的重启

    3.2、插件安装

    进入pod或者将插件离线下载后上传到/var/lib/grafana/plugins目录

    # kubectl get pods -n kube-system -l app=grafana
    NAME        READY   STATUS    RESTARTS   AGE
    grafana-0   1/1     Running   0          130m
    # kubectl -n kube-system exec -it grafana-0 bash
    bash-5.0$ grafana-cli plugins install devopsprodigy-kubegraf-app
    installing devopsprodigy-kubegraf-app @ 1.3.0
    from: https://grafana.com/api/plugins/devopsprodigy-kubegraf-app/versions/1.3.0/download
    into: /var/lib/grafana/plugins
    
    ✔ Installed devopsprodigy-kubegraf-app successfully 
    
    Restart grafana after installing plugins . <service grafana-server restart>
    
    bash-5.0$ grafana-cli plugins install Grafana-piechart-panel #按照前面的提示如果没有安装Grafana-piechart-panel插件也需要安装
    installing Grafana-piechart-panel @ 1.5.0
    from: https://grafana.com/api/plugins/Grafana-piechart-panel/versions/1.5.0/download
    into: /var/lib/grafana/plugins
    
    ✔ Installed Grafana-piechart-panel successfully 
    
    Restart grafana after installing plugins . <service grafana-server restart>
    

    提示需要重启服务,此处直接删除pod,让其重新拉起即可

    # kubectl -n kube-system delete pods grafana-0
    

    3.3、插件配置

    同样的,重新访问grafana界面查看插件列表,找到DevOpsProdigy KubeGraf插件并启用
    点击 Set up your first k8s-cluster 创建一个新的Kubernetes集群

    配置和Kubernetes App插件一样,这里不再赘述,如图所示

    3.4、插件效果

  • 相关阅读:
    PHP程序十点未来的建议
    网站入侵思路
    SQL注入初探
    php安全学习笔记
    BLE协议分析
    调用NMAP批量扫描IP端口
    安卓系统手机目录
    xss绕过过滤方法
    xss测试用例
    python爬虫
  • 原文地址:https://www.cnblogs.com/ssgeek/p/12957177.html
Copyright © 2011-2022 走看看