将collectd作为input输入

1、yum安装collectd

sudo yum -y install collectd

2、手动源码安装collectd

安装collectd依赖的软件包

rpm -ivh "http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm"
yum -y install libcurl libcurl-devel rrdtool rrdtool-devel perl-rrdtool rrdtool-prel libgcrypt-devel gcc make gcc-c++ liboping liboping-devel perl-CPAN net-snmp net-snmp-devel

(1)、安装epel

epel是(Extra Packages for Enterprise Linux )【企业版 Linux 附加软件包(以下简称 EPEL)】是一个由特别兴趣小组创建、维护并管理的,针对 红帽企业版 Linux(RHEL)及其衍生发行版(比如 CentOS、 Scientific Linux)的一个高质量附加软件包项目。

(2)、安装相关的依赖库

  • libcurl: 是一个关于http,ftp等协议的开源库,通过该库你能够模拟出这些协议的过程;可在 http://curl.haxx.se/download.html 下载符合你要求的平台;

  • libcurl-devel:

  • rrdtool: RRDtool是指Round Robin Database 工具(环状数据库)。Round robin是一种处理定量数据、以及当前元素指针的技术。想象一个周边标有点的圆环--这些点就是时间存储的位置。从圆心画一条到圆周的某个点的箭头--这就是指针。就像我们在一个圆环上一样,没有起点和终点,你可以一直往下走下去。过来一段时间,所有可用的位置都会被用过,该循环过程会自动重用原来的位置。这样,数据集不会增大,并且不需要维护。RRDtool处理RRD数据库。它用向RRD数据库存储数据、从RRD数据库中提取数据。

  • rrdtool-devel:

  • perl-rrdtool:

  • rrdtool-prel:找不到该包

  • libgcrypt: libgcrypt使用一些不透明的变长数据结构表示相关的抽象数据类型(或者说对象),它们对于调用libgcrypt接口函数的调用者是不透明的,libgcrypt会填写相关的结构,高层的API调用会进入到内部结构中的函数指针指向的函数,所以也可以将libgcrypt理解为面向对象的设计使用结构化编程实现,这与NT内核的编程风格一致.

  • libgcrypt-devel:

  • gcc:

  • make:

  • gcc-c++:

  • liboping:

    是一个C库通过使用ICMP回应请求来衡量网络延迟。它可以并行的从多个主机发送和接收数据包,非常适合来做监控程序。 透明的支持IPv4和IPv6。

  • liboping-devel:

  • perl-CPAN:

  • net-snmp:

    Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为UCD-SNMP。它包括agent和多个管理工具的源代码,支持多种扩展方式。 简单网络管理协议(SNMP)

  • net-snmp-devel:

源码安装collectd

wget https://collectd.org/files/collectd-5.5.0.tar.gz
tar zxvf collectd-5.5.0.tar.gz
cd collectd-5.5.0
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib --mandir=/usr/share/man --enable-all-plugins
make && make install

注:如图所示 configure 是一个可执行的Perl脚本

安装启动脚本

cp contrib/redhat/init.d-collectd /etc/init.d/collectd
chmod +x /etc/init.d/collectd

启动collectd

service collectd start

3、手动安装2

3.1、安装perl

yum install perl*
yum install cpan

不安装perl的话,安装会遇到错误

3.2、安装collectd

wget https://collectd.org/files/collectd-5.5.2.tar.gz
tar zxvf collectd-5.5.2.tar.gz
cd collectd-5.5.2
./configure 
make 
make install

通过上边几条命令实现:下载collectd源码、进行解压缩、配置、make编译、安装

3.3、配置collectd服务脚本

cp contrib/redhat/init.d-collectd /etc/init.d/collectd
chmod +x /etc/init.d/collectd

需要对原有的启动脚本进行修改,修改后的脚本内容需要

[root@t0-security-tdas02 init.d]# cat collectd
#!/bin/bash
#
# collectd    Startup script for the Collectd statistics gathering daemon
# chkconfig: - 99 01
# description: Collectd is a statistics gathering daemon used to collect \
#   system information ie. cpu, memory, disk, network
# processname: collectd
# config: /etc/collectd.conf
# config: /etc/sysconfig/collectd
# pidfile: /var/run/collectd.pid

# Source function library.
. /etc/init.d/functions

RETVAL=0
ARGS=""
#prog="collectdmon" #原有值
prog="/opt/collectd/sbin/collectdmon"
service="collectd"
#CONFIG=/etc/collectd.conf #原有值
CONFIG=/opt/collectd/etc/collectd.conf
#COLLECTD=/usr/sbin/collectd  #原有值
COLLECTD=/opt/collectd/sbin/collectd
COLLECTDMONPIDDIR="/var/run"
COLLECTDMONPID="$COLLECTDMONPIDDIR/collectdmon.pid"

