系统日志管理

#################
#####系统日志#####
#################

 

linux系统日志
有个rsyslog和journal两个日志系统

rsyslog:

/etc/rsyslog.conf        ##配置文件文件路径
##主要就是这个配置文件,包含了rsyslog的所有信息

 

 

打开/etc/rsyslog.conf 翻到RULES这里有好多定义好的规则

 

规则格式:日志类型.日志级别        保存路径

 

eg:
cron.*                                                  /var/log/cron

 

##定时任务.所有        保存在/var/log/cron文件中

 

 

管理员可以自己修改,删除,添加规则。

日志格式简介:

日志级别简介:

日志系统默认是打开的:可以看到/var/log/messages里面保存着以前的日志

 

自定义日日志采集格式

vim /etc/rsyslog.conf        ##配置文件路径

$template name,“格式”

eg:

$template westos,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

格式定义后不要忘记在文件路径后面加格式名字:

*.info;mail.none;authpriv.none;cron.none                /var/log/messages;westos



%timegenerated%		#日志生成时间
%FORMHOST-IP%		#日志来源主机的IP
%syslogtag%		#日志生成程序
%msg%			#日志内容
\n			#换行

 

这是更改后的图:

 

 

2、日志远程同步

/etc/rsyslog.conf    ##配置文件
在日志发送方(服务器端)
vim /etc/rsyslog.conf

 

*.*		@172.25.254.111	#日至接收

 

在日志接收方

 

vim /etc/rsyslog.conf

15 $Modload imudp            ##取消15,16行注释,打开UDP同步
16 $UDPServerRun 514

 

systemctl restart rsyslog        ##重启服务

 

由于防火墙的缘故阻挡的来自服务器的日至消息,为了实验效果,我们关掉防火墙。

systemctl stop firewalld            ##关闭防火墙
systemctl disable firewalld

 

 

journalctl              ##日志查看工具,直接查看内存中的日志

 

journalctl -n 3	        ##显示最近的三条日志    
journalctl -p err        ##查看指定类型的日志
journalctl -f 	        #日志监控
journalctl --since  --until    ##查看时间段的日志。    
journalctl -o verbose     #查看日志详细参数  
journalctl _pid=651        ##查看指定pid的日志



对systemd_journald管理
默认此程序只负责对日志进行查看而不进行保存采集
关机后失去以前的日志
因为是保存在内存的关机后清空了那么开机后用journalctl看不到的

 

 

如何让systemd_journald保存日志文件到硬盘
1,在/var/log目录下新建jouurnal目录,
mkdir /var/log/journal
2,更改目录的组属性,
chgrp systemd-journal   /var/log/journal
3,更改目录下新建文件的组属性,
chmod g+s /var/log/journal
4,杀掉进程,自动重起,会在journal目录下生成文件。
killall -1 systemd-journald
###重起后要确保journal文件夹下有生成的文件,这样就设置好了。
然会日志就会一直保存在journal目录中,

 



 

时间同步

1,在服务器端设置
vim /etc/chrony.conf ##打开chrony的配置文件。

 

29:	local stratum 10	##开启时间共享功能并设定共享级别 29行
				##这个参数开启后本纪不去同步别人的时间
21: allow 172.25.254.0/24	##允许那些客户段访问本纪共享时间
				##允许此网段的ip同步时间。

systemctl restart chronyd 重起服务,


2,客户端设置
vim /etc/chrony.conf ##打开chrony的配置文件。

 

server 172.25.254.100 iburst	##添加时间同步服务器

systemctl restart chronyd 重起服务,


chronyc sources -v 查看同步状态

 

[root@node2 ~]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||                                                /   xxxx = adjusted offset,
||         Log2(Polling interval) -.             |    yyyy = measured offset,
||                                  \            |    zzzz = estimated error.
||                                   |           |                         
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 172.25.254.111               10   6    37    43  +1009ns[ +275us] +/-  200us



##最后一行有 ^*  代表同步成功。

 

 

 

 

 

ELK日志监控平台是一套完整的日志集中处理解决方案,由Elasticsearch、Logstash和Kibana三个开源工具组成,有时还结合Beats一起使用[^3]。该平台能够帮助用户高效地进行日志的采集、分析、存储和可视化展示,从而满足对日志的查询、排序、统计等需求。 ### 基本组件及功能 1. **Elasticsearch**: - Elasticsearch是一个分布式的搜索和分析引擎,主要用于存储和索引日志数据,支持快速检索和复杂的数据聚合操作。 - 它具备高扩展性,可以在多个节点上运行,并通过集群的方式管理大规模数据[^2]。 2. **Logstash**: - Logstash是一个强大的数据收集工具,负责从各种来源(如文件、数据库、消息队列)中提取日志数据,并对其进行解析、转换和过滤。 - 它支持多种输入源和输出目标,能够将处理后的日志发送到Elasticsearch中进行存储[^1]。 3. **Kibana**: - Kibana是ELK的日志可视化工具,提供直观的Web界面,允许用户对Elasticsearch中的数据进行图表化展示。 - 用户可以通过Kibana创建仪表板,实时查看日志的趋势、异常情况以及其他关键指标[^2]。 4. **Beats**: - Beats是一个轻量级的日志收集代理,特别适用于资源受限的环境。 - 它可以直接将日志发送到Elasticsearch或通过Logstash进一步处理,减少系统资源的消耗[^3]。 ### 工作原理 ELK的工作流程通常包括以下几个步骤: 1. **日志采集**:通过Logstash或Beats从不同的日志源获取原始日志数据。 2. **日志处理**:Logstash对日志进行格式化、解析、过滤等操作,以确保数据的一致性和可用性。 3. **日志存储**:处理后的日志被发送到Elasticsearch中进行存储和索引,以便后续查询和分析。 4. **日志分析与可视化**:通过Kibana对存储在Elasticsearch中的日志数据进行查询、分析,并生成图表或仪表板,供用户查看和决策。 ### 应用场景 1. **故障排查**: - 通过集中化的日志管理,可以快速定位系统的错误日志,提升问题诊断的效率。 - 支持全文搜索和条件筛选,便于快速找到相关日志信息。 2. **性能监控**: - ELK可用于监控服务器、应用程序或网络设备的性能指标。 - 结合时间序列数据,可以实时观察资源使用情况,提前发现潜在瓶颈。 3. **安全审计**: - 平台能够记录所有日志事件,为安全审计提供详细的历史数据。 - 可设置告警规则,当检测到可疑行为时自动触发通知。 4. **业务分析**: - 通过分析用户访问日志或其他业务相关的日志数据,可以挖掘出有价值的业务洞察。 - 比如,分析用户的点击行为、页面停留时间等,优化产品设计。 5. **合规性要求**: - 在一些行业(如金融、医疗),法律法规要求企业保留详细的日志记录。 - ELK可以帮助企业满足这些合规性要求,并提供便捷的查询和导出功能。 ### 示例代码:简单的日志采集与展示 以下是一个简单的配置示例,展示如何使用Filebeat采集日志并将其发送到Elasticsearch: ```yaml # filebeat.yml 配置文件 filebeat.inputs: - type: log paths: - /var/log/*.log output.elasticsearch: hosts: ["http://localhost:9200"] ``` 启动Filebeat后,日志会被自动发送到Elasticsearch,随后可以在Kibana中创建索引模式并查看日志数据。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值