当前位置:网站首页>prometheus学习3Grafana部署及基本使用
prometheus学习3Grafana部署及基本使用
2022-08-09 18:54:00 【daydayup9527】
Grafana部署及基本使用
一、安装
- 配置镜像,编辑/etc/yum.repos.d/grafana.repo
[[email protected] ~]# cat >/etc/yum.repos.d/grafana.repo<<EOF
[grafana]
name=grafana
baseurl=https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm
repo_gpgcheck=0
gpgkey=https://packages.grafana.com/gpg.key
enabled=1
EOF
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模板并配置
进阶使用
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}
边栏推荐
猜你喜欢

2021 RoboCom 世界机器人开发者大赛-本科组(决赛)
![[免费专栏] Android安全之Android应用的汉化功能(修改so中的字符串内容)](/img/f6/7901b2cf6812a02c34c182fe33dd16.png)
[免费专栏] Android安全之Android应用的汉化功能(修改so中的字符串内容)

Samsung's flagship discount is 1,800, Apple's discount is over 1,000, and the domestic flagship is only reduced by 500 to send beggars

新出现的去中心化科学能够为科学领域带来什么?

听音识情绪 | 程序员手把手教你搭建神经网络,更快get女朋友情绪,求生欲max!

《痞子衡嵌入式半月刊》 第 60 期
![[] free column Android run Android, her - as command of safety](/img/d5/771802eb57f24c1cf88657f5c5a724.png)
[] free column Android run Android, her - as command of safety

这年头还不来尝试线稿图视频??

Openharmony Lightweight System Experiment--GPIO Lighting

2022深圳(软考高级)信息系统项目管理师认证报名
随机推荐
[免费专栏] Android安全之Android应用的汉化功能(修改so中的字符串内容)
hdu 1285 确定比赛名次(拓扑排序)
laravel报错:TokenMismatchException in VerifyCsrfToken.php line 68:
鲜花线上销售管理系统的设计与实现
『百日百题 · 基础篇』备战面试,坚持刷题 第五话——循环语句(2)!
[] free column Android dynamic debugging GDB APP of safety
阿里云架构师耗时几个月编写这份MySQL高可用和性能优化技术宝典
Bi Sheng Compiler Optimization: Lazy Code Motion
【Unity3D】2D动画
请问一下flink cdc mysql source 报这种错怎么处理呢?我都设置了useSSL=f
基于CC2530 E18-MS1-PCB Zigbee DIY作品(二)
[免费专栏] Android安全之Xposed插件开发【从零手把手带】教程
An overview of Office 365 Groups and how to create them
AttributeError: module ‘click‘ has no attribute ‘get_os_args‘
axi4c
[Free Column] Android Security for Peace Elite (FZ) APK Reverse Analysis
21天学习挑战赛--第四天打卡(横竖屏切换)
Mysql table structure change scheme comparison and analysis
[Free Column] Android Fragment Injection for Android Security
《痞子衡嵌入式半月刊》 第 60 期