日志介绍
记录系统的历史事件:时间 地点 人物 事件
记录日志要确保时间是准确的
系统日志服务
事件记录格式: 日期时间 主机 进程[pid]: 事件内容
C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主 机的日志实现集中管理
rsyslog特性:
CentOS6和7
多线程
UDP, TCP, SSL, TLS, RELP
MySQL, PGSQL, Oracle实现日志存储
强大的过滤器,可实现过滤记录日志信息中任意部分
自定义输出格式
ELK: elasticsearch, logstash, kibana
非关系型分布式数据库
基于apache软件基金会jakarta项目组的项目lucene
Elasticsearch是个开源分布式搜索引擎
Logstash对日志进行收集、分析,并将其存储供以后使用
kibana 可以提供的日志分析友好的 Web 界面
rsyslog介绍
facility: 设施,从功能或程序上对日志进行归类
auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp, local0-local7, syslog
local0-local7 是用来自定制日志保存的
Priority : 优先级别 从低到高排序
debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)
配置文件:由三部分组成
MODULES: 相关模块配置
GLOBAL DIRECTIVES: 全局配置
RULES: 日志记录相关的规则配置
*.info; mail.none; authpriv.none; cron.none /var/log/messages
authpriv.* /var/log/secure
RULES配置格式: facility.priority; facility.priority… target
facility:
*: 所有的facility
facility1,facility2,facility3,...:指定的facility列表
priority:
*: 所有级别
none:没有级别,即不记录
PRIORITY:指定级别(含)以上的所有级别
=PRIORITY:仅记录指定级别的日志信息
target:
文件路径:通常在/var/log/,文件路径前的-表示异步写入 同步写入表示把日志立即写入磁盘 异步写入表示先把数据写入缓冲区然后再写入磁盘
用户:将日志事件通知给指定的用户,* 表示登录的所有用户
日志服务器: @host,把日志送往至指定的远程服务器记录
管道: | COMMAND,转发给其它命令处理
启用网络日志服务
#### MODULES ####
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
local2.* @192.168.30.1 @表示使用UDP协议
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
local2.* @@192.168.30.1 @@表示使用TCP协议
其它日志
/var/log/messages : 系统中大部分的信息
/var/log/anaconda : anaconda的日志
日志管理 journalctl journalctl一个命令,查看所有日志
rsyslog将日志记录于MySQL中
[root@node7 ~]# yum install rsyslog-mysql
[root@node7 ~]# rpm -ql rsyslog-mysql
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
[root@node7 ~]# mysql
mysql > /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql
MariaDB [Syslog]> grant all on Syslog.* to syslog@'192.168.231.%' identified by 'root';
MariaDB [Syslog]> flush privileges;
vi /etc/rsyslog.conf
$ModLoad ommysql
*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.231.7,Syslog,syslog,root
systemctl restart rsyslog
View Code