Grafana展示DNS解析延时

  首先一个完整的监控肯定会包含三个部分:1.数据收集部分、2.数据存储部分、3.数据展示部分,今天我也是从这三个方面来实现这个监控的。

数据收集(SHELL 脚本)

  没有想到比较好的方法来采集数据,就用的最原始的办法用脚本来采集数据,当然脚本中也有点坑需要我们注意:

#!/bin/bash
# 定义一个函数,用来采集DNS解析的延时数据,并将数据写入influxdb数据库。
Domain()
{
	# 使用变量承接DNS解析延时
    delay=`dig +time=2 @DNSIP $1 |grep Query|cut -f4 -d" "`
    # 将延时及域名插入influxdb数据库
    influx -database DNS --execute 'insert DNSMaster,domain='$1' value='$delay''
}
# 死循环实时提取延时数据
while :
do
    Domain baidu.com
    Domain nginx.com
    Domain apache.com
done

数据存储(Influxdb 数据库)

1.安装启动Influxdb数据库。
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.0.x86_64.rpm
rpm -ivh influxdb-1.6.0.x86_64.rpm
service influxdb start
2.Influxdb数据库的基本使用。

#创建数据库
CREATE DATABASE test
#查看数据库
SHOW DATABASES
#使用数据库
USE test
#查看数据表
SHOW MEASUREMENT
#插入数据
#命令行模式
insert tablename,domain=baidu value=10
#HTTP接口模式
curl -i -XPOST 'http://localhost:8086/write?db=test' --data-binary 'tablename,domain=baidu value=10'
influxdb中的名词 传统数据库中的概念
database 数据库
measurement 数据库中的表
points 表里的一行数据
  Influxdb是一个时序数据库,我们选择使用这个数据库主要是因为操作起来比较简单,时序数据库我们简单的可以理解为它会为我们的字段自动补全时间戳,也就是我展示数据的时候不需要考虑时间戳的问题,理解和操作起来相当简单。

数据展示(Grafana)

1.安装。
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.2-1.x86_64.rpm
yum localinstall grafana-5.2.2-1.x86_64.rpm
systemctl start grafana
2.配置Grafana展示influxdb数据库数据。
  如何配置我在以前的一篇文章中已经写过了,这里就不在过多描述了,如果你不知道,可以去这里看https://www.cnblogs.com/Cherry-Linux/p/9144650.html

posted @   Federico  阅读(599)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示