rsyslog server 和loganalyzer(图形日志)

rsyslog

日志:历史事件的相当记录

记录的内容:事件发生的时间、事件内容

日志级别:事件的关键性程序,loglevel

 

Linux:应用程序,内核

syslogd 为系统记录日志的程序

klogd  为内核记录日志的程序

 

程序包:syslog centos5之前的版本)--> rsyslog

 

rsyslog:

多线程;

基于此些UDP, TCP, SSL, TLS, RELP协议来进行远程记录。

日志可以记录在MySQL, PGSQL, Oracle等多种关系数据库中

强大的过滤器,可实现过滤系统信息中的任意部分

自定义输出格式

适用于企业级别日志记录需求

 

还有一种日志工具为:elk: elasticsearch, logstash, kibana

 

日志生成方:应用程序和内核

每个应用程序都可自行记录日志

内核也可记录日志

 

核心概念:

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

 

指定级别的方式:

*: 所有级别

none: 没有级别

priority: 比此级别高的(包含)所有级别的日志信息都会记录

=priority: 仅记录指定级别

 

rsyslog的配置文件:/etc/rsyslog.conf

RULES

facility.priority                 target

设施.级别                           何处

 

target:

文件路径:将日志记录于指定的文件中;在文件路径之前使用"-",表示异步写入;

用户:将日志信息通知给文件

*: 所有用户

日志服务器:@SERVER

管道:| COMMAND

wKioL1VXQdvQp22qAAIZFQUtHXg573.jpg

 

文件记录日志文件的格式:

事件产生的时间         主机         进程(PID)        事件

 

 

有些日志记录二进制格式,例如,两个日志文件:

成功登录系统的日志:/var/log/wtmp

查看命令:last

失败的登录的尝试:/var/log/btmp

查看命令:lastb

 

lastlog命令:显示当前系统每个用户各自最近一次的登录信息;

 

模块:

启用本机成为日志服务器:

$ModLoad imudp

$UDPServerRun 514

                    udp模块启用后可以用ss -unl查看是否监听在514端口上

                 

$ModLoad imtcp

$InputTCPServerRun 514

                   tcp模块启用后可以使用ss -tan查看是否监听在514端口上                     

                   更配置文件后,service rsyslog  restart           

 

 

rsyslog支持把日志存储于mysql中:

(1) 有可用的MySQL服务器;

yum install mysql-server -y

service mysqld start

 

(2) 安装rsyslog-mysql程序包;

yum install rsyslog-mysql -y

 

(3) 创建rsyslog依赖的数据库;

# mysql < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql

mysql中可以查到相关的Syslog以及相关的表;

 

(4) 配置rsyslog启用ommysql模块,在/etc/rsyslog.conf配置文件内添加;

#### MODULES ####

$ModLoad ommysql

(5) 定义某facility把日志记录至指定的数据库的指定表中;

#### RULES ####

facility.priority  :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD

例:

*.info;mail.none;authpriv.none;cron.none                :ommysql:127.0.0.1,Syslog,rsyslog,rsyslog

在数据库中创建用户:

mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslog';

mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'rsyslog';

mysql> FLUSH PRIVILEGES;

mysql> select * from SystemEvents\G

 

 

(6) 可选:使用loganalyzerWebGUI)来展示日志信息;

            第一步:下载依赖的lamp组件;

# yum install httpd php php-mysql php-gd

第二步:看是否php能够正常执行

servicehttpd start

/var/www/html下创建index.php测试页面

<?php

         phpinfo;

?>

service httpd reload

在浏览器下输入IP查看测试页面

 

下载loganalyzer,并展开;这里以loganalyzer-3.6.5为例

# cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer

# cp loganalyzer-3.6.5/contrib/* /var/www/html/loganalyzer

# cd /var/www/html/loganalyzer

# chmod +x configure.sh secure.sh

# ./configure.sh

# ./secure.sh

# chmod 666 config.php

 

访问:http://SERVER_IP/loganalyzer/install.php

如下界面需要配置后才能显示:

wKiom1VXP-Hyg5tzAAUDDDPcqyE080.jpg

 


你可能感兴趣的:(server,rsyslog,loganalyzer,图形日志)