Grafana制作clickhouse监控仪表盘(二)-服务器监控表单

相关历史文章:
(一)节点状态的监控


虽然我们想要监控的是clickhouse服务,但是对clickhouse所部署服务器的监控同样重要,服务器本身的状态异常可能会直接导致clickhouse服务的异常。Prometheus官方提供的node-exporter插件可以采集丰富的服务器状态指标,本文示例中所使用的数据源也是来源于此。但我们现在要做的是先制作一张表单,可以呈现各个服务器主要的静态指标和部分动态指标,至于完整的服务器状态监控可以参看github上大神们的 作品

1. 表单效果

在这里插入图片描述

2. 指标介绍

  • 状态:利用blackbox_exporter插件提供的icmp模块提供,0为异常,1为正常

以下指标均有node_exporter插件提供,ip的lable是在prometheus配置文件中自定义的

  • 静态资源(CPU架构、主机名、操作系统版本、操作系统):对应的metric为node_uname_info
  • 启动时长:对应的metric为time()-node_boot_time_seconds
  • 内存大小:node_memory_MemTotal_bytes-0
  • 内存使用率:(1-node_memory_MemAvailable_bytes/node_memory_MemTotal_bytes)*100
  • CPU最近5分钟负载:node_load5-0
  • CPU利用率:(1-avg(rate(node_cpu_seconds_total{mode="idle"}[$__rate_interval]))by(ip))*100
  • 磁盘读速率(所有磁盘):sum(rate(node_disk_read_bytes_total[$__rate_interval]))by(ip)
  • 磁盘写速率(所有磁盘):sum(rate(node_disk_written_bytes_total[$__rate_interval]))by(ip)
  • 网卡上传速率(所有网卡):sum(rate(node_network_receive_bytes_total[$__rate_interval])*8)by(ip)
  • 网卡下载速率(所有网卡):sum(rate(node_network_transmit_bytes_total[$__rate_interval])*8)by(ip)

3. Grafana制作

3.1 多表合并

因为我们需要将不同的指标在一张表中显示,这就涉及到了grafana的表合并功能。

3.1.1 合并原理

如果两张表有相同的字段,则以此为key进行合并,比如A表有f1,f2,f3,B表有f1,f2,f4,则合并后的列为f1,f2,f3,f1,f2,f4,如果两种表中f1和f2的值相同,则会合并到一行,否则会多行显示。

3.1.2 合并方法

grafana通过transform的功能可以满足表格的合并的需求。

  • 方法1:Merge(自动按照instance的label进行合并,相同的instance会合并到一起)
    在这里插入图片描述

  • 方法2:Outer Join (可以按照指定的列进行join,因为我们的例子中instance不一致,所以只能是自定义一个IP的label,然后以此为key进行join操作)
    在这里插入图片描述

3.2 隐藏列/重命名/排序

同样是transform提供的功能,通过Organize Fields可以设置哪些列不需要在表格上显示,如上面所述,相同的列名在合并后会出现两次,因此可以使用此功能将重复的列隐藏掉;同样还可以在这儿对列进行重命名和重排序的操作。 总之,transform是用来在表格显示前对数据显示进行处理的。
在这里插入图片描述

3.3 特殊列设置

有些列我希望在显示的时候有些特殊的设置,比如说背景颜色、单位、阈值设置等,这些需求都可以通过Overrides功能来满足:

3.3.1 设置显示方式

比如状态列希望设置为背景标识,绿色表示正常,红色表示异常。
在这里插入图片描述

3.3.2 修改单位

Grafana提供了各种各样的单位选择,详情可以查看官网,我们常用的是Data和Data Rate,前者是表示数据大小的,后者是表示速率的。我们会看到同一个单位有IEC和SI两种选择,这里补充个小知识点:

  • IEC标准:2进制单位,即1KiB = 2^10B,是按1024来换算的,单位中间会加一个i来区分
  • SI标准:10进制表示,即1KB = 10^3B,是按1000来换算的

在这里插入图片描述

3.3.3 阈值设置

有的列我们希望通过设置阈值的方式来显示告警,比如内存利用率,大于80我们希望用黄色来表示一般告警,大于90用红色来表示严重告警,其他用绿色表示正常。
在这里插入图片描述

小结

本文简单介绍了如何用Grafana来制作一张服务器的监控信息表,同样的方法我们可以做出CH实例的监控信息表来,你可以自己动手试试~~

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
你可以使用 Vue 的双向绑定和计算属性来实现实时监控表单的功能。首先,在 Vue 的实例中定义一个 data 对象来存储表单的数据,然后使用 v-model 指令将表单元素与 data 对象中的属性进行绑定。这样,当表单元素的值发生变化时,对应的 data 属性也会更新。 接下来,你可以使用计算属性来监控数据的变化。计算属性是基于它们的依赖进行缓存的,只有当依赖发生变化时,计算属性才会重新计算。你可以在计算属性中监听表单数据的变化,并在变化时执行相应的操作,比如发送请求或更新其他相关数据。 下面是一个示例代码: ```html <template> <div> <input v-model="formData.name" type="text" placeholder="姓名"> <input v-model="formData.age" type="number" placeholder="年龄"> <p>姓名:{{ formData.name }}</p> <p>年龄:{{ formData.age }}</p> </div> </template> <script> export default { data() { return { formData: { name: '', age: null } }; }, computed: { monitorForm() { // 在这里监听表单数据的变化 // 可以执行一些操作,比如发送请求或更新其他相关数据 console.log('表单数据发生变化'); // 你可以根据具体需求来实现相应的逻辑 } } }; </script> ``` 在上面的示例中,我们通过 v-model 将输入框与 formData 对象中的属性进行双向绑定。然后,在 computed 中定义了一个名为 monitorForm 的计算属性,当 formData 中的数据发生变化时,会触发计算属性的重新计算,并执行其中的逻辑。 你可以根据具体需求,在 monitorForm 计算属性中编写相应的代码来实现实时监控表单的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

普普通通程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值