• prometheus学习3Grafana部署及基本使用


    Grafana部署及基本使用

    一、安装

    官方文档 国内清华大学镜像

    • 配置镜像,编辑/etc/yum.repos.d/grafana.repo
    [root@node1 ~]# cat >/etc/yum.repos.d/grafana.repo<
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    yum makecache
    yum install grafana-8.1.2-1.x86_64.rpm     #选好版本再装
    systemctl enable grafana-server  --now
    
    • 1
    • 2
    • 3
    • 安装包相关文件说明
    Installs binary to /usr/sbin/grafana-server
    Copies init.d script to /etc/init.d/grafana-server
    Installs default file (environment vars) to /etc/sysconfig/grafana-server
    Copies configuration file to /etc/grafana/grafana.ini
    Installs systemd service (if systemd is available) name grafana-server.service
    The default configuration uses a log file at /var/log/grafana/grafana.log
    The default configuration specifies an sqlite3 database at /var/lib/grafana/grafana.db
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    http://192.168.1.11:3000/login  # 登录地址       admin/admin 用户密码
    
    • 1

    二、使用

    配置数据源
    在这里插入图片描述
    配置数据源地址并保存

    在这里插入图片描述
    使用现有监控面板监控Linux服务器

    grafana官方提供了大量开源的监控面板给我们使用,我们只需要根据我们的exporter查找对应的监控面板,并根据需求选择安装监控面板。dashboards官方站点

    根据条件查找我们需要的面板
    在这里插入图片描述
    根据面板ID添加,需要联网,你也可以下载后upload json 文件
    在这里插入图片描述
    在这里插入图片描述

    三、grafana学习要点

    基本使用

    • 安装配置
    • 数据源管理
    • 基础查询展示
    • 搜索安装exporter模板并配置

    进阶使用

    Prometheus+Grafana

    参考链接

    grafana查询测试页面

    查询测试页面可以通过页面点击或命令实现查询展示这里展示了不同版本的页面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Linux主机监控

    通过搜索漂亮的面板我们可以将我们Linux服务器状态信息展示在grafana上,同时我们可以对优秀的模板进行模仿学习最终我们可定制出属于自己的面板。

    网络接口上传下载速率-初次定义一个简单的查询展示面板

    查询与测试

    • 存储单位换算
    1KB=1024B;1MB=1024KB=1024 x 1024B。其中1024=2^10。
    
    1B(byte,字节)= 8 bit;
    1KB(Kibibyte,千字节)=1024B= 2^10 B;
    1MB(Mebibyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B;
    1GB(Gibibyte,吉字节,十亿字节,又称“千兆”)=1024MB= 2^30 B;
    1TB(Tebibyte,万亿字节,太字节)=1024GB= 2^40 B;
    1PB(Pebibyte,千万亿字节,拍字节)=1024TB= 2^50 B;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 查询下载速率
    node_network_receive_bytes_total{instance=~'192.168.1.11:9100',device=~"ens33"}        # 计数器-记录接收的bytes
    rate(node_network_receive_bytes_total{instance=~'192.168.1.11:9100',device=~"ens33"}[5m])        # 下载速度   bytes/S
    
    • 1
    • 2

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

    • 查询上传速率
    node_network_transmit_bytes_total{instance="192.168.1.11:9100"}
    rate(node_network_transmit_bytes_total{instance=~'192.168.1.11:9100',device=~"ens33"}[5m])
    
    • 1
    • 2
    • 查询测试

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

    添加面板

    • 添加dashboard
      在这里插入图片描述
    • 添加panel
      在这里插入图片描述
    • 添加展示公式并设置表格展示名字
      在这里插入图片描述
    • 设置表格标题
      在这里插入图片描述
    • 设置单位
      在这里插入图片描述
    • 设置图像显示风格
      在这里插入图片描述

    使用变量提供灵活的页面展示

    上一个例子我们通过添加页面也可以查询实例192.168.1.11:9100的ens33接口的流量速率,但是如果我们想要查看其他实例或者接口就需要我们使用变量。

    添加变量

    • 添加变量页面
      在这里插入图片描述
    • 集群变量 label_values(node_uname_info{},cluster)

    在这里插入图片描述

    • job变量 label_values(node_uname_info{cluster=~“$cluster”},job)

    在这里插入图片描述

    • instance实例
    label_values(node_uname_info{cluster=~"$cluster",job=~"$job"},instance)   -->192.168.1.10:9100
    
    • 1

    变量job有多个值,node_uname_info下的instance也是多个值,这样多对多没查出结果

    • 查询时间变量

    在这里插入图片描述

    • 网卡接口
    label_values(node_network_receive_bytes_total{cluster=~"$cluster",instance=~"$instance",job=~"$job"},device)
    
    • 1
    • 此时可以在查询页面查询到我们添加的变量
      在这里插入图片描述

    使用变量

    变量添加完了我们可以在查询中使用$var_name引用

    • 引用变量
    rate(node_network_receive_bytes_total{cluster=~"$cluster",device=~"$device"}[1m])
    
    • 1

    在这里插入图片描述

    多表查询合并与展示

    以下通过多表查询合并展示文件系统各个分区的使用信息。

    在这里插入图片描述

    查询语句

    • 磁盘总量
    node_filesystem_size_bytes{instance=~"$instance",fstype=~"ext.*|xfs"} -  0               
    -- 瞬时向量 OP 标量--->无metric_name的向量
    node_filesystem_size_bytes{instance=~"$instance",fstype=~"ext.*|xfs"} /1024/1024/1024
    
    • 1
    • 2
    • 3
    • 磁盘剩余量
    node_filesystem_avail_bytes{instance=~"$instance",fstype=~"ext.*|xfs"} -  0
    
    • 1
    • 使用率
    ((node_filesystem_size_bytes{instance=~"$instance",fstype=~"ext.*|xfs"} - node_filesystem_avail_bytes{instance=~"$instance",fstype=~"ext.*|xfs"})/node_filesystem_size_bytes{instance=~"$instance",fstype=~"ext.*|xfs"} -0 )*100
    -- ((总量 - 剩余) / 总量)*100   磁盘使用百分比
    
    • 1
    • 2

    合并多条查询

    • 将三个查询条目分别设置为表格显示结果,且查询为瞬时向量

    在这里插入图片描述

    • 多个查询结果外连接OutJoin,外联接的字段为device
      在这里插入图片描述
    • 合并Merge,通过合并去掉重复的字段,例如Time,Instance等
      在这里插入图片描述
    • 调整表格显示,隐藏字段及字段显示名称
      在这里插入图片描述

    优化表格显示

    • 设置单位
      在这里插入图片描述
    • 小于10G显示为红色,大于10G为绿色
      在这里插入图片描述
    • 使用率超过30%显示红色,小于30%显示绿色

    在这里插入图片描述

    主机概要信息

    显示所有主机信息汇总,可通过链接跳转到指定的instance

    查询主机信息

    • 查看主机运行时间
    sum(time() - node_boot_time_seconds{job=~"$job"})by(instance)
    
    • 1
    • 主机名
    node_uname_info{job=~"$job"} - 0
    
    • 1
    • 内存信息
    node_memory_MemTotal_bytes{job=~"$job"} - 0
    
    • 1
    • CPU核数
    count(node_cpu_seconds_total{job=~"$job",mode='system'}) by (instance)
    
    • 1
    • 下载上传速率
    max(rate(node_network_receive_bytes_total{job=~"$job"}[$interval])) by (instance)
    max(rate(node_network_transmit_bytes_total{job=~"$job"}[$interval])) by (instance)
    
    • 1
    • 2
    • 面板显示

    在这里插入图片描述

    增加数据链接

    • 配置数据链接
      在这里插入图片描述
    • 链接引用变量
      在这里插入图片描述
    d/hd6Bipm7k/node-exporter?orgId=1&var-job=$job&var-instance=${__data.fields.instance}
    
    • 1
  • 相关阅读:
    Kong实现禁止国外IP访问
    27 - Excel 的基本公式和重要函数
    我是怎么画架构图的?
    记忆化搜索,901. 滑雪
    拼多多启动第四届农货节:携手10万涉农店铺,与8.8亿消费者共享“秋收喜悦”
    大模型部署手记(13)LLaMa2+Chinese-LLaMA-Plus-2-7B+Windows+LangChain+摘要问答
    量化交易 - 策略回测
    分布式系统中的选举,日志副本,安全等设计思想
    黑马C++ 02 核心6 —— 类和对象_继承(重难点)
    1、java基本语法
  • 原文地址:https://blog.csdn.net/weixin_60092693/article/details/126235036