最近需要撘一套监控系统,调研了几个方案,这里记录一个暂时放弃的方案:
应用通过statsd client写statsd metrics到collectd,以及通过JMX展示应用监控和JVM监控(Metrics的jmxreporter展示应用监控),一级collectd通过statsd plugin收集数据(针对JMX监控信息,使用GenericJMX插件),二级collectd收集一级collectd的数据,然后写入influxdb,grafana做查询、聚合和展示
collectd安装及配置
1 安装
collectd有多种安装方式,使用yum命令进行安装
sudo yum install collectd
2 配置
修改/etc/collectd.conf
配置文件,下面是需要注意的点
-
Hostname
可不修改,使用机器的name -
Interval
各个插件可定制,默认的tick为10s -
network
一级collectd配置client,用于发送数据至二级collectd
二级collectd配置server+client, server用于接收一级collectd的数据,client用于发送数据至influxdb -
statsd
DeleteCounters、DeleteTimers、DeleteGauges、DeleteSets这几个选项需要设置为true,否则会出现即使没有数据,继续发送上一帧数据的现象
Host、Port设置也需要小心,以及保持一致
1 注意使用
systemctl status collectd
来检查插件的加载情况
2GenericJMX
插件的使用没做进一步的了解
influxdb安装及配置
1 安装
使用二进制文件安装,这样的好处是可以保持独立
wget wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.0_linux_amd64.tar.gz tar xvfz influxdb-1.2.0_linux_amd64.tar.gz
2 配置
- 指定配置文件
使用-config=
来指定配置文件 - enable collectd插件
注意设置enabled = true
bind-address
和database
注意保持一致
database需要在influxdb admin界面创建好
influxdb的amdin界面还是挺强大的,不过图像操作却相当受限制,可以google了解更多的一些查询操作
网友评论