rpm -qa rsyslog #CentOS7默认会安装rsyslog
yum install rsyslog-mysql -y #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
$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
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/
提示没有配置文件,点击 here 利用向导生成。
提示错误:缺少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 开始创建表。
注意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 调试信息