cheng029 发表于 2012-8-22 09:14:22

Cacti syslogs 插件配置安装

注意安装syslog插件前,先安装settings插件
syslog插件的下载及安装
//下载Cacti的plugin:syslog
# cd /usr/local/src
# wget http://cactiusers.org/downloads/syslog.tar.gz
# tar zxvf syslog-0.5.2.tar.gz
# mv syslog /var/www/cacti/plugins/
# vi /var/www/cacti/plugins/syslog/config.php
$use_cacti_db = false;
if (!$use_cacti_db) {
$syslogdb_type   = 'mysql';
$syslogdb_default= 'syslog';
$syslogdb_hostname = 'localhost';
$syslogdb_username = 'cacti;
$syslogdb_password = 'cactipw';
.....

# vi /var/www/cacti/include/global.php
$plugins = array();
$plugins[] = 'settings';
$plugins[] = 'syslog';

此时可以在--中见到:syslog status:-Running,在中,为admin用户分配View syslog和config syslog alerts/reports的权限。

//建立syslog数据库以及用syslog.sql建表等
# mysql -uroot -prootpw
mysql> create database syslog;
mysql> exit;
# mysql -uroot -prootpw syslog </var/www/cacti/plugins/syslog/syslog.sql
# mysql -uroot -prootpw
mysql> grant all on syslog.* to cacti@localhost identified by 'cactipw';
mysql> flush privileges;
mysql> exit;

以上的配置是为cacti搭好了syslog的“架子/皮/家”,下面要用syslog-ng来接收日志,将结合shell将日志写到syslog数据库的syslog_incoming和syslog表中。

syslog-ng的下载、安装、配置
# cd /usr/local/src
# wget http://www.balabit.com/downloads/files/syslog-ng/sources/3.0.4/setups/rhel-5-i386/syslog-ng-3.0.4-1.rhel5.i386.rpm

# rpm -ivh syslog-ng-3.0.4-1.rhel5.i386.rpm
warning: syslog-ng-3.0.4-1.rhel5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 2aa28252
Preparing...                ###########################################
Shutting down kernel logger:
Shutting down system logger:
   1:syslog-ng            ###########################################
Starting syslog-ng: OK

# cd /opt/syslog-ng/etc/
# cp syslog-ng.conf syslog-ng.conf.bak
# vi /opt/syslog-ng/etc/syslog-ng.conf
@version: 3.0
options {
};
source net {
      udp();
};

destination d_mysql {
      pipe("/tmp/mysql.pipe"
         template("INSERT INTO syslog_incoming (host, facility, priority, date, time, message) VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$YEAR-$MONTH-$DAY', '$HOUR:$MIN:$SEC', '$MSG' );\n")
         template-escape(yes)
      );
};
log { source(net); destination(d_mysql); };



SHELL的配置
# vi /sbin/syslogtomysql
#!/bin/bash
if [ ! -e /tmp/mysql.pipe ]; then
      mkfifo /tmp/mysql.pipe
fi
while [ -e /tmp/mysql.pipe ]
do
      mysql -u cacti --password=cactipw syslog < /tmp/mysql.pipe
done

# chmod 755 /sbin/syslogtomysql
# echo "/sbin/syslogtomysql &" >> /etc/rc.d/rc.local
# /sbin/syslogtomysql &
# service syslog-ng restart
# service mysqld restart


补充说明:
1)通过ps -ef | grep syslog,可以看到syslog工作的相关进程应有:
supervising syslog-ng
/opt/syslog-ng/sbin/syslog-ng --no-caps
/bin/bash /sbin/syslogtomysql
mysql -u cacti --password=x xxxxx syslog
syslogtomysql需要运行一段时间才会出现mysql进程(见下文原理)
2)在syslog数据库中,有以下5个表
+------------------+
| Tables_in_syslog |
+------------------+
| syslog         |
| syslog_alert   |
| syslog_incoming|
| syslog_remove    |
| syslog_reports   |
+------------------+
日志从客户机发过来后,先写入syslog_incoming表中,之后通过默认的300秒再进入syslog表,syslog表中记录通过cacti的syslog页面可以显示出来。所以要配置后一台客户机后,可以查syslog_incoming表,可5分钟后在页面中观察,还可以通过tcpdump,logger等命令进行协助分析遇到日志客户机与中心机的通信问题。

3)在cacti的---中,可以对Syslog Events进行相应设置。

4)在syslog中,如果主机名被显示为bogon,那么请改你的DNS服务器的地址(不要用219.141.136.10),建议通过/etc/hosts文件写明主机名与IP。

设置syslog客户端:
在客户端的/etc/syslog.conf 后面追加:
*.*                         @CactiServerIp

cheng029 发表于 2012-8-22 09:14:30

{:6_395:}

cheng029 发表于 2012-8-22 09:14:36

{:6_432:}

96818 发表于 2013-5-15 18:37:27

打破老婆终身制,实行小姨股份制。引入小姐竞争制,推广情人合同制。

tyxiayu 发表于 2013-5-16 10:36:38

花前月下,不如花钱“日”下!*^_^*

sofh7777 发表于 2013-5-17 08:30:28

如果恐龙是人,那人是什么?

座机 发表于 2013-5-18 00:08:21

有道理。。。
页: [1]
查看完整版本: Cacti syslogs 插件配置安装