Rsyslog日志管理系统:
适用于企业级别日志记录需求。
日志生成:应用程序和内核生成,每个应用程序都可以自行记录日志。内核也可以记录。
rsyslog特点:
多线程,多协议(udp/tcp/ssl/tls/relp);mysql,pgsql,oracle等多种关系数据中,强大的过滤器,可实现过滤系统信息中的任意部分。自定义输出格式。适用于企业级别日志记录需求。
核心概念:
Facility:设施,从功能或者程序上对日志进行分类,并由专门的工作负责记录相对应的信息:
auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,syslog,user,uucp,local0,local7
Priority:级别
debug,info,notice,warn, warning,err, error,crit,alert,emerg, panic
rsyslog的配置文件: /etc/rsyslog.conf
两个日志二进制文件保存的日志文件:
成功登陆系统的日志:/var/log/wtmp
查看命令:last
失败登陆的尝试:/var/log/btmp
查看命令: lastb
# lastlog命令:显示当前系统每个用户各自最近每次的登录信息。
模块:启用本机成为日志服务器
[root@local log]# vi /etc/rsyslog.conf
udp和tcp的514端口 ,建议启用udp的。
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
[root@local log]# service rsyslog restart 重启服务即可
[root@local log]# ss -unl 查看udp514端口
rsyslog支持吧日志存储在mysql中:
(1)有可用的mysql
# yum install mysql-server
#service mysqld start
(2)安装rsyslog-mysql程序包
# yum install rsyslog-mysql
[root@local log]# rpm -ql rsyslog-mysql 查看安装生成的文件
/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
(3)创建rsyslog依赖数据库
[root@local log]# mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql导入mysql脚本
导入之后,查看数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| Syslog |
| mysql |
| test |
+--------------------+
4 rows in set (0.05 sec)
mysql> use Syslog;
changed
mysql> show tables;
+------------------------+
| Tables_in_Syslog |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)
(4)配置rsyslog启用
[root@local /]# vi /etc/rsyslog.conf 编辑配置文件的MODULES段添加以下内容:
#### MODULES ####
$ModLoad ommysql
(5)定义某facility把日志记录至指定数据库的指定表中:
[root@local /]# vi /etc/rsyslog.conf 编辑配置文件的RULES段添加以下内容:
#### RULES ####
*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslo
g,user123,pass123
在mysql数据库中添加用户和密码
mysql> grant all on Syslog.* to 'user123'@'127.0.0.1' identified by 'pass123';
Query OK, 0 rows affected (0.05 sec)
mysql> grant all on Syslog.* to 'user123'@'localhost' identified by 'pass123';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
[root@local /]# service rsyslog restart配置好之后,重启rsyslog
可以在数据库中查询:
mysql>select * from SystenEvents;
(6)使用loganalyzer webgui来展示日志.
开源软件依赖于lamp环境
[root@local html]# yum install php-mysql php-gd php-gd
loganalyzer-3.6.5.tar.gz 下载解压之后,把contrib目录下在.sh脚本复制到src下,然后把src移动网站根目录重命名log。
[root@local log]# mv contrib/* src/
[root@local src]# chmod +x *.sh
[root@local log]# ./configure.sh
[root@local log]# ./secure.sh
[root@local log]# chmod 666 config.php 给配置文件赋予权限
http://192.168.0.17/log/install.php安装即可~
选择mysql,数据库名称,表名,用户和密码。
No syslog records found - Error Details:
Could not find the configured table, maybe misspelled or the tablenames are case sensitive
出现上面红色错误时候。修改下config.php配置文件中的数据库用户和密码即可。
$CFG['UserDBUser'] = 'user123';
$CFG['UserDBPass'] = 'pass123';
=========扩展Elk轻量级的开源项目,适用于大量日志收集存储分析展示下次整理=====