InfluxDB、Glances和Grafana构建现代化监控系统

今天的主角是InfluxDB、Glances、Grafana这三个工具,三个工作都非常强大。可以用于组件一个比较强大的分布式监控系统了,关键是文档也比较齐全。

简单介绍一下这三款软件:

  • InfluxDB: InfluxDB 是一个开源,分布式,时间序列,事件,可度量和无外部依赖的数据库。
  • Glances: glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。本文介绍 glances 的使用方法和技巧,帮助 Linux 系统管理员了解掌握服务器性能。
  • Grafana: grafana 是一款采用go 语言编写的开源应用,主要用于大规模指标数据的可视化展现。

下面我们说一下具体的部署过程:

部署环境

  1. 监控对象:MAC机器
  2. 监控平台:InfluxDB+Grafana,安装在一台CentOS机器上。(192.168.99.9)

部署过程

  1. InfluxDB(192.168.99.9)

    • 安装

      • CentOS 6.2

        #下载:
        wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0.x86_64.rpm
        #安装:
        sudo yum localinstall influxdb-0.13.0.x86_64.rpm
        
      • 其他操作系统: 详见官方文档

    • 配置和启动

      # 运行influxdb
      sudo /etc/init.d/influxdb start
              
      # 创建数据库
      curl 'http://192.168.8.172:8086/query?q=CREATE+DATABASE+"inorz_db_name"'
          
      # 查询已经创建的数据库
      curl 'http://localhost:8086/query?q=SHOW+DATABASES'
              
      # 也可以直接登录WEB界面进行操作和查询
      # 访问地址:http://192.168.99.9:8083
      
  2. Glances

    • 安装: 在被监控机器上安装,这里我们要监控的机器是一台MAC机器。

      pip install glances --user
      pip install influxdb --user
      
    • 配置和启动

      sudo vim /etc/glances.conf
      # 输入以下内容后保存退出
      host=192.168.99.9
      port=8086
      ser=root
      password=root
      db=inorz_db_name
              
      # 运行
      glances --export-influxdb -C /etc/glances.conf
              
      # 如果需要后台运行,挂掉又可自动拉启。可以用supervisor来托管服务
      
    • 如果客户端和监控端之间防火墙已经配置互通了的话,这回数据应该是可以正常发送到influxdb去了的。可以通过以下命令来查询有没有指标入库:

      curl 'http://192.168.99.9:8086/query?q=SHOW+MEASUREMENTS&db=glances'
      # 反馈来的是一串json
      {"results":[{"series":[{"name":"measurements","columns":["name"],"values":[["cpu"],["diskio"],["fs"],["load"],["mem"],["memswap"],["network"],["percpu"],["processcount"],["system"]]}]}]}
      
  3. Grafana(192.168.99.9)

    • 安装

      • CentOS 6.2

        # 下载:
        wget https://grafanarel.s3.amazonaws.com/builds/grafana-3.0.2-1463383025.linux-x64.tar.gz
        # 解压并启动
        tar xf grafana-3.0.2-1463383025.linux-x64.tar.gz
        cd grafana-3.0.2-1463383025/bin/
        ./grafana-server
        
      • 其他操作系统: 详见官方文档

    • 配置

      • 直接在浏览器上进行配置:http://192.168.99.9:3000
        • 默认账密为admin,admin
      • 添加数据源 grafana-dd-data-influxdb

      • 添加Graph grafana_add_graph

      • 填入查询语句(可以到influxdb的WEB页面操作查询,语法和SQL差不多,非常简单)。这里我们填入查询复杂信息的语句。 grafana_add_graph_edit

    • 效果图 下面是我自己简单配置的一个监控图形,有兴趣的可以自己发挥。 grafana_dashboards

FAQ

  1. 连接不上数据库,访问页面超时。首先检查一下安装过程以及配置,启动时是否有报错,另外看防火墙是否配置正确。

其他

  1. 以上为个人的一个安装和配置过程,如有不对,请多多指正。