Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1235989
  • 博文数量: 135
  • 博客积分: 10576
  • 博客等级: 上将
  • 技术积分: 1670
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-11 20:49
个人简介

不疯魔,不成活! --疯魔老杨(Crazy.LaoYang) http://www.inotes.cn/

文章分类

全部博文(135)

文章存档

2014年(4)

2012年(13)

2011年(5)

2010年(30)

2009年(56)

2008年(27)

分类: LINUX

2009-12-15 06:53:45

[原创]个人笔记:Cacti 0.8.7e插件成功安装之:syslogs
源自:杨志刚博客 (http://yangzhigang.cublog.cn/)
 
syslog插件的下载及安装
//下载Cacti的plugin:syslog
[root@centos53 ~]# cd /usr/local/src
[root@centos53 src]# wget
[root@centos53 src]# tar zxvf syslog-0.5.2.tar.gz
[root@centos53 src]# mv syslog /var/www/cacti/plugins/
[root@centos53 src]# vi /var/www/cacti/plugins/syslog/config.php
.....
$syslogdb_type     = 'mysql';
$syslogdb_default  = 'syslog';
$syslogdb_hostname = 'localhost';
$syslogdb_username = 'cacti;
$syslogdb_password = 'cactipw';
.....
 
[root@centos53 src]# vi /var/www/cacti/include/global.php
$plugins = array(); 
 $plugins[] = 'settings'; 
 $plugins[] = 'syslog';
 
此时可以在[console]-[configuration]-[plguin management]中见到:syslog status:-Running,在[User Management]中,为admin用户分配View syslog和config syslog alerts/reports的权限。
 
//建立syslog数据库以及用syslog.sql建表等
[root@centos53 src]# mysql -uroot -prootpw
mysql> create database syslog;
mysql> exit;
[root@centos53 src]# mysql -uroot -prootpw syslog
[root@centos53 src]# mysql -uroot -prootpw
mysql> grant all on syslog.* to identified by 'cactipw';
mysql> flush privileges;
mysql> exit;
 
以上的配置是为cacti搭好了syslog的“架子/皮/家”,下面要用syslog-ng来接收日志,将结合shell将日志写到syslog数据库的syslog_incoming和syslog表中。
 
syslog-ng的下载、安装、配置
[root@centos53 src]# cd /usr/local/src
[root@centos53 src]# wget
 
[root@centos53 src]# 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...                ########################################### [100%]
Shutting down kernel logger: [  OK  ]
Shutting down system logger: [  OK  ]
   1:syslog-ng              ########################################### [100%]
Starting syslog-ng: OK
 
[root@centos53 etc]# cd /opt/syslog-ng/etc/
[root@centos53 etc]# cp syslog-ng.conf syslog-ng.conf.bak
[root@centos53 etc]# 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的配置
[root@centos53 /]# 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
 
[root@centos53 /]# chmod 755 /sbin/syslogtomysql
[root@centos53 /]# echo "/sbin/syslogtomysql &" >> /etc/rc.d/rc.local
[root@centos53 /]# /sbin/syslogtomysql &
[root@centos53 /]# service syslog-ng restart
[root@centos53 /]# 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
 
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的[console]-[configureation]-[settings]-[misc]中,可以对Syslog Events进行相应设置。
 
4)在syslog中,如果主机名被显示为bogon,那么请改你的DNS服务器的地址(不要用219.141.136.10),建议通过/etc/hosts文件写明主机名与IP。
 
5)对于日志客户机的配置,可以搜索一下,如有时间我也可以将客户机的配置补上来。(目前我所监控的客户机有:Cisco交换机、H3C交换机、中兴交换机、中兴路由器、F5、Bluecoat、NetApp_FAS、NetApp_cache、windows、linux)
 
 
 
阅读(11108) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~