MAXWAIT=30

#后续部分省略

3.4、服务操作

启动服务:

/etc/init.d/collectd start

停止服务:

/etc/init.d/collectd stop

重启服务:

/etc/init.d/collectd restart

启动还有问题,需要排查原因 通过这两个命令进行排查

systemctl status collectd.service
journalctl -xe

3.5、设置开机自启动

查找自启动配置

chkconfig --list

为collect添加自启动

chkconfig collectd on

4、修改配置文件

通过修改配置文件,调整监控内容,配置文件目录:/opt/collectd/etc/collectd.conf

插件分为输出插件(input)、输出插件(output)、日志插件(log)。其中输入插件用来收集监控数据;输出插件用来将获得的数据进行保存或发送;日志插件用来记录collect程序本身的运行状况。

9、错误处理

9.1、配置文件错误

##启动服务提示错误
service collectd start 
##使用命令,查看错误详情
systemctl status collectd.service
collectd.service - SYSV: Collectd is a statistics gathering daemon used to collect system information ie. cpu, memory, disk, network
   Loaded: loaded (/etc/rc.d/init.d/collectd)
   Active: failed (Result: resources) since 四 2016-08-04 15:13:52 CST; 4min 20s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 27156 ExecStart=/etc/rc.d/init.d/collectd start (code=exited, status=0/SUCCESS)

8月 04 15:13:52 localhost.localdomain systemd[1]: Starting SYSV: Collectd is a statistics gathering daemon used to collect system information ie. cpu, memory, disk, network...
8月 04 15:13:52 localhost.localdomain collectd[27156]: Starting collectd: not starting due to configuration error
8月 04 15:13:52 localhost.localdomain collectd[27156]: [失败]
8月 04 15:13:52 localhost.localdomain systemd[1]: PID file /var/run/collectd.pid not readable (yet?) after start.
8月 04 15:13:52 localhost.localdomain systemd[1]: Failed to start SYSV: Collectd is a statistics gathering daemon used to collect system information ie. cpu, memory, disk, network.
8月 04 15:13:52 localhost.localdomain systemd[1]: Unit collectd.service entered failed state.
8月 04 15:13:52 localhost.localdomain systemd[1]: collectd.service failed.

解决办法:

/etc/init.d/collectd

配置文件中的文件路径进行检查,确保执行实际的collect相关文件

9.2、collectdmon程序找不到问题

错误提示:

解决办法: 在/etc/init.d/collectd文件中将collectdmon程序的路径补充完整

prog="/opt/collectd/sbin/collectdmon"

9.3、

 collectd.service - SYSV: Collectd is a statistics gathering daemon used to collect system information ie. cpu, memory, disk, network
   Loaded: loaded (/etc/rc.d/init.d/collectd)
   Active: failed (Result: timeout) since 四 2016-08-04 15:53:11 CST; 15min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2156 ExecStart=/etc/rc.d/init.d/collectd start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/collectd.service
           ├─2161 /opt/collectd/sbin/collectdmon -P /var/run/collectdmon.pid -c /opt/collectd/sbin/collectd -- -C /opt/collectd/etc/collectd.conf
           └─2163 /opt/collectd/sbin/collectd -C /opt/collectd/etc/collectd.conf -f

8月 04 15:48:11 localhost.localdomain systemd[1]: Starting SYSV: Collectd is a statistics gathering daemon used to collect system information ie. cpu, memory, disk, network...
8月 04 15:48:11 localhost.localdomain runuser[2158]: pam_unix(runuser:session): session opened for user root by (uid=0)
8月 04 15:48:11 localhost.localdomain collectd[2156]: Starting collectd: [  确定  ]
8月 04 15:48:11 localhost.localdomain systemd[1]: PID file /var/run/collectd.pid not readable (yet?) after start.
8月 04 15:48:11 localhost.localdomain collectd[2163]: Initialization complete, entering read-loop.
8月 04 15:48:11 localhost.localdomain collectd[2163]: rrdtool plugin: Adjusting "RandomTimeout" to 0.000 seconds.
8月 04 15:53:11 localhost.localdomain systemd[1]: collectd.service start operation timed out. Terminating.
8月 04 15:53:11 localhost.localdomain systemd[1]: Failed to start SYSV: Collectd is a statistics gathering daemon used to collect system information ie. cpu, memory, disk, network.
8月 04 15:53:11 localhost.localdomain systemd[1]: Unit collectd.service entered failed state.
8月 04 15:53:11 localhost.localdomain systemd[1]: collectd.service failed.

results matching ""

    No results matching ""