一、日志文件

1.1、日志文件介绍

日志文件是用于记录系统操作事件的记录文件或文件集合,操作系统有操作系统日志文件,数据库系统有数据库系统日志文件,等等。

日志文件内容包括

历史事件:时间、地点、人物、事件

日志级别:事件的关键性程度

1.2、日志服务

Rsyslog是一个 syslogd 的多线程增强版,在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL, PostgreSQL、Oracle等)、日志内容筛选、定义日志格式模板等。除了默认的udp协议外,rsyslog还支持tcp协议来接收日志。

rsyslog的特性

  • 多线程
  • UDP、TCP、TLC 、RELP
  • MysQL 、PGSQL 、Oracle实现日志存储
  • 强大的过滤器、可实现过滤日志信息中任意部分
  • 自定义输出格式
  • 适用于企业中继

1.3、EIK

Elasticsearch, Logstash, Kibana三个软件组成

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)

Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

二、rsyslog管理

2.1、系统日志术语

facility:设施,从功能或程序上对日志进行归类

priority:优先级别,从高到低进行排序

日志等级

  • debug (LOG_DEBUG)    :一般的调试信息说明
  • info (LOG_INFO)            :基本的通知信息
  • notice (LOG_NOTICE)       :普通信息但是有一定重要性
  • warning (LOG_WARNING):警告信息,但不会影响到服务或系统运行
  • error(LOG_ERR)          :错误信息,一般达到err等级的信息已经可以影响到服务成系统的运行。
  • emerg (LOG_EMERG):疼痛信息,此状态时系统已经无法使用
  • *                                   :代表所有日志等级

 

2.2、rsyslog配置文件

/etc/rsyslog.conf文件为三个模块

MODULES:

GLOBAL DIRECTIVES:全局配置

RULES:日志记录相关的规则配置

2.3、服务生成日志文件

1 [root@localhost ~]# vim /etc/ssh/sshd_config
 2 修改ssh配置文件
 3  
 4 32 #SyslogFacility AUTHPRIV
 5  33 SyslogFacility LOCAL6
 6 定义自己的规则
 7  
 8 [root@localhost ~]# vim /etc/rsyslog.conf
 9 修改rsyslog配置文件
10  
11 local6.*                                               /var/log/ssh.log
12 定义规则
13  
14  
15 [root@localhost ~]# systemctl restart sshd
16 刷新远程服务
17  
18 [root@localhost ~]# systemctl restart rsyslog
19  
20 刷新rsyslog文件
21

 

2.4、网络日志

1 在192.168.222.100主机上设置远程服务
 2  
 3 [root@localhost ~]# vim /etc/rsyslog.conf
 4 修改配置
 5  
 6 $ModLoad imtcp
 7 $InputTCPServerRun 514
 8  
 9 19、20行打开tcp模块
10  
11 [root@localhost ~]# systemctl restart rsyslog.service
12  
13 刷新服务
14  
15  
16 在192.168.222.10 主机上设置发送到哪
17  
18 [root@localhost ~]# vim /etc/rsyslog.conf
19  
20 修改配置文件
21  
22 .info;mail.none;authpriv.none;cron.none               @@192.168.222.100
23  
24 在55行处制定规则
25  
26 [root@localhost ~]# systemctl restart rsyslog.service
27  
28 刷新服务
29  
30 [root@localhost ~]# logger "this is test "
31 进行验证
32