Linux下cacti+syslog-ng+snare

系统环境:CentOS5.4

文档版本:V1.0.0

整理者:Teasure

更新时间:2011-02-13

说明:运维专用

目 录

1. 服务端配置…………………………………………………………………………………………………………………………3

1.1.1. 下载所需rpm包... 3

1.1.2. 服务安装... 3

1.1.3. 服务器端配置... 4

1.1.4. 安装syslog插件... 5

1.1.5. 在crontab中添加:... 5

2. Linux客户端配置:……………………………………………………………………………………………………………6

2.1.1. linux服务器客户端安装及配置... 6

2.1.2. 注意事项: 6

3. windows服务器客户端配置………………………………………………………………………………………………6

3.1.1. 安装syslog-ng代理软件... 6

3.1.2. 配置snare. 7

3.1.3. 配置Objectives Configuration. 7

4. Troubleshooting…………………………………………………………………………………………………………………..8

4.1.1. 点击Syslog插件报错... 8

5. Other thing………………………………………………………………………………………………………………………….9

5.1.1. 使用默认的syslog. 9

5.1.2. 完成配置后重启syslog服务... 10

6. 防火墙配置……………………………………………………………………………………………………………………….10

6.1.1. 在日志服务器上放行514端口... 10

1. 服务端配置
1.1.1. 下载所需rpm包

从syslog-ng的官方网站上下载编译好的rpm包,针对rhel或CentOS的.

需要的rpm包,可以到这里进行下载使用:

syslog-ng.zip

文件:

Syslog-NG.rar

大小:

859KB

下载:

1.1.2. 服务安装

安装(服务器跟客户端安装都一样,这里指的是linux客户端,windows客户端需要另外的软件)

[root@Teasure syslog]# ll
-rw-r--r-- 1 root root 72601 2009-01-04 libdbi8-0.8.2bb2-3.rhel5.i386.rpm

-rw-r--r-- 1 root root 650564 2009-01-04 libdbi8-dev-0.8.2bb2-3.rhel5.i386.rpm

-rw-r--r-- 1 root root 9076 2009-01-04 libevtlog0-0.2.8-1.i386.rpm

-rw-r--r-- 1 root root 163024 2009-01-04 syslog-ng-2.1.3-1.i386.rpm

安装libevt

[root@Teasure syslog]# rpm -ivh libevtlog0-0.2.8-1.i386.rpm 
Preparing... ################################# [100%]
1:libevtlog0 ################################## [100%]

安装syslog-ng

[root@Teasure syslog]# rpm -vih libdbi8-0.8.2bb2-3.rhel5.i386.rpm libdbi8-dev-0.8.2bb2-3.rhel5.i386.rpm syslog-ng-2.1.3-1.i386.rpm 
warning: libdbi8-0.8.2bb2-3.rhel5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 2aa28252
Preparing... ############################### [100%]
1:libdbi8 ############################### [ 33%]
2:libdbi8-dev ############################### [ 67%]
3:syslog-ng ################################# [100%]

Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting syslog-ng: [ OK ]

1.1.3. 服务器端配置

[root@Teasure syslog]# cd /etc/syslog-ng

[root@Teasure syslog-ng]# cp syslog-ng.conf syslog-ng.conf.bak

[root@Teasure syslog-ng]# vim syslog-ng.conf

在最后末行添加如下:

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); };

log { source(s_local); destination(d_mysql); };

完成之后,执行命令:

检查服务状态

1.1.4. 安装syslog插件

安装syslog插件,在syslog插件目录下,编辑一个新的sh文件/var/www/html/plugins/syslog/syslog2mysql.sh,并且赋予可执行权限(同时该目录下的syslog_process.php也必须有可执行权限):

[root@Teasure syslog]# chmod +x syslog2mysql.sh syslog_process.php

syslog2mysql.sh脚本内容如下:

#!/bin/bash

if [ ! -e /tmp/mysql.pipe ]

then

mkfifo /tmp/mysql.pipe

fi

while [ -e /tmp/mysql.pipe ]

do mysql -u root syslog < /tmp/mysql.pipe >/dev/null

done

运行syslog2mysql.sh,如果没有任何显示,后台有该进程,则基本上成功了。

[root@Teasure syslog]#/var/www/html/plugins/syslog/syslog2mysql.sh &

1.1.5. 在crontab中添加:

[root@Teasure syslog]# crontab -e 添加如下两行内容:

@reboot /var/www/html/plugins/syslog/syslog2mysql.sh

*/1 * * * * /usr/bin/php /var/www/html/plugins/syslog/syslog_process.php

使开机执行syslog2mysql.sh,syslog_process.php每分钟执行一次。

注意事项:全部完成后记得重启各种服务。

2. Linux客户端配置:
2.1.1. linux服务器客户端安装及配置

安装跟服务器端一样的,这里就不多说了.

配置

在/etc/syslog-ng/syslog.conf里只需要加三行就可以了 把其它的全部都注释掉

内容如下:

