首先一个完整的监控肯定会包含三个部分: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

Grafana展示DNS解析延时的更多相关文章

  1. DNS解析过程详解

    先说一下DNS的几个基本概念: 一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点 ...

  2. C#实现DNS解析服务和智能DNS服务

    C#实现DNS解析服务有一个开源项目ARSoft.Tools.Net, ARSoft.Tools.Net是一个非常强大的开源DNS控件库,包含.Net SPF validation, SenderID ...

  3. 解决域名DNS解析的故障

    在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的.这个现象发生的机率比较 ...

  4. LINUX DNS解析的3种修改方法~

    1.HOST 本地DNS解析 vi /etc/hosts 添加规则 例如: 223.231.234.33 www.baidu.com 2.网卡配置文件DNS服务地址  vi /etc/sysconfi ...

  5. DNS解析过程和域名收敛、域名发散、SPDY应用

    前段时间项目要做域名收敛,糊里糊涂的完成了,好多原理不清晰,现在整理搜集下知识点. 域名收敛的目的是什么?简单来说就是域名解析慢.那为什么解析慢?且听下文慢慢道来. 什么是DNS? DNS( Doma ...

  6. 通过统计用户DNS解析记录,实现监控用户上网行为

    上次通过扫描抓包分析TTL的方式检测公司网络开放的端口,发现没有开放53端口(DNS),也就是在公司内部的主机只能用服务器自动分配的DNS,并且发现这是台内部服务器.今天发现bing上不去,检测后发现 ...

  7. DNS解析全过程及原理

    DNS解析原理及过程. 当用户访问我们网站一个网页时,他需要经过以下步骤: 1)找到这个网页的存放服务器: 2)服务器将用户的请求信息接入: 3)服务器通过文件路径(URL)查找用户请求网页: 4)用 ...

  8. 使用dig查询dns解析

    原文地址:使用dig查询dns解析 作者:chenwenming 一般来说linux下查询域名解析有两种选择,nslookup或者dig,而在使用上我觉得dig更加方便顺手. 如果是在debian下的 ...

  9. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析

    默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...

随机推荐

  1. Typora快捷键的使用

    无序列表:输入-之后输入空格 有序列表:输入数字+“.”之后输入空格 任务列表:-[空格]空格 文字 标题:ctrl+数字 表格:ctrl+t 生成目录:[TOC]按回车 选中一整行:ctrl+l 选 ...

  2. Android模拟器内安装应用

    一.通过apk安装器安装应用 1.下载apk安装器(网上随便搜一个就可以) 2.下载要测试的应用的apk,我这里下载的是微信的apk 3.打开apk安装器,点击右上角的Devices选择要安装到的设备 ...

  3. ReactNative手势解锁(react-native-ok-gesture-password)

    在大前端的趋势之下,我也慢慢开始从事React Native相关的开发.但是奈何React Native生态相对于Android来说还是太小了.许多开源的库早早就已经不再维护.之前项目中需要用到手势解 ...

  4. 第八章 高级搜索树 (b5)B-树: 删除

  5. 64位tomcat不能配32位的JDK使用

    警告: The APR based Apache Tomcat Native library failed to load. The error reported was [D:\apache-tom ...

  6. ios 8 联系人ABPeoplePickerNavigationController

    一. ios 联系人ABPeoplePickerNavigationControllerDelegate方法,新添加下面两个联系人选中方法,适配iOS8需要实现 // Called after a p ...

  7. mysql优化概述4

    一.分区 1.分区概念 将某张表数据,分别存储到不同的区域中. 每个分区,都是独立的表,都要存储该分区的数据,索引信息. 2.创建分区 创建表并指定分区的选项 create table 表名 ( 定义 ...

  8. oracle导入导出dmp 解决exp-00011

    解决办法,批量修改Segment.1先查找所有数据表为空的表 select table_name from user_tables where NUM_ROWS=0; 2若查不出数据,是因为 NUM_ ...

  9. linux下的xampp安装

    最近因为要部署一个php的公众号应用到一台linux的测试服务器,在考虑是用xampp这样的集成环境还是自己配置.故两个都安装配置下. 最后经过研究查阅相关资料后,总结: 因为xampp本身很开放,几 ...

  10. 品味性能之道<四>:管理重于技术

      一.性能优化中的角色分工 (1).老外的角色分工         在oracle性能优化方法论中,将IT系统中不同角色需要承担的性能优化工作罗列如下. 各司其职的角色分工 业务分析人员 1.业务需 ...