监控服务器状态是运维必不可少的一部分, 通常情况, 我们用得比较多的就是graphite
, 因为使用python写的, 所以对于大部分运维工程师来讲, 算是比较熟悉的语言. 但graphite毕竟比较老了, 界面体验方面不太友好, 加上graphite部署起来也不是太容易, 会给新手造成一定困扰.
这里给大家介绍的是另一种监控系统grafana
, 相比graphite, 优势非常大, 特别是配置和部署, 要简单很多, 界面方面的体验做得非常好, 特别是还兼容graphite的数据
由于grafana仅仅只是提供界面显示, 所以他需要从influxdb
中获取数据, 而influxdb中的数据又需要从其他地方收集过来, 常用的收集工具是collectd
和telegraf
, 其中collectd这里不做介绍, 有些数据不是太适合, 而 influxdb 自身集成 telegraf插件, 不需要进行专门的配置
collectd/telegraf(收集数据) -------> influxdb(保存数据) -------> grafana(显示数据)
安装配置
influxdb 1.x+
cd /opt
# 下载速度很慢, 建议用迅雷下载, 然后通过ftp上载到服务器
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm
yum localinstall influxdb-1.0.2.x86_64.rpm
service influxdb start
管理后台默认端口: 8083, 我们可以直接访问后台管理数据
数据传递默认端口: 8086, 其他服务传递数据的端口
telegraf 1.x+
cd /opt
# 下载速度很慢, 建议用迅雷下载, 然后通过ftp上载到服务器
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.0.1.x86_64.rpm
yum localinstall telegraf-1.0.1.x86_64.rpm
cd /etc/telegraf
# 只收集cpu, 内存和硬盘的数据
telegraf -sample-config -input-filter cpu:mem:disk -output-filter influxdb > telegraf.conf
# 设置将数据传递写入influxdb服务器
vi telegraf.conf
# 将地址改成 influxdb 对应的服务器地址, 端口默认 8086, 默认数据库 telegraf
# 启动服务
service telegraf start
grafana 3.x+
cd /opt
# 下载速度很慢, 建议用迅雷下载, 然后通过ftp上载到服务器
wget https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm
yum localinstall grafana-3.1.1-1470047149.x86_64.rpm
# 启动服务
service grafana-server start
# 添加开机启动
chkconfig --add grafana-server
默认启动端口 3000, 账户密码默认都是 admin
grafana 使用
- 创建数据源
- 创建显示面板
- 添加单个面板
- 选择定义数据源
- 从数据源中添加数据
最终显示结果:
参考官方文档
telegraf: https://docs.influxdata.com/telegraf/v1.0/
influxdb: https://docs.influxdata.com/influxdb/v1.0
grafana: http://docs.grafana.org/