强大的Grafana k8s 插件

2023年 5月 4日 51.4k 0

grafana k8s插件用于集群中的Prometheus部署。收集的指标包括高级别群集和节点统计信息以及较低级别的容器和容器统计信息。使用高级指标进行提醒,使用低级指标进行故障排除。
强大的Grafana k8s 插件
Grafana

Prometheus 持久化安装

新闻联播老司机

  • 19年6月19日
  • 喜欢:0
  • 浏览:4.4k
  • Dashboard的时间需要修改改一下,改成UTC并且+10小时
    之前我们说过grafana监控K8s,当时使用的模板,自己进行修改的值。grafana有一个专门针对Kubernetes集群监控的插件
    grafana-kubernetes-app
    效果图
    image_1ddq45c8q1jtr1n6u1l49j0fnb9t.png-265.1kB
    Grafana Kubernetes应用程序允许您监控Kubernetes集群的性能。它包括4个仪表板,集群,节点,Pod /容器和部署。它允许自动部署所需的Prometheus导出器和默认的scrape配置,以用于集群中的Prometheus部署。收集的指标包括高级别群集和节点统计信息以及较低级别的容器和容器统计信息。使用高级指标进行提醒,使用低级指标进行故障排除。

    # 官方文档grafana-kubernetes-app插件说明
    
    要求
    目前只支持普罗米修斯
    对于出口商的自动部署,则需要Kubernetes 1.6或更高版本。
    Grafana 5.0.0+
    特征
    该应用程序使用Kubernetes标记来过滤pod指标。Kubernetes集群往往有很多pod和很多pod指标。Pod / Container仪表板利用pod标签,因此您可以轻松找到相关的pod或pod。
    
    轻松安装导出器,无论是从Grafana单击部署还是使用kubectl手动部署它们的详细说明(也非常简单!)
    
    Heapster中不可用的群集级别度量标准,如CPU容量与CPU使用率。
    
    群集指标
    Pod容量/用法
    内存容量/使用情况
    CPU容量/使用率
    磁盘容量/使用情况
    节点,窗格和容器概述
    节点度量标准
    中央处理器
    内存可用
    每个CPU加载
    读取IOPS
    写IOPS
    %的Util
    网络流量/秒
    网络数据包/秒
    网络错误/秒
    Pod / Container度量标准
    内存使用情况
    网络流量
    CPU使用率
    读取IOPS
    写IOPS
    

    我们可以在grafana 面包上的插件找到
    image_1ddpr6h4032gjqak9f1kg11npg9.png-209.1kB
    这里有很多grafana提供的插件可以给我们使用
    https://grafana.com/plugins
    image_1ddpr8st81i3719o517tm14h618lh16.png-175.8kB
    这里还可以选择版本
    image_1ddprair41sis1adl1sn04aur9l1j.png-185.3kB

    插件安装

    如果想要安装这个插件需要进行到Pod里面,或者将插件上传到pod /var/lib/grafana/plugins

    # 首先要找到Pod
    [root@abcdocker ~]# kubectl get pod -n kube-system |grep grafana
    grafana-77b79bfc58-c47pd                1/1     Running     0          22h
    grafana-chown-qsctd                     0/1     Completed   0          23h
    
    # 进入Pod
    [root@abcdocker ~]# kubectl exec -it --namespace=kube-system grafana-77b79bfc58-c47pd bash
    
    # 使用grafana-cli下载插件
    grafana-cli plugins install grafana-kubernetes-app
    

    步骤截图
    image_1ddprpse56ta1mii12a6n14159r20.png-174.9kB
    由于需要重启生效,我们这里直接将Pod删除

    [root@abcdocker ~]# kubectl get pod -n kube-system |grep grafana
    grafana-77b79bfc58-c47pd                1/1     Running     0          23h
    grafana-chown-qsctd                     0/1     Completed   0          23h
    [root@abcdocker ~]#
    [root@abcdocker ~]#
    [root@abcdocker ~]# kubectl delete pod -n kube-system grafana-77b79bfc58-c47pd
    pod "grafana-77b79bfc58-c47pd" deleted
    
    # -n后面是命名空间,在后面是pod名称,要根据当前Pod的名称进行删除
    

    当我们看到Pod启动成功后,我们这里继续访问grafana就可以
    image_1ddps174o1p6jsrqeav1o5sfe2q.png-60.3kB
    找到我们的插件
    image_1ddps06e21kgj1q44107g13c615oc2d.png-167.7kB
    右手可以看到插件的版本和插件的说明
    image_1ddps36ka8mt15bj1co0mcb1b7p37.png-150.7kB
    点击Enable之后,出现以下状态说明正常
    image_1ddps4st41fier191ovoa5v1um944.png-101.3kB
    这时候我们点击左边的k8s小图表,点击创建集群
    image_1ddps6atf1d6tb631fq1uds1vmp4h.png-85.5kB
    接下来就是配置我们的集群
    image_1ddq3895n17occu1jdf13q61r5965.png-75.2kB
    简单说明一下

    Name 集群名称(自定义)
    URL Kubernetes Apiserver地址
    因为apiserver是使用443端口,还需要开启https,并获取Key
    Datasource 选择数据源  (之前创建prometheus数据源)
    

    接下来我们需要查看api-server的信息

    [root@abcdocker ~]# cat /root/.kube/config
    

    certificate-authority-data = CA Cert 对应
    server = https://10.4.82.141:8443 (这里是apiserver地址,我这里用的是vip,根据你们自己的环境配置)
    client-certificate-data = Client Cert
    client-key-data = Client Key
    image_1ddq34loqaj01abtkub1u281f3a5o.png-437.8kB
    image_1ddq3bt2ktb216kliigfql127n6i.png-1103.3kB
    这里需要说明一下,config文件里面是使用base64编译过后的,所以我们填写的时候是需要使用base64解码
    image_1ddq3gt5v139e1hc2145ila0iae6v.png-1158.6kB

    cat /root/.kube/config |grep certificate-authority-data
    echo "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMxakNDQWI2Z0F0......"|base64 -d
    

    image_1ddq3um7iad57la1d401net1t4t7p.png-1522.1kB
    我的环境配置如下
    image_1ddq42igl9s9157hdmr1os1n7i86.png-114kB
    然后我们点击Save
    如果没有提示证书错误,提示找不到这个元数据,那么请等一会
    有报错会有红色的叹�号
    解决不了可以到https://i4t.com/bubble进行提问,账号免注册直接qq登陆
    image_1ddq43ttbvia1flc656bu911958m.png-24.4kB
    image_1ddq448hotn9k0416jf1itlc2293.png-55.4kB
    Dashboard的时间需要修改改一下,改成UTC并且+10小时
    image_1ddq44kfq9c91lpo6mh1po3ooo9g.png-164.8kB
    最后效果图如下
    image_1ddq45c8q1jtr1n6u1l49j0fnb9t.png-265.1kB
    效果图修改好之后,我们记得curl +s或者点击保存按钮

    相关文章:

    1. Kubernetes 1.14 二进制集群安装
    2. Kubenetes 1.13.5 集群二进制安装
    3. Kuerbernetes 1.11 集群二进制安装
    4. CentOS 7 ETCD集群配置大全

    相关文章

    对接alertmanager创建钉钉卡片(1)
    手把手教你搭建OpenFalcon监控系统
    无需任何魔法即可使用 Ansible 的神奇变量“hostvars”
    openobseve HA本地单集群模式
    基于k8s上loggie/vector/openobserve日志收集
    openobseve单节点和查询语法

    发布评论