source s_local { pipe ("/proc/kmsg" log_prefix("kernel: ")); unix-stream ("/dev/log"); internal(); };

destination d_udp { udp("192.168.1.198" port(514)); };
log { source(s_local); destination(d_udp); };

然后再重启syslog-ng服务就可以了.

2.1.2. 注意事项:

上面的配置会导致本地没有任何日志信息了,因为全部都发送到了日志服务器上面了.如果想在本地保留一份日志信息,那么在syslog-ng里面再加入三行,内容如下:

source s_local { pipe ("/proc/kmsg" log_prefix("kernel: ")); unix-stream ("/dev/log"); internal(); };
destination d_syslognglog { file("/var/log/syslog-ng.log"); };
log { source(s_local); destination(d_syslognglog); };

这样本地也就有一份日志信息了,保存在/var/log/syslog-ng.log里面.

3. windows服务器客户端配置
3.1.1. 安装syslog-ng代理软件

安装syslog-ng代理软件:SnareSetup-3.1.3-MultiArch.exe,为什么用这个呢,这个配置简单易用.

安装很简单,双击exe文件,下一步,下一步.其中有一步是问需要不需要密码,是用默认的snare做为用户跟密码还是用本地系统的用户,还是创建一个帐号做为认证,这个就取决于个人了.点击安装完成.

3.1.2. 配置snare

配置snare,点击开始--程序--选择InterSect Alliance--snare for windows 后是一个web形式的,地址为:http://localhost:6161/

默认是不需要密码的,可以配置为需要用户名跟密码来认证.首先我们配置日志服务器这一部分,也是最主要的部分,如果这一部分配置不正确的话,那日志服务器上也就不会有这台机器的日志信息了.点击左边的:Network Configuration 如下所示

 snare_01.jpg

Destination Snare Server address ---这个就是日志服务器的IP地址了.一般不用域名,怕解释不到.

Destination Port --- 这个就是日志服务器的端口了 一般默认是514

Enable Syslog Header一般把勾打上.下面两个就根据你的需要来设置了.

设置完成后再点下面的 Change Configureation 应用配置

3.1.3. 配置Objectives Configuration

还有一个重要的配置,那就是决定把什么样的日志发送到日志服务器呢?再点左边的:Objectives Configuration,如下所示:

 snare_02.jpg

这个修改就要看个人的需求是什么样的了,我这里就不多说了.全部完成后记得点左边的:Apply the Latest Audit Configuration 来应用所有的配置!当然Snare还有其它的功能,比如远程操控这个代理软件,自己多摸索吧

附加上win下的软件包如下: SnareSetup-3.1.3-MultiArch.zip (634.2 KB)

4. Troubleshooting
4.1.1. 点击Syslog插件报错

Warning: include(./include/html/inc_timespan_settings.php)

报126行有错:

include($syslog_config["graphtime"] ?"./include/html/inc_timespan_settings.php" : "plugins/syslog/html/syslog_timespan_settings.php");

修改126行为:

include($syslog_config["graphtime"] ? "././lib/timespan_settings.php" : "plugins/syslog/html/syslog_timespan_settings.php");

但是,针对cactiV9.1.iso版本的安装syslog-ng的时候,不会出现这个问题。其配置文件内容如下:

include($syslog_config["graphtime"] ? "./include/html/inc_timespan_settings.php" : "plugins/syslog/html/syslog_timespan_sett ings.php");

5. Other thing
5.1.1. 使用默认的syslog

使用默认的syslog做为syslog-ng的客户端,这样可以避免在太多客户端的情况下需要安装syslog-ng软件,而且配置更容易.

[root@Teasure ~]# vim /etc/syslog.conf

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
#*.info;mail.none;authpriv.none;cron.none /var/log/messages
*.info;mail.none;authpriv.none;cron.none @192.168.1.198

# The authpriv file has restricted access.
authpriv.* /var/log/secure

# Log all the mail messages in one place.
mail.* -/var/log/maillog

# Log cron stuff
cron.* /var/log/cron
cron.* @192.168.1.198

# Everybody gets emergency messages
*.emerg *

# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler

# Save boot messages also to boot.log
local7.* /var/log/boot.log
local7.* @192.168.1.198

其中有@标识的就是把日志发送到日志服务器的,例如:

cron.* @192.168.1.198

这一行表示把cron的日志发送到日志服务器192.168.1.198上面去.

原来的配置我并没有改动,因为这样就可以保持原来的日志一样写入到本地.方便查看.

5.1.2. 完成配置后重启syslog服务

[root@Teasure syslog-ng]# service syslog restart
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]

6. 防火墙配置
6.1.1. 在日志服务器上放行514端口

在日志服务器上要让iptables允许514端口通过,不然服务器无法接收到客户端的日志信息。

加两条规则,如下:

[root@Teasure ~]# iptables –A INPUT -m state --state NEW -m tcp -p tcp --dport 514 -j ACCEPT

