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日志并进行多维度分析。
目录
打赏
0
0
0
0
235
分享
相关文章
|
2月前
|
Websoft9:为开发者打造的高效 Linux 服务器面板
Websoft9 是一款以开源应用部署与管理为核心的服务器面板,采用“环境即服务”模式。它通过运行环境标准化、自动化配置、安全融合和资源管理四个方面实现平台与环境的深度协同。支持多语言框架预集成、云原生组件整合,提供 200+ 应用模板一键部署,并具备全流程安全防护和统一资源监控能力,助力开发者高效管理和扩展应用环境。
63 0
|
16天前
|
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
117 28
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
94 28
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
78 23
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
91 20
|
2月前
|
Linux系统管理:服务器时间与网络时间同步技巧。
以上就是在Linux服务器上设置时间同步的方式。然而,要正确运用这些知识,需要理解其背后的工作原理:服务器根据网络中的其他机器的时间进行校对,逐步地精确自己的系统时间,就像一只犹豫不决的啮齿动物,通过观察其他啮齿动物的行为,逐渐确定自己的行为逻辑,既简单,又有趣。最后希望这个过程既能给你带来乐趣,也能提高你作为系统管理员的专业素养。
123 20
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
211 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
126 13
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
76 1
Linux云服务器如何搭建LNMP环境

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等