日志分析-1.rsyslog 基础配置(服务器/客户端)
centos6起/etc/syslog.conf不再有!而是/etc/rsyslog.conf代替!
rsyslog是syslog的多线程增强版,现在Fedora、Ubuntu,、rhel6、centos6默认的日志系统都是rsyslog了。
rsyslog主要用来收集系统产生的各种日志,日志默认放在/var/log/目录下。
日志收集工具,不仅仅可以收集本机的日志,还可以收集其他机器的日志

在客户端/服务器架构的配置下,rsyslog同时扮演了两种角色:
1.作为服务器,rsyslog可以收集来自其他设施的日志信息;
2.作为客户端,rsyslog可以将其内部的日志信息传输到远程的syslog服务器。

rsyslog是日志收集工具,现在很多Linux都自带rsyslog,用其替换掉syslog。
【实例】
server:192.168.10.222
client:192.168.4.171
client:192.168.4.178

一.服务器端192.168.10.222上配置
vim /etc/rsyslog.conf
1.开启UDP,TCP
-------------------------------------------------------------
# provides UDP syslog reception
$ModLoad imudp   #开启,去掉#
$UDPServerRun 514  #开启,去掉#

# provides TCP syslog reception
$ModLoad imtcp    #开启,去掉#
$InputTCPServerRun 514 #开启,去掉#

将上面的4行注释取消
有2中传送方式,UDP和TCP 【UDP,TCP后续说明】
UDP是一种比TCP速度快,但是并不具有TCP一样的数据流的可靠性。所以如果你需要使用可靠的传送机制就去掉tcp部分的数值

需要注意的是,TCP和UDP可以被同时生效来监听TCP/UDP 连接。
如果监控的是私有ip地址,开启UDP足以


如果开启TCP就还需要加一个配置
$InputTCPMaxSessions 500  #tcp接收连接数为500个

2.其他部分默认

3.检查配置文件是否正确
rsyslogd -N1
检查配置是否正确
如果有错误会报error

4.重新启动rsyslog日志
/etc/init.d/rsyslog restart  

5.(如果有防火墙就开启udp的514端口,161是给snmp用的)
防护墙开启端口,日志收集服服务器必须开启
-A INPUT -s XXXXX/24 -i bond1 -p udp -m udp --dport 514 -j ACCEPT
-A INPUT -s XXXXX/24 -i bond1 -p udp -m udp --dport 161 -j ACCEPT


二.2个客户端的配置
1.修改配置 vim /etc/rsyslog.conf
#
# First some standard log files.  Log by facility.
#
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none,cron.!*  -/var/log/syslog
*.*;auth,authpriv.none,cron.!*  @192.168.10.222    #添加这一条,ip为服务器的ip地址  服务器端ip地址 添加这一条,ip为服务器的ip地址【注意@ip直接没有空格】
cron.*                          /var/log/cron.log
daemon.*                        -/var/log/daemon.log
kern.*                          -/var/log/kern.log
lpr.*                           -/var/log/lpr.log
mail.*                          -/var/log/mail.log
user.*                          -/var/log/user.log

2.其他部分默认

3.检查配置文件是否正确
rsyslogd -N1
检查配置是否正确
如果有错误会报error

4.重新启动rsyslog日志
/etc/init.d/rsyslog restart  

4.发送一条测试日志
使用netcat发送一条测试日志,使用rsyslog来验证能够接收UDP信息: 【nc 命令后续说明】
echo ":hello" | nc -u -w 1 服务器ip地址 514   


在服务器端
tail -f /var/log/message
在客户端上分别运行
root@Debian-171:~# echo ":test-hello" | nc -u -w 1 192.168.10.222 514
root@demohost:~# echo ":Debian-hello" | nc -u -w 1 192.168.10.222 514

可以看到
May 19 12:00:09 192.168.4.178 : Debian-hello
May 19 12:01:01 192.168.4.171 : test-hello


以下几个部分在后续内容介绍
rsyslog的轮训,过滤,以及高级使用,以及当下比较流行ELK,以及记录交换机等网络设备的日志


以上是个人点点总结和理解,水平不高,文笔水平很烂,请各位大大见谅。
可以一起交流学习。

  我的QQ:610851588
  可以加入我建的群(现在群人很少,希望慢慢多起来)
  Linux  群:183932302
  Python ,shell 交流群:469094734