注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

ubuntu下部署collectd的建议(方案收集)  

2014-06-16 10:45:30|  分类: 系统监控 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

-1. collectd数据展示工具graphite
ubuntu下部署collectd的建议(方案收集) - itoedr - itoedr的it学苑
理解graphite-web图形承现工具的层次

-1.Collectd的功能插件
      collectd算得上一个设备信息的收集平台,它就做这些事情而矣。读取计算机资源则需要collectd-plugin的帮助,而输出数据格式也可以使用不同的collectd插件来工作。
       更多详细的插件资料可以查看官方网址:https://collectd.org/wiki/index.php/Table_of_Plugins

Plugins currently available:

Name Type Manpage Available since
sigrok plugin Read collectd.conf(5) 5.4
StatsD plugin Read collectd.conf(5) 5.4
LVM plugin Read
5.4
MIC plugin Read collectd.conf(5) 5.4
cgroups plugin Read collectd.conf(5) 5.4
Aquaero plugin Read collectd.conf(5) 5.4
Write Riemann plugin Write collectd.conf(5) 5.3
Tail-CSV plugin Read collectd.conf(5) 5.3
Ethstat plugin Read
5.1
Write MongoDB plugin Write collectd.conf(5) 5.1
MD plugin Read collectd.conf(5) 5.1
numa plugin Read
5.1
Write Graphite plugin Write collectd.conf(5) 5.1
LPAR plugin Read collectd.conf(5) 5.0
Write Redis plugin Write
5.0
Varnish plugin Read collectd.conf(5) 5.0
Redis plugin Read collectd.conf(5) 5.0
AMQP plugin Read, Write collectd.conf(5) 5.0
NetApp plugin Read collectd.conf(5) 4.9
Carbon plugin Write
4.9
ContextSwitch plugin Read
4.9
OpenVZ plugin Read
4.9
RouterOS plugin Read collectd.conf(5) 4.9
Python plugin Binding collectd-python(5) 4.9
Monitorus plugin Read
4.9
TokyoTyrant plugin Read collectd.conf(5) 4.8
Write HTTP plugin Write collectd.conf(5) 4.8
ZFS ARC plugin Read
4.8
olsrd plugin Read collectd.conf(5) 4.8
cURL-JSON plugin Read collectd.conf(5) 4.8
MadWifi plugin Read collectd.conf(5) 4.8
GenericJMX plugin Read collectd-java(5) 4.8
memcachec plugin Read collectd.conf(5) 4.7
FSCache plugin Read
4.7
ConnTrack plugin Read
4.7
Protocols plugin Read collectd.conf(5) 4.7
TED plugin Read collectd.conf(5) 4.7
Uptime plugin Read
4.7
Table plugin Read collectd.conf(5) 4.7
Java plugin Binding collectd.conf(5), collectd-java(5) 4.7
gmond plugin Read collectd.conf(5) 4.7
BIND plugin Read collectd.conf(5) 4.6
Oracle plugin Read collectd.conf(5) 4.6
OpenVPN plugin Read collectd.conf(5) 4.6
RRDCacheD plugin Write collectd.conf(5) 4.6
cURL plugin Read collectd.conf(5) 4.6
DBI plugin Read collectd.conf(5) 4.6
PostgreSQL plugin Read collectd.conf(5) 4.5
OneWire plugin Read collectd.conf(5) 4.5
Notify Desktop plugin Notification collectd.conf(5) 4.5
Notify Email plugin Notification collectd.conf(5) 4.5
FileCount plugin Read collectd.conf(5) 4.5
thermal plugin Read collectd.conf(5) 4.5
TeamSpeak2 plugin Read collectd.conf(5) 4.4
vmem plugin Read collectd.conf(5) 4.4
PowerDNS plugin Read collectd.conf(5) 4.4
Tail plugin Read collectd.conf(5) 4.4
IPMI plugin Read collectd.conf(5) 4.4
Ascent plugin Read collectd.conf(5) 4.4
libvirt plugin Read collectd.conf(5) 4.3
UUID plugin Other collectd.conf(5) 4.3
IPVS plugin Read
4.2
memcached plugin Read collectd.conf(5) 4.2
nginx plugin Read collectd.conf(5) 4.2
TCPConns plugin Read collectd.conf(5) 4.2
Modbus plugin Read collectd.conf(5) 4.10
XMMS plugin Read
4.1
SNMP plugin Read collectd-snmp(5) 4.1
cURL-XML plugin Read collectd.conf(5) 4.10
Netlink plugin Read collectd.conf(5) 4.1
Pinba plugin Read collectd.conf(5) 4.10
Perl plugin Binding collectd-perl(5) 4.0
NUT plugin Read collectd.conf(5) 4.0
IPTables plugin Read collectd.conf(5) 4.0
IRQ plugin Read collectd.conf(5) 4.0
UnixSock plugin Read, Write collectd-unixsock(5) 4.0
Exec plugin Read collectd-exec(5) 4.0
CSV plugin Write collectd.conf(5) 4.0
Entropy plugin Read
4.0
Apple Sensors plugin Read
3.9
Apache plugin Read collectd.conf(5) 3.9
Wireless plugin Read
3.9
VServer plugin Read collectd.conf(5) 3.9
LogFile plugin Logging collectd.conf(5) 3.9
Battery plugin Read
3.7
MySQL plugin Read collectd.conf(5) 3.6
DF plugin Read collectd.conf(5) 3.6
Users plugin Read
3.5
CPUFreq plugin Read collectd.conf(5) 3.4
NFS plugin Read
3.3
Tape plugin Read
3.3
Serial plugin Read
3.3
Processes plugin Read collectd.conf(5) 3.2
E-Mail plugin Read collectd.conf(5) 3.11
DNS plugin Read collectd.conf(5) 3.11
Multimeter plugin Read
3.11
MBMon plugin Read collectd.conf(5) 3.11
HDDTemp plugin Read collectd.conf(5) 3.1
NTPd plugin Read collectd.conf(5) 3.10
APC UPS plugin Read collectd.conf(5) 3.10
Network plugin Read, Write collectd.conf(5) 3.0
Swap plugin Read
2.1
Disk plugin Read collectd.conf(5) 1.5
Sensors plugin Read collectd.conf(5) 1.4
CPU plugin Read
1.3
SysLog plugin Logging collectd.conf(5) 1.2
Ping plugin Read collectd.conf(5) 1.0
Memory plugin Read
1.0
RRDtool plugin Write collectd.conf(5) 1.0
Load plugin Read
1.0
Interface plugin Read collectd.conf(5) 1.0


