collectd和logstash及snmp 的整合

collectd 的安装 

1.rpm -ivh "http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm"
2.解决依赖 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
wget http://collectd.org/files/collectd-5.4.1.tar.gz
tar zxvf collectd-5.4.1.tar.gz
cd collectd-5.4.1
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib --mandir=/usr/share/man --enable-all-plugins
make && make install
加入到启动项
cp contrib/redhat/init.d-collectd /etc/init.d/collectd
chmod +x /etc/init.d/collectd
启动:
service collectd start

一般配置:
Hostname "host.example.com"
LoadPlugin interface
LoadPlugin cpu
LoadPlugin memory
LoadPlugin network
LoadPlugin df
LoadPlugin disk
<Plugin interface>
    Interface "eth0"
    IgnoreSelected false
</Plugin>
<Plugin network>
    <Server "10.0.0.1" "25826"> ## logstash 的 IP 地址和 collectd 的数据接收端口号
    </Server>
</Plugin>
下面是使用snmp
在这里重点是两台服务器的防火墙已经关闭 service iptables stop 命令,而如果不关闭可以留个端口让防火墙不监听也行。

在这里重点讲解如何配置colletcd ,该配置文件在、/etc/colletcd.conf 中
我这里重点在配置snmp 那一块(在安装好colletcd 之后要安装好snmp 服务,安装该服务将在下面讲解,该服务相当于collectd支持的插件,然后再colletcd 的配置文件中(/etc/colletcd.conf)修改下面的配置项),而对于network 则是为了完成于logstash直接的通信,使用udp来发送数据用的,配置项如下进行修改。
<Plugin snmp>

</Plugin snap>

<Plugin network>
</Plugin network>

logstash的安装和配置:

2. 解压,进入目录在其中建立config 目录

3.新建一个coll.conf 文件 并配置,
input{
 udp {
    port => 25826
    buffer_size => 1452
    workers => 3          # Default is 2
    queue_size => 30000   # Default is 2000
    codec => collectd { }
    type => "collectd"
}
}

output {
 file{
  path=> ["/home/ltz/coll.log"]

     }
}

4 .启动命令,  bin/logstash agent --verbose --config config/coll.conf
snmp服务的安装,本人用的是centos ,

YUM 安装

1  yum install -y net-snmp net-snmp-utils


使用命令:$ rpm -qa|grep snmp

检查是否安装net-snmp-utils-5.3.2.2-5.el5,net-snmp-libs-5.3.2.2-5.el5,net-snmp-5.3.2.2-5.el5三个rpm包

使用命令:$ rpm -qa|grep libsen

检查是否安装libsensors3-2.10.6-55.el5  (这里好像没有安装上,但也能使用)

使用命令:$ rpm -qa|grep lm

检查是否安装lm_sensors-2.10.6-55.el5

2.启动
$ service snmpd start

3.验证snmp 服务

1)使用snmpwalk命令,查看本机localhost的主机名:

 snmpwalk  -v 2c -c public localhost sysName.0

显示:SNMPV2-MIB::sysName.0=STRING:orcale.domain.com


(2)使用snmptranslate命令,检查snmp工具是否可以使用:

snmptranslate -To |head

.1.3

.1.3.6

.1.3.6.1

.1.3.6.1.1

.......

如上,查出了部分oid,则表示snmp工具可以正常使用。

3)测试远端主机是否可以获取数据。

我这里登陆了另外一台Linux主机,该主机也按照上面的步骤安装好snmp服务及snmp工具。通过这台主机,获取远端主机的数据,这时需指定远端主机的IP地址:

snmpwalk -v 2c -c public 192.168.136.130 sysName.0

显示:SNMPv2-MIB::sysName.0=STRING:oracle.domain.com

这里要记住防火墙是否关闭或者端口是否可以监听。

最后就是snmp服务的配置。我的配置文件在/etc/snmp/snmp/conf. 具体如何配置可以查找资料
我的研究是可以通过配置 脚本来看远端服务器的信息以及等等













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值