今天的主角是InfluxDB、Glances、Grafana这三个工具,三个工作都非常强大。可以用于组件一个比较强大的分布式监控系统了,关键是文档也比较齐全。
简单介绍一下这三款软件:
- InfluxDB: InfluxDB 是一个开源,分布式,时间序列,事件,可度量和无外部依赖的数据库。
- Glances: glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。本文介绍 glances 的使用方法和技巧,帮助 Linux 系统管理员了解掌握服务器性能。
- Grafana: grafana 是一款采用go 语言编写的开源应用,主要用于大规模指标数据的可视化展现。
下面我们说一下具体的部署过程:
部署环境
- 监控对象:MAC机器
- 监控平台:InfluxDB+Grafana,安装在一台CentOS机器上。(192.168.99.9)
部署过程
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
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"]]}]}]}
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
添加数据源
添加Graph
填入查询语句(可以到influxdb的WEB页面操作查询,语法和SQL差不多,非常简单)。这里我们填入查询复杂信息的语句。
- 直接在浏览器上进行配置:http://192.168.99.9:3000
效果图 下面是我自己简单配置的一个监控图形,有兴趣的可以自己发挥。
FAQ
- 连接不上数据库,访问页面超时。首先检查一下安装过程以及配置,启动时是否有报错,另外看防火墙是否配置正确。
其他
- 以上为个人的一个安装和配置过程,如有不对,请多多指正。