0.Collectd布署的一些经验
首先是编译源:
1)sudo apt-get install build-essential #ubuntu下最小的编译支持环境
接着安装一些必要的包,在后期安装必要插件时可能还需要一些包.
更多参考:参见http://collectd.org/wiki/index.php/First_steps#Creating_graphs.

2)sudo apt-get install librrd2-dev libsensors-dev libsnmp-dev
     接下来是安装:
     sudo apt-get install collectd
    也可以只是安装core部分(自己二次开发)。
安装后重启服务:
sudo /etc/init.d/collectd restart


/var/lib/collectd/rrd 下可以找到监控生成的rrd文件。

       接下来,想让collectd有前端显示。
       collectd的前端列表如:
        http://collectd.org/wiki/index.php/List_of_front-ends

        用第一个来测试,过程如下。
sudo wget  http://pommi.nethuis.nl/storage/software/cgp/cgp-0.4.tgz,如果太慢.可以直接使用其实验室开源库上下载。
解压:sudo tar -zxvf cgp-0.4.tgz
cgp-0.4.tgz解压在了/usr/cgp,解压后得到cgp-0.4
mv  /usr/cgp/cgp-0.4 /var/www/cgp   (其中cgp为新建,/var/www为apache document root)

修改/var/www/cgp/conf/config.php中:
#collectd's datadir
$CONFIG['datadir'] = '/var/lib/collectd';
此处与已安装的collectd相关位置相同

接着,如果机器上没有配置安装PHP,一定要配置安装好,否则无法打开最终的页面。配置过程:

①升级软件包:
sudo apt-get update
sudo apt-get upgrade
②安装PHP:
sudo apt-get install php5
安装PHP的gd库:
sudo apt-get install php5-gd
安装apache的可加载PHP解析器:
sudo apt-get install libapache2-mod-php5
③重启apache
sudo /etc/init.d/apache2 restart


