一、日志管理
1、日志介绍
日志:
历史事件:时间,地点,人物,事件
日志级别:事件的关键性程度,Loglevel
系统日志服务:
sysklogd :CentOS 5之前版本
syslogd: system application 记录应用日志
klogd: linux kernel 记录内核日志
事件记录格式: 日期时间 主机 进程[pid]: 事件内容
C/S架构:通过TCP或UDP协议的服务完成日志记录传送,将分布在不同主机的日志实现集中管理
2、rsyslog简单认知
1、rsyslog特性:CentOS6和7
多线程
UDP, TCP, SSL, TLS, RELP
MySQL, PGSQL, Oracle实现日志存储
强大的过滤器,可实现过滤记录日志信息中任意部分
自定义输出格式
2、ELK:elasticsearch, logstash, kibana
非关系型分布式数据库
基于apache软件基金会jakarta项目组的项目lucene
Elasticsearch是个开源分布式搜索引擎
Logstash对日志进行收集、分析,并将其存储供以后使用
kibana 可以提供的日志分析友好的 Web 界面
3、man logger可以查看rsyslog详细介绍
facility:设施,从功能或程序上对日志进行归类
auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth),user, uucp, local0-local7, syslog
Priority 优先级别,从低到高排序
debug, info, notice, warn(warning), err(error),crit(critical), alert,emerg(panic)
3、rsyslog配置介绍
1、程序包:rsyslog
2、主程序:/usr/sbin/rsyslogd
CentOS 6:service rsyslog {
start|stop|restart|status}
CentOS 7:/usr/lib/systemd/system/rsyslog.service
3、配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf
4、库文件: /lib64/rsyslog/*.so
5、配置文件格式:由三部分组成
MODULES:相关模块配置
GLOBAL DIRECTIVES:全局配置
RULES:日志记录相关的规则配置
二、日志工具rsyslog
1、rsyslog.conf配置文件
1、RULES配置格式: facility.priority; facility.priority… target
2、facility:
*: 所有的facility
facility1,facility2,facility3,...:指定的facility列表
3、priority:
*: 所有级别
none:没有级别,即不记录
PRIORITY:指定级别(含)以上的所有级别
=PRIORITY:仅记录指定级别的日志信息
4、target:
文件路径:通常在/var/log/
文件路径前的-表示异步写入
用户:将日志事件通知给指定的用户
* 表示登录的所有用户
日志服务器:@host,把日志送往至指定的远程服务器记录
管道: | COMMAND,转发给其它命令处理
mail.* -/var/log/maillog //邮件用异步方式,先写到buffer缓冲区中,不忙时cpu写入磁盘中,性能比较好
*.emerg :omusrmsg:* //发生严重事件,通过模块发送给所有用户
2、启用网络日志服务
1、通常的日志格式: 事件产生的日期时间 主机 进程(pid):事件内容
如: /var/log/messages,cron,secure等
2、配置rsyslog成为日志服务器
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerR