linux日志系统

简介: linux软件syslogsyslog-ng(next generation)日志系统:syslog负责统一记录日志syslog服务:syslogd:系统,非内核产生的信息。
linux

软件

  • syslog
  • syslog-ng(next generation)

日志系统:syslog

负责统一记录日志

  • syslog服务:
  • syslogd:系统,非内核产生的信息。
  • klogd:内核,专门负责记录内核产生的日志信息。
  • kernel-->物理终端(/dev/console )-->/var/log/dmsg klog
  • dmesg dmesg - print or control the kernel ring buffer
    /sbin/init ---syslogd

日志的轮转:日志切割

messge -->message1--->message2

日志轮转条件 /var/log/messages:系统标准错误日志信息。非内核产生引导信息,各子系统产生的信息。

  • logrotate:

    logrotate - rotates, compresses, and mails system logs
    /etc/cron.daily/logrotate
    /etc/logrotate.conf
    全局和局部变量
    /etc/logrotate.d/*

查看帮助文档

man logrotate 
 /var/lib/logrotate.status

 /var/log/maillog:邮件系统产生的日志信息.
 /var/log/secure:系统认证,安全日志。
 chkconfig --list rsyslog
 servcie rsyslog status

配置文件

信息的详细程度:日志级别
定义不同日志信息

子系统:facility:设施
动作:action

配置文件定义格式:
facility.prioriity    action 
facility,可以理解为日志的来源或设备目前常用的facility有以下几种:
auth           认证相关的
authpriv         权限,授权相关的
cron            任务计划相关的
daemon            守护进程相关的
kern            内核相关的
lpr              打印相关的
mail           邮件相关的
mark            标记相关的
news             新闻下相关的
security         安全相关的与auth类似
syslog              syslog自己的
user              用户相关的
uucp              unix to unix cp 相关的
local0到local7   用户自定义
*                表示所有的facility

priority (log level) 日志的级别,一般有以下几种级别(从高到低)
debug         #程序或系统的调试信息
info           #一般信息
notice         #不影响正常功能,需要注意的信息
warning/warn      #可能影响系统正常功能,需要提醒用户的重要事件
err/error          错误信息 
crit              比较严重
alert            必须马上处理
emerg/panic        会导致系统不可用
*               表示所有的日志级别
none         跟*相反,表示啥也没有
注意:级别越低,信息越详细,产生的信息量越多。
action(动作)日志的记录位置
系统上绝对路径     #普通文件,如/var/log/xxx
|             #管道  通过管道送给其他命令处理
终端          #终端   如/dev/console
@HOST        #远程主机  如:@10.0.0.10
用户           #系统用户   如root
*               #登录到系统上的所有用户,一般emerg级别的日志是这样定义的。

日志服务器:

优点

 1.便于管理
 2.安全性提高
 3.备份    

定义格式例子:

mail.info   /var/log/mail.log  #表示将mail相关的,级别为info及info以上级别的的信息记录到/var/log/mail.log文件中
auth.=info   @10.0.0.1  #表示将auth相关的,基本为info的信息记录到10.0.0.1主机上去
user.!=error      #与user.error相反
*.info        #表示记录所有日志的info信息
mail.*            #表示记录mail相关的所有级别的信息
*.*         #所有
cron.info;mail.info     #多个日志来源用“;”隔开
cron,mail.info     #与cron.info;mail.info一个意思
mail.*;mail.!=info     #表示记录mail相关的所有级别的信息,但是不包括info级别的。

vim /etc/rsyslog.conf
    /etc/rsyslog.
*.info;mail.none;authpriv.none;cron.none                /var/log/messages  #除了。。以外都记录
mail.*                             /var/log/secure  权限为 600                -/var/log/maillog   注:-:表示异步写入,其他的是同步写入。
/var/boot.log
syslog默认记录的日志格式有四个字段,时间标签   主机  子系统名称   消息
cron.info    /var/log/ 
service rsyslog restart
service rsyslog  reload
/etc/init.d/rsyslog
/etc/sysconfig/rsyslog  脚本的配置文件
SYSLOGD_OPTIONS="-c 5"  加上-r 重启服务即可
-r :允许接受外来的日志,

查看帮助

man 8 rsyslogd

日志相关的一些命令

dmsg
lastlog
last
lastb
sar
logger
....

赘述两句

以上内容是在 centos, redhat下面的配置和使用,我下面贴出ubuntu发行版的配置以及参数等

日志配置

 ubuntu@youdi >/etc > vim rsyslog.conf
 ubuntu@youdi > /etc > tree rsyslog.d
rsyslog.d
├── 20-ufw.conf
├── 21-cloudinit.conf
└── 50-default.conf  // 不同日记级别产生的日志保存在哪里等一些配置都是在这个文件中

0 directories, 3 files

保存日志相关的文件

ubuntu@youdi  /var/log  tree -L 1                                                                                                                                  
├── alternatives.log
├── alternatives.log.1
├── alternatives.log.2.gz
├── alternatives.log.3.gz
├── alternatives.log.4.gz
├── apt
├── auth.log
├── auth.log.1
├── auth.log.2.gz
├── auth.log.3.gz
├── auth.log.4.gz
├── btmp
├── btmp.1
├── cloud-init.log
├── cloud-init-output.log
├── dist-upgrade
├── dpkg.log
├── dpkg.log.1
├── dpkg.log.2.gz
├── dpkg.log.3.gz
├── dpkg.log.4.gz
├── fontconfig.log
├── fsck
├── kern.log
├── kern.log.1
├── kern.log.2.gz
├── kern.log.3.gz
├── kern.log.4.gz
├── lastlog
├── lxd
├── mysql
├── nginx
├── redis
├── shadowsocks.log
├── supervisor
├── syslog
├── syslog.1
├── syslog.2.gz
├── syslog.3.gz
├── syslog.4.gz
├── syslog.5.gz
├── syslog.6.gz
├── syslog.7.gz
├── unattended-upgrades
├── wtmp
└── wtmp.1

日志轮转的配置


ubuntu@youdi  /etc  vim logrotate.conf                                                                                                                                                                         
 ubuntu@youdi  /etc  tree logrotate.d                                                                                                                                                                           
logrotate.d
├── apport
├── apt
├── dpkg
├── lxd
├── mysql-server
├── nginx
├── redis-sentinel
├── redis-server
├── rsyslog
├── ufw
└── unattended-upgrades

0 directories, 11 files
相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
6月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
514 3
Linux系统禁用swap
|
6月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1029 3
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
6月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
539 122
基于docker搭建监控系统&日志收集
|
7月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
7月前
|
存储 Ubuntu Linux
「正点原子Linux连载」第二章Ubuntu系统入门
在图2.8.2.4中,我们使用命令umount卸载了U盘,卸载以后当我们再去访问文件夹/mnt/tmp的时候发现里面没有任何文件了,说明我们卸载成功了。
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
615 3
Linux系统初始化脚本
|
7月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
448 18
|
6月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
711 2
|
6月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
582 1