[root@Teasure ~]# iptables –A INPUT -p udp -m state -m udp --dport 514 --state NEW -j ACCEPT

本文转自vcdog 51CTO博客,原文链接:http://blog.51cto.com/255361/836931,如需转载请自行联系原作者

Linux下cacti+syslog-ng+snare相关推荐

  1. Linux下cacti的安装RedHat9,RedHat AS4

    Linux下cacti的安装RedHat9,RedHat AS4 2007-12-22 21:47:28   Cacti安装手册         第一步. Cacti的架构  第三步. Cacti简介 ...

  2. linux下使用syslog日志调试程序快速的调试代码信息的过程

    linux下使用syslog日志调试程序快速的调试代码信息的过程 环境背景:ubuntu 20.0.4 开发环境:QtCreator 功能:查看函数是否调用成功:函数调用执行的过程等等: 1.使用头文 ...

  3. (马世龙)Linux下CACTI完全搭建技术文档二

    续(马世龙)Linux下CACTI完全搭建技术文档一 6.完成cacti的安装 1. 首先检查一下rra/下面,有没有数据 2. snmpwalk -v 2c -c public ServerIP i ...

  4. linux var log管理,Linux下的syslog和/var/log

    Linux下的syslog和/var/log [日期:2012-07-05] 来源:Linux社区 作者:myownstars [字体:大 中 小] Syslog is the general sta ...

  5. Linux7添加syslog,请教linux下安装syslog的方法.是安装,不是配置

    .安装JDK 从sun网站上直接下载JDK:http://java.sun.com/j2se/1.4.2/download.html 提供了两个下载: 1.RPM in self-extracting ...

  6. linux cacti安装教程,Linux下Cacti安装与配置

    这个是Nagios和Cacti安装与配置的第三个步骤,就是给cacti打补丁和安装weathermap插件,建立在之前的实验平台上,此文章主要介绍安装. 第一部分: 装cati-plugin的解决方案 ...

  7. linux cacti安装教程,Linux下cacti的安装与配置

    1.安装net-snmp yum-yinstall net-snmp net-snmp-libs net-snmp-utils 2.配置net-snmp vim /etc/snmpd.conf vie ...

  8. 建立Windows下面的syslog日志服务器

    我们需要测试一种集中日志系统,要在Windows上建立一个类Linux下的集中日志系统. 经过比较Winsyslog和Kiwisyslog等工具,最终选定Kiwisyslog(http://www.k ...

  9. linux cacti 搭建,Linux下搭建Cacti详述

    Cacti是一个开源的监控软件,随着网络架构的日益复杂化.作为开源的监控软件可以逐渐的省掉开发的成本,下面简单的介绍下Cacti在Linux服务器上面的搭建的过程. 搭建Cacti所需要的LAMP环境 ...

  10. syslog介绍(二):Linux下syslog基本配置

    syslog介绍(二):Linux下syslog基本配置 syslog介绍(二):Linux下syslog基本配置 - AreYouOK? - ITeye技术网站 syslog介绍(二):Linux下 ...

最新文章

  1. Delegate,Action,Func,匿名方法,匿名委托,事件
  2. 001-测试用例简介
  3. UICollectionView(一)基本概念
  4. 状态模式在领域驱动设计中的使用
  5. Exchange 2007 容易理解错误的几个地方
  6. java.util接口_函数接口– Java 8中java.util.function包中的函数接口
  7. Junk-Mail Filter_并查集(hdu 2473)
  8. 关于Scalability的一些思考与疑问
  9. centos下编译lnmp环境
  10. java的decimalFormat_Java中 DecimalFormat 用法详解
  11. Centos 7/linux 安装gcc 教程
  12. 采用计算机对酒店客房进行管理,酒店客房部计算机管理.doc
  13. windows-API劫持(API-HOOK)
  14. 帝国网站mysql 数据库开发_帝国cms操作数据库函数范例(二次开发)
  15. Java开发入门学习线路图+配套Java基础视频教程分享
  16. 使用EasyBCD修改设置引导启动项
  17. MATALB APP DESIGNER 回调函数创建及StartupFcn函数
  18. Mac关闭Iphone更新系统iTunes强制自动备份文件
  19. Java中缓存之内存缓存
  20. iOS调用系统通讯录获取姓名电话号码

热门文章

  1. SEO市场是在扩大还是缩小 Seoer终于会变成什么?
  2. SCWS分词扩展在UNIX/LINUX下的安装方法
  3. 学习pytorch: API 学习
  4. 贝叶斯定理决策规则及Bayes思想总结
  5. Polyverse Infected Mushroom Bundle Mac(声音处理器插件包)
  6. NoteBurner Spotify教程:在Mac上将 Spotify 音乐转换为 MP3 格式
  7. iOS底层探索之多线程(三)—初识GCD
  8. 刚刚接触视频剪辑,怎么快速剪视频?
  9. 消费者性别及其所偏好牛奶品牌频数分布
  10. MySQL的外键约束:Cascade/Restrict/No action/SET NULL :级联操作