现如今,日志已经成为了我们分析系统及相关服务的一个重要工具。而日志也具有其相对较为固定的格式以便于进行统计查询。其大致格式如下:
日期时间 主机 进程[pid]:事件内容
我们可以通过查看/var/log/message中的内容来看一下其记录的日志格式。
在Linux中,使用rsyslog来记录日志,其主要具有以下几点特性:
a、多线程进程;
b、支持UDP、TCP、SSL/TLS、RELP等多种传输协议;
c、可存储日志信息于Mysql、PGSQL、Oracle等数据库中;
d、具有功能强大的过滤器,可实现过滤日志信息中任何部分的内容;
e、可自定义输出格式;
下面我们就首先详细了解一下rsyslog程序。
1、程序相关环境;
rsyslog在CentOS发行版中为默认安装的,当然,我们也可自己手动安装,配置好yum仓库后,执行yum –y install rsyslog即可。以CentOS7为例,其生成的相关文件主要有以下这些:
配置文件:/etc/rsyslog.conf、/etc/rsyslog.d/*
主程序文件:/usr/sbin/rsyslogd
模块路径:/usr/lib64/rsyslogd/
Unit File:/usr/lib/system/system/rsyslog.service
2、程序配置文件
rsyslog的程序配置文件由以下三部分组成:
#### MODULES #### #### GLOBAL DIRECTIVES #### #### RULES ####
需要注意的是,每个配置段的配置选项都有严格的定义,所以我们在添加配置选项时,同样也需要严格按照配置段位置进行添加;我们主要看一下RULES段的主要配置。
RULES段的配置具有固定的格式,由三部分组成:
Facility.priority target
Facility即为日志传输的信道,包括auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,syslog,local0-local7共20类。
priority为日志的等级,包括debug,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)几种;
target为日志的存储方式,有以下几种:
Ø 文件:将日志信息记录到指定的文件中,文件路径之前的“-”表示异步写入之意;
Ø 用户:将日志事件通知给指定的用户,一般指登录到当前系统上的所有用户的终端;
Ø 日志服务器:格式为@rsyslog_server,表示将日志信息发往指定的日志服务器;
Ø 管道:格式为|COMMAND,表示将日志通过管道传递给命令;
了解了rsyslog之后,那么我们要如何分析日志信息呢。在图像化界面下,我们可以通过一款软件loganalyzer进行分析,其需要运行于amp环境中;下面我们就搭建一个AMP+rsyslog+loganalyzer环境;
1、安装AMP+rsyslog环境
yum –y install httpd php php-mysql mariadb-server rsyslog ryslog-mysql
2.配置mysql相关用户与数据
a、启动mysql服务
systemctl start mariadb.service
b、运行mysql初始化设置;
mysql_secure_installation
c、创建mysql数据库与账号;
mysql -u root -pmageedu < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql mysql> grant all on Syslog.* to ‘rsyslog’@’localhost’ identified by ‘mageedu’; mysql> grant all on Syslog.* to ‘rsyslog’@’127.0.0.1’ identified by ‘mageedu’; mysql> flush privileges;
3、配置rsyslog配置文件;
vim /etc/rsyslog/rsyslog.conf
在MODULES下添加:$ModLoad ommysql
在RULES下添加:*.* :ommysql:127.0.0.1,Syslog,rsyslog,mageedu
4、loganalyzer相关配置;
a、解压loganalyzer安装包;
tar xf loganalyzer-3.6.5.tar.gz
b、复制解压目录下src目录至/var/www/html目录;
cp –r loganalyzer-3.6.5/src /var/www/html
c、创建软链接;
ln -sv /var/www/html/loganalyzer /var/www/html/log
d、在/var/www/html/log目录中创建config.php并修改权限为666;
cd /var/www/html/log touch config.php chmod 666 config.php
e、为apache用户设置acl权限;
setfacl -m u:apache:rwx /var/www/html/loganalyzer-3.6.5
f、设置防火墙并启动各服务
5、在浏览器中访问httpd服务并安装loganalyzer;
至此,我们就搭建完成了amp+rsyslog+loganalyzer服务。
原创文章,作者:luoliumeng,如若转载,请注明出处:http://www.178linux.com/53818