zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    mysql在CentOS6.3上安装
    hdfs高可用性(HDFS High Availability)
    如何做个好员工
    lock(3)——更新锁(U)、排它锁(X)、死锁及如何避免死锁
    锁(1)—— 锁粒度和层次结构
    lock(2)——创建及更新表过程中SQL SERVER锁资源分配情况
    HBase体系结构
    HDFS的shell操作
    Windows 使用 net use 命令
    Windows 使用 net 命令简介
  • 原文地址:https://www.cnblogs.com/Cherry-Linux/p/9430065.html
Copyright © 2011-2022 走看看