最后在浏览器输入:http://localhost/cgp
初步的界面样图
ubuntu下部署collectd的建议(方案收集) - itoedr - itoedr的it学苑
 
ubuntu下部署collectd的建议(方案收集) - itoedr - itoedr的it学苑
关于网络带宽的展示图
2.认识graphite
            graphite,监控工具里面的新秀。Graphite 是一个企业级开源监控工具,用于采集服务器实时信息并进行统计,可采集多 个服务器实时状态,如:用户请求消息,Memcached 命中率,RabbitMQ 消息服务器状态、操作系统负载、等等。Graphite 使用 Python 编写,采用 Django 框架,openstack也使用了这个框架,使用自己的简单文本协议通讯,服务平均每分钟可实现4800次更新操作,简单的文本协议和强大的绘图功能可以方便地扩展到任何需要监控的系统上。当然数据量减小了,也可以实现构建系统的灵敏性。

         Graphite 自己本身并不收集具体的数据,这些数据收集的具体工作通常由第三方工具或插件完成(如 Ganglia, collectd, statsd, Collectl 等等,也就是说,graphite可以和多种数据收集器一起工作)。 Graphite 是一个系统监控工具,一个专业级的监控工具。其专业之处在于,Graphite 专一对数据进行处理并进行数据绘图。Graphite 得到数据后绘图,它并不关心具体数据,只要是它认识的数据,它都可以给我们绘出图形,比如统计图。

           由此可以看出,Graphite要做三件事:1)读取现成数据;2)按需绘图;3)存储数据;

            在ubuntu下,可以以如下方式安装。  
            $ sudo apt-get install apache2 libapache2-mod-wsgi python-django  python-twisted python-cairo python-pip python-django-tagging

           也可以用 pip 安装 whisper (简单的存放和操作数据的库), carbon (监控数据的 Twisted 守护进程) 和 graphite-web (Django webapp):

$ sudo pip install whisper
$ sudo pip install carbon
$ sudo pip install graphite-web

不过ubuntu的软件库也为我们直接提供了安装源。
 ubuntu下部署collectd的建议(方案收集) - itoedr - itoedr的it学苑
不用pip工具也可以直接安装whisper数据库。

初始化配置,直接用 example 文件里的默认配置就可以:

$ cd /opt/graphite/conf/

$ sudo cp carbon.conf.example carbon.conf
$ sudo cp storage-schemas.conf.example storage-schemas.conf
$ sudo cp graphite.wsgi.example graphite.wsgi

修改 apache 配置,增加一个 vhost 或者偷懒下载一个配置文件覆盖 default,覆盖后需要重新 reload 配置:

$ wget http://launchpad.net/graphite/0.9/0.9.9/+download/graphite-web-0.9.9.tar.gz
$ tar -zxvf graphite-web-0.9.9.tar.gz
$ cd graphite-web-0.9.9
$ sudo cp examples/example-graphite-vhost.conf /etc/apache2/sites-available/default

sockets 最好不要放在 /etc/httpd/ 下面(不同 Linux 发行版本对不同目录的权限问题很混淆人),ubuntu 版本可以放在 /var/run/apache2 下,所以修改 default 文件里的 WSGISocketPrefix 部分:

$ sudo vi /etc/apache2/sites-available/default
...
WSGISocketPrefix /var/run/apache2/wsgi
...

$ sudo /etc/init.d/apache2 reload

初始化 graphite 需要的数据库,修改 storage 的权限,用拷贝的方式创建 local_settings.py 文件:

$ cd /opt/graphite/webapp/graphite/

$ sudo python manage.py syncdb
$ sudo chown -R www-data:www-data /opt/graphite/storage/
$ sudo cp local_settings.py.example local_settings.py
以上内容规则是需要满足django的规则的。graphite-web是以django框架为基础开发的。

 $ sudo /etc/init.d/apache2 restart

启动 carbon:

$ cd /opt/graphite/

$ sudo ./bin/carbon-cache.py start
浏览器访问 IP 地址后就可以看到 graphite web 界面,当然也是django风格的。
  评论这张
 
阅读(412)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017