Linux日志选项详解及日志服务器的实现

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
Linux日志服务器的实现
 
一:基本概念
1: 软件包 syslogd
2: /etc/syslog.conf 配置文件
  格式: facility.level action
(设备 优先级 动作)
2.1 facility  如下:
auth  -用户授权
authpriv 
-授权和安全
cron 
-计划任务: at ,cron
daemon 
-系统守护进程
kern 
-与内核有关系的信息
lpr 
-与打印服务有关的信息。
mail 
-与电子邮件有关的信息
news 
-来自新闻服务器的信息
syslog 
-由  syslog  生成的信息
user 
-用户的程序生成的信息,默认。
uucp 
-由  uucp  生成的信息
local0-local7 
-来定义本地策略
       2.2 level
level 定义消息的紧急程度。按严重程度由高到低顺序排列为: emerg = panic(该系统不可用)
alert 
-需要立即采取的动作
crit 
-临界状态
err 
-错误状态。等同 error
warning 
-预警信息,等同 warn
notice 
-正常但是要注意
info 
-正常消息
debug 
-调试
none 
-一般的信息
       2.3  动作
         2.3.1指定日志文件的绝对路径
         2.3.2 *(所有用户)
         2.3.3 指定用户
         2.3.4 @hostanme 或IP
      2.4  配置文件详细内容如下:
   
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
kern.*                                                   /dev/console
 
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                 /var/log/messages
 
# The authpriv file has restricted access.
authpriv.*                                               /var/log/secure
 
# Log all the mail messages in one place.
mail.*                                                   -/var/log/maillog
 
 
# Log cron stuff
cron.*                                                   /var/log/cron
 
# Everybody gets emergency messages
*.emerg                                                *
 
# Save news errors of level crit and higher in a special file.
uucp,news.crit                                           /var/log/spooler
 
# Save boot messages also to boot.log
local7.*                                                 /var/log/boot.log
3:日志服务的进程和服务
 3.1 服务名 syslog
 3.2 进程    syslogd
 3.3 重读配置文件 service syslog 或 /usr/bin/killall –HUP syslogd
4:相关日志文件路径
 /var/log/*.*
二:日志服务器端的配置
 1:修改配置文件/etc/sysconfig/syslog
 
 
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS=" -x -m 0"       修改为  SYSLOGD_OPTIONS="-r -x -m 0"
# Options to klogd
# -2 prints all kernel oops messages twice; once for klogd to decode, and
#     once for processing with 'ksymoops'
# -x disables all klogd processing of oops messages entirely
# See klogd(8) for more details
KLOGD_OPTIONS="-x"
#
SYSLOG_UMASK=077
# set this to a umask value to use for all log files as in umask(1).
# By default, all permissions are removed for "group" and "other".
2:修改文件syslog 之后
 2.1 重启syslog服务
     Service syslog restart
 
 2.2 查看syslogd进程
ps –ef |grep syslogd |grep –v “grep syslogd”
root     30307     1 0 13:59 ?       00:00:00 syslogd -r -x -m     ###有-r 就表示成功。
2.3 查看日志服务器监听的udp端口:514
     netstat -untl |grep 514
udp         0      0 0.0.0.0:514                 0.0.0.0:*       ###514 已经起来
三:客户端的配置
 1:修改/etc/syslog.conf 
*.*                                                          @日志服务器的主机名或IP地址
 2:重启客户端syslog
 Service syslog restat
 3:客户端产生的所有的日志文件将在日志服务器的/var/log/*.* 生成。
 
********************* **********************
另:关于linux日志轮转(logrotate)的相关知识
一:防止日志文件本修改,加入某些属性。
 1:chattr 命令可以使某个文件属性改变
     chattr +a /var/log/messages   文件messages的数据只允许增加,不允许减少。
     chattr -a /var/log/messages    去掉数据只允许增加而不允许减少的属性。
 2:lsattr 命令查看chattr命令的效果
     lsattr /var/log/messages
     ------------a-----------------messages
二:(logrotate)轮转:将旧的日志文件自动轮换成新的日志文件。
    该配置文件绝对路径:
     /etc/logrotate.d
     /etc/logrotate.conf
1:解释配置文件logrotate.conf
 
# see "man logrotate" for details
# rotate log files weekly
Weekly                                               #####一周轮转一次
 
# keep 4 weeks worth of backlogs
rotate 4                                             ####只备份4周的数据
 
# create new (empty) log files after rotating old ones
create                                              ####建立新的日志文件
 
# uncomment this if you want your log files compressed
#compress                                         ####压缩文件
 
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d              ######这个目录下的所有日志文件按设定值轮转
 
# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {            ####/var/log/wtmp这个日志文件按照下面的设定轮转
 Monthly                 ####每月轮转一次
 minsize 1M              #### 文件大小最小1M
 create 0664 root utmp     #### wtmp这个日志文件,权限644,所有者root,所属组utmp          
 rotate 1                 ####只备份一个月的数据就轮换
}
2:/etc/logrotate.d 里面的文件是自定义轮转方式。默认是/etc/logrotate.conf,是一个全局配置文件,而/etc/logrotated 下面的文件是局部的。只对自己生效。
/var/log/messages 为说明:自定义messages的轮转方式。
/var/log/messages{
        sharedscripts
        rotate 9
        weekly
        prerotate
                /usr/bin/chattr -a /var/log/messages
        endscript
 
        postrotate
                /usr/bin/killall -HUP syslogd
               /usr/bin/chattr +a /var/log/messages
        endscript
}









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/278607,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
|
2月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
569 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
30天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
3月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
385 3
|
8天前
|
SQL 关系型数据库 MySQL
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
MySQL事务日志-Undo Log工作原理分析
|
15天前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
33 7
|
18天前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
|
1月前
|
存储 监控 安全
什么是事件日志管理系统?事件日志管理系统有哪些用处?
事件日志管理系统是IT安全的重要工具,用于集中收集、分析和解释来自组织IT基础设施各组件的事件日志,如防火墙、路由器、交换机等,帮助提升网络安全、实现主动威胁检测和促进合规性。系统支持多种日志类型,包括Windows事件日志、Syslog日志和应用程序日志,通过实时监测、告警及可视化分析,为企业提供强大的安全保障。然而,实施过程中也面临数据量大、日志管理和分析复杂等挑战。EventLog Analyzer作为一款高效工具,不仅提供实时监测与告警、可视化分析和报告功能,还支持多种合规性报告,帮助企业克服挑战,提升网络安全水平。
|
3月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1763 14
MySQL事务日志-Redo Log工作原理分析
|
2月前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
41 7