使用 collectd 和 Graphite 监控服务器

2013-06-16  张林 
使用 collectd 和 Graphite 监控服务器
http://www.vpsee.com/2012/05/use-collectd-with-graphite-to-monitor-servers/

Graphite 只是一个数据绘图工具,安装 Graphite 完以后啥也不能干,需要其他工具喂它数据,所以具体的数据采集工作是由第三方工具完成,Graphite 的设计体现了 Unix 的思想:只做一件事,把事情做好。Graphite 支持的第三方工具很多,Bucky, collectd, Collectl, Charcoal, Diamond, Ganglia, Host sFlow, statsd, Tasseo 等等。这里 VPSee 选用 collectd 来收集机器的各个性能参数,collectd 安装在需要被监控的机器上。

安装 collectd,创建一个 collectd.d 目录便于存放稍后会遇到的插件配置文件 graphite.conf,并在 collectd.conf 包含这个目录 :

$ sudo apt-get install collectd
$ sudo mkdir /etc/collectd/collectd.d
$ sudo vi /etc/collectd/collectd.conf ...
Include "/etc/collectd/collectd.d"

安装 git 并下载 collectd-carbon 插件:

$ sudo apt-get install git
$ sudo git clone https://github.com/indygreg/collectd-carbon.git
/opt/collectd-plugins

修改插件的配置文件的 ModulePath 部分,指向 carbon_writer.py 文件所在目录,并且修改 LineReceiverHost 部分:

$ sudo vi /etc/collectd/collectd.d/graphite.conf <LoadPlugin "python"> Globals true </LoadPlugin> <Plugin "python"> # carbon_writer.py is at path /opt/collectd-plugins/carbon_writer.py ModulePath "/opt/collectd-plugins/" Import "carbon_writer" <Module "carbon_writer"> LineReceiverHost "monitor.vpsee.com" LineReceiverPort 2003 DifferentiateCountersOverTime true LowercaseMetricNames true TypesDB "/usr/share/collectd/types.db" </Module> </Plugin>

修改好配置文件后重启服务:

$ sudo /etc/init.d/collectd restart

大功告成,等着客户端的 collectd 收集数据发送给监控服务器的 carbon(监听端口为 2003)吧,然后递交给 graphite 绘制图形。


469°|4698 人阅读|0 条评论
登录 后发表评论