栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

Grafana部署及基本使用 一、安装

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

  • 配置镜像,编辑/etc/yum.repos.d/grafana.repo
[root@node1 ~]# cat >/etc/yum.repos.d/grafana.repo< 
yum makecache
yum install grafana-8.1.2-1.x86_64.rpm     #选好版本再装
systemctl enable grafana-server  --now
  • 安装包相关文件说明
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
http://192.168.1.11:3000/login  # 登录地址       admin/admin 用户密码
二、使用

配置数据源

配置数据源地址并保存


使用现有监控面板监控Linux服务器

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

根据条件查找我们需要的面板

根据面板ID添加,需要联网,你也可以下载后upload json 文件

三、grafana学习要点

基本使用

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

进阶使用

  • 使用变量提供灵活的页面展示
  • 多表查询合并与展示
  • 通过面板表头,注释,阈值,单位等选项优化面板显示
  • URL链接实现快速跳转
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;
  • 查询下载速率
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




  • 查询上传速率
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])
  • 查询测试


添加面板
  • 添加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

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

  • 查询时间变量

  • 网卡接口
label_values(node_network_receive_bytes_total{cluster=~"$cluster",instance=~"$instance",job=~"$job"},device)
  • 此时可以在查询页面查询到我们添加的变量
使用变量

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

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

多表查询合并与展示

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

查询语句
  • 磁盘总量
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
  • 磁盘剩余量
node_filesystem_avail_bytes{instance=~"$instance",fstype=~"ext.*|xfs"} -  0
  • 使用率
((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   磁盘使用百分比
合并多条查询
  • 将三个查询条目分别设置为表格显示结果,且查询为瞬时向量

  • 多个查询结果外连接OutJoin,外联接的字段为device
  • 合并Merge,通过合并去掉重复的字段,例如Time,Instance等
  • 调整表格显示,隐藏字段及字段显示名称
优化表格显示
  • 设置单位
  • 小于10G显示为红色,大于10G为绿色
  • 使用率超过30%显示红色,小于30%显示绿色

主机概要信息

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

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

增加数据链接
  • 配置数据链接
  • 链接引用变量
d/hd6Bipm7k/node-exporter?orgId=1&var-job=$job&var-instance=${__data.fields.instance}
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1041101.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号