设为首页 加入收藏

TOP

日志服务管理和文件共享服务(一)
2023-07-23 13:39:55 】 浏览:116
Tags:管理和 文件共

一、系统日志管理

1 系统日志介绍

1.1 sysklogd 系统日志服务

CentOS 5 之前版本采用的日志管理系统服务

  • klogd: linux kernel 记录内核日志
  • syslogd: system application 记录应用日志

 

1.2 rsyslog 系统日志服务

rsyslog是CentOS 6 以后版本的系统管理服务.它提供了高性能,出色的安全性和模块化设计。 尽管rsyslog最初是常规的syslogd,但已发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输入,并将其转换,然后输出到不同的目的地。

当应用有限的处理时,RSYSLOG每秒可以将超过一百万的消息传递到本地目的地。 即使在远程的目的地和更精细的处理中,性能通常也被认为是“惊人的”。

 

1.3 ELK

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

  • 非关系型分布式数据库
  • 基于apache软件基金会jakarta项目组的项目lucene
  • Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能
  • Logstash对日志进行收集、分析,过滤,并将其存储供以后使用
  • Kibana 可以提供的日志分析友好的 Web 界面

 


2 rsyslog 管理

2.1 系统日志术语

  • facility 设施:从功能或程序上对日志进行归类
#内置分类
auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth),user, uucp, syslog

#自定义的分类
local0-local7
  • Priority 优先级别:从低到高排序
debug,info, notice, warn(warning), err(error), crit(critical), alert,emerg(panic)
  • logger 命令:可在系统日志中输入消息
#范例
[root@rsyslog ~]# logger "this is a test log"
[root@rsyslog ~]# cat /var/log/messages
Nov  8 03:30:05 rsyslog root[2127]: this is a test log

 

2.2 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

 

2.3 rsyslog配置文件

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

  • MODULES:相关模块配置
  • GLOBAL DIRECTIVES:全局配置
  • RULES:日志记录相关的规则配置

RULES配置格式

facility.priority; facility.priority…  target

facility格式

* #所有的facility
facility1,facility2,facility3,... #指定的facility列表

priority格式

*: 所有级别
none:没有级别,即不记录
PRIORITY:指定级别(含)以上的所有级别
=PRIORITY:仅记录指定级别的日志信息

target格式

  • 文件路径:通常在/var/log/,文件路径前的-表示异步写入
  • 用户:将日志事件通知给指定的用户,* 表示登录的所有用户
  • 日志服务器:@host,把日志送往至指定的远程UDP日志服务器 @@host 将日志发送到远程TCP日志服务器
  • 管道: | COMMAND,转发给其它命令处理

通常的日志文件的格式

日志文件有很多,如: /var/log/messages,cron,secure等,基本格式都是类似的。格式如下

事件产生的日期时间 主机 进程(pid):事件内容

 

范例:将ssh服务的日志记录至自定义的local的日志设备
#修改sshd服务的配置
[root@rocky01 ~]# vim /etc/ssh/sshd_config
#SyslogFacility AUTHPRIV #更改此行
SyslogFacility local6

#修改rsyslog的配置
[root@rocky01 ~]# vim /etc/rsyslog.d/sshd.conf
local6.* /var/log/sshd.log

[root@rocky01 ~]# systemctl reload sshd
[root@rocky01 ~]# systemctl restart rsyslog.service

#测试
#ssh登录后,查看/var/log/sshd.log有记录
[root@rocky01 ~]# tail -f /var/log/sshd.log
Nov  7 16:26:12 rocky01 sshd[3903]: Accepted password for root from 10.0.0.1 port 51367 ssh2

 

2.4 启用网络日志服务

启用网络日志服务功能,可以将多个远程主机的日志,发送到集中的日志服务器,方便统一管理。

端口:514

范例:CentOS 8 启用网络日志功能

#接收日志的服务器
[root@rocky01 ~]# vim /etc/rsyslog.conf
#udp和tcp开启一个即可(同网段UDP,不同网段TCP)
## MODULES ####
...省略...
# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
module(load="imudp") # needs to be done just once
input(type="imudp" port="514")

# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")

[root@rocky01 ~]# systemctl restart rsyslog

#在客户端指定将日志发送到远程的TCP、UDP的日志服务器
#一个@是UDP,两个@@是TCP
[root@rocky02 ~]# vim /etc/rsyslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Linux 挂载Windows共享文件夹和NA.. 下一篇配置sshd使用CA签名证书登录_ssh..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目