Linux日志管理

目录

系统日志管理

系统日志介绍

日志文件保存位置:

rsyslog 系统日志服务

ELK日志收集(适用于大型企业)

rsyslog相关文件

rsyslog配置文件(使用vim编辑器查改)

将ssh远程连接服务日志做独立文件:

网络日志(远程日志功能)


系统日志管理

系统日志介绍

将系统及应用发生的事件记录记录成日志,用于排错与分析

日志的的内容

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

日志级别:事件的关键性程度,Loglevel:error、notice、info、debug等

分类:

  • 内核及系统日志

    • 由系统服务rsyslog统一进行管理,日志格式基本相似

  • 用户日志

    • 记录系统用户登录及退出系统的相关信息

  • 程序日志

    • 由各种应用程序独立管理的日志文件,记录格式不统一

日志文件保存位置:

默认位于/var/log目录下

日志类型文件位置
内核及公共消息日志/var/log/message
计划任务日志/var/log/cron
系统引导日志/var/log/dmesg
邮件系统日志/var/log/maillog
用户登录日志/var/log/lastlog;/var/log/secure;/var/log/wtmp;/var/run/btmp
  • /var/log/secure:系统安全日志(用户登录),文本格式,应周期性分析

  • /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看

  • /var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看

  • /var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看

  • /var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录专用命令dmesg查看,可持续记录硬件变化的情况

  • /var/log/boot.log:系统服务启动的相关信息,查看启动是否正常,文本格式

  • /var/log/messages :系统中大部分的信息

  • /var/log/anaconda : anaconda的日志操作系统安装时安装的软件信息

rsyslog 系统日志服务

rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计

rsyslog 特性

  • 多线程

  • UDP, TCP, SSL, TLS, RELP(支持多种协议的存储)

  • MySQL, PGSQL, Oracle实现日志存储(支持多数据库)

  • 强大的过滤器,可实现过滤记录日志信息中任意部分

  • 自定义输出格式,可以修改日志格式(按一定格式记录)

  • 适用于企业级(小型企业)

ELK日志收集(适用于大型企业)

由Elasticsearch, Logstash, Kibana三个软件组成

  • 非关系型分布式数据库,基于apache软件基金会jakarta项目组的项目lucene

  • Elasticsearch:是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能

  • Logstash:对日志进行收集、分析,过滤,并将其存储供以后使用

  • Kibana:可以提供的日志分析友好的 Web 界面

rsyslog相关文件

查看rsyslog文件模块:

rpm -ql rsyslog [ | 模块名]

  • 程序包:rsyslog

  • 主程序:/usr/sbin/rsyslogd

  • CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}

  • CentOS 7,8:/usr/lib/systemd/system/rsyslog.service

  • 配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf

  • 库文件: /lib64/rsyslog/*.so 

rsyslog配置文件(使用vim编辑器查改)

/etc/rsyslog.conf 配置文件格式:由三部分组成

  • MODULES:相关模块配置

  • GLOBAL DIRECTIVES:全局配置

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

配置格式:

facility.priority:分类.优先级

日志的级别

级别名称说明
debug(LOG_DEBUG)一般调试信息说明
info(LOG_INFO)基本的信息通知
notice(LOG_NOTICE)普通信息,但有一定重要性
warning(LOG_WARNING)警告信息,重要但不影响运行
error(LOG_ERROR)错误信息,已经能够影响运行了
crit(LOG_CIRT)临界状态,比较严重,影响较大
alert(LOG_ALERT)严重影响运行,必须立即采取行动
emerg(LOG_EMERG)疼痛等级,系统已无法使用
*表示所有日志等级,例:authpriv.*,表示authpriv服务产生的所有日志文件

服务日志

服务名称说 明
auth(LOG AUTH)安全和认证相关消息 (不推荐使用authpriv替代)
authpriv(LOG_AUTHPRIV)安全和认证相关消息(私有的)
cron (LOG_CRON)系统定时任务cront和at产生的日志
daemon (LOG_DAEMON)与各个守护进程相关的曰志
ftp (LOG_FTP)ftp守护进程产生的曰志
kern(LOG_KERN)内核产生的曰志(不是用户进程产生的)
Iocal0-local7 (LOG_LOCAL0-7)为本地使用预留的服务
lpr (LOG_LPR)打印产生的日志
mail (LOG_MAIL)邮件收发信息
news (LOG_NEWS)与新闻服务器相关的日志
syslog (LOG_SYSLOG)存syslogd服务产生的曰志信息(虽然服务名称己经改为reyslogd,但是很多配罝依然沿用了 syslogd服务的,所以这里并没有修改服务名称)
user (LOG_USER)用户等级类别的日志信息
uucp (LOG_UUCP>uucp子系统的日志信息,uucp是早期Linux系统进行数据传递的协议,后来 也常用在新闻组服务中
  • vim /etc/rsyslog.conf(查看日志的配置文件)

将ssh远程连接服务日志做独立文件:
  • 客户端:连接服务端

  • 服务端:查询用户授权日志信息

  • 服务端: 查看并编辑远程连接的配置文件

实现日志独立管理:

  • 需要服务支持rsyslog

  • 必须修改配置文件

  • 独立日志的服务和日志服务都必须重启

网络日志(远程日志功能)

将多台服务器日志远程传输到一台服务器上

只能支持10-20台左右的服务器

  • 将两端的远程服务端口打开

    • vim /etc/rsyslog.conf

  • 客户端:修改配置文件

    • vim /etc/rsyslog.conf

    • 将54行内容复制到55行,并将后面的路径改为IP地址

  • 将日志写入服务端

    • 客户端

  • 服务端

注意:客户端需要先远程连接上服务端,命令:ssh 服务端IP地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值