rsyslog收集网络设备日志

安装rsyslog

rpm -qa rsyslog                  #CentOS7默认会安装rsyslog
yum install rsyslog-mysql -y     #rsyslog使用此模块将数据传入MySQL数据库,必须安装

导入rsyslog-mysql 数据库文件

导入数据库

# cd /usr/share/doc/rsyslog-7.4.7/
# mysql -uroot -p
# Enter password:

设置用户

# mysql -uroot –p
mysql> grant all on Syslog.* to rsyslog@localhost identified by '123456';
mysql> flush privileges;
mysql> exit

导入数据库操作创建了Syslog 库并在该库中创建了两张空表SystemEvents 和SystemEventsProperties。

设置文件

# vi /etc/rsyslog.conf                    #按如下进行更改   

#### MODULES ####    

$Modload ommysql    
$template MySQLInsert,"insert into SystemEvents (Message, Facility, FromHost,Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, 
SysLogTag) values ('%msg%', %syslogfacility%, '%fromhost-ip%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenerated:::d
ate-mysql%', %iut%, '%syslogtag%')",SQL
*.* :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert     
##注意我使用了%fromhost-ip%,而不是%HOSTNAME%
#localhost 表示本地主机,Syslog 为数据库名,rsyslog 为数据库的用户,MyNewPass4!为该用户密码。        
$ModLoad immark            # immark是模块名,支持日志标记    
$ModLoad imudp             # imupd是模块名,支持udp协议    
$UDPServerRun 514          #允许514端口接收使用UDP和TCP协议转发过来的日志

网络设备要配置

服务端修改
$ModLoad ommysql

local4.*  :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert 

注意我是local4来接受远程的syslog

在交换机上的配置:

华为的:

info-center loghost 1.1.1.1 facility local4 //local4要和rsyslog.conf 里配置的一致,1.1.1.1为你的syslog服务器地址记得要改啊
 info-center loghost source Vlan-interface 11//你的网管VLAN接口,要改的
info-center source SHELL channel loghost log level notifications//我只想要操作日志,其他的不关心,如果你想要更多,请更改

思科的:

logging   1.1.1.1(配置 syslog服务器地址,可以定义多个) 
service timestamps debug datetime localtime show-timezone msec
service timestamps log datetime localtime show-timezone msec   (syslog 信息包含时间戳)
logging facility local4   (定义 facility 级别,缺省为local7,可以设置从 local0 到 local7)
logging trap warning   (定义severity 级别缺省为 infor 级别)

到这里,一切基本ok了,

到你的mysql服务器是看看:

select * from SystemEvents

应该已经记录有日志了

配置服务器客户端

7.1 检查客户端有没有安装rsyslog
# rpm -qa rsyslog
7.2 配置rsyslog客户端发送本地日志到服务端
# vi /etc/rsyslog.conf     
*.* @192.168.253.160        #在文件结尾处增加此内容
7.3 重启rsyslog服务
# systemctl restart rsyslog.service
7.4 编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中
# vi /etc/bashrc     
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'                #在结尾处加上此内容
设置使其生效
# source /etc/bashrc

配置 显示host ,ip

$template MySQLInsert,"insert into SystemEvents (Message, Facility, FromHost,Priority, DeviceReportedTime, ReceivedAt, InfoUnitID, 
SysLogTag,processid) values ('%msg%', %syslogfacility%, '%HOSTNAME%', %syslogpriority%, '%timereported:::date-mysql%', '%timegenera
ted:::date-mysql%', %iut%, '%syslogtag%', '%fromhost-ip%')",SQL
*.* :ommysql:localhost,Syslog,rsyslog,123456;MySQLInsert

用processid 显示ip
然后再Admin center->FIELD—>processid->displayname
修改为IP

安装LogAnalyzer

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.6.tar.gz

tar zxf loganalyzer-3.6.5.tar.gz

cd loganalyzer-3.6.5

mkdir -p /var/www/html/loganalyzer

cp -a src/* /var/www/html/loganalyzer/
cp -a contrib/* /var/www/html/loganalyzer/

在浏览器安装向导中安装LogAnalyzer

打开浏览器访问:http://192.168.1.107/loganalyzer/

提示没有配置文件,点击 here 利用向导生成。

第一步,测试系统环境

点击 “Next”,进入第二步。

提示错误:缺少config.php 文件,并且权限要设置为666,可以使用contrib目录下的configure.sh 脚本生成。

查看configure.sh 文件内容

需要在/var/www/html/loganalyzer/ 下创建config.php 文件,并设置其权限为666。

# touch /var/www/html/loganalyzer/config.php

# chmod 666 /var/www/html/loganalyzer/config.php

做完上面的操作之后,执行 ReCheck 操作,config.php 文件可写,点击 Next 进入下一步。

第三步,基础配置

在User Database Options 中,填入上面设置的参数,然后点击 Next.

第四步,创建表

点击 Next 开始创建表。

第五步,检查SQL结果

第六步,创建管理用户

第七步,创建第一个系统日志source.

注意SystemEvents大小写

第八步,完成

测试

LogAnalyzer 首页

点击任何一条记录,查看详情。

查看Statistics

登录测试

在Admin Center 里可以进行一些系统设置。

日志级别

在配置前,我们先来了解下日志的level: local0~local7 16~23保留为本地使用
emerg 0 系统不可用
alert 1 必须马上采取行动的事件
crit 2 关键的事件
err 3 错误事件
warning 4 警告事件
notice 5 普通但重要的事件
info 6 有用的信息
debug 7 调试信息

你可能感兴趣的:(centos)