一 centos7无法打印系统日志

1重启rsyslog也无法打印

systemctl restart rsyslog
cat /var/log/messages
Mar 27 03:45:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="485" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Mar 31 17:29:30 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="485" x-info="http://www.rsyslog.com"] exiting on signal 15.
Mar 31 17:29:30 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="1991" x-info="http://www.rsyslog.com"] start

2 centos7 用system-journal,代替了原来的syslog,并由rsyslog负责写入message等日志文件

systemctl restart systemd-journald.servicesystemctl status systemd-journald.service
● systemd-journald.service - Journal ServiceLoaded: loaded (/usr/lib/systemd/system/systemd-journald.service; static; vendor preset: disabled)Active: active (running) since Fri 2022-04-01 09:08:51 CST; 7s agoDocs: man:systemd-journald.service(8)man:journald.conf(5)Main PID: 16676 (systemd-journal)Status: "Processing requests..."Memory: 4.3MCGroup: /system.slice/systemd-journald.service└─16676 /usr/lib/systemd/systemd-journaldApr 01 09:08:51 img_jump systemd-journal[16676]: Permanent journal is using 8.0M (max allowed 3.9G, trying to leave 4.0G free of 12.1G available → current limit 3.9G).
Apr 01 09:08:51 img_jump systemd-journal[16676]: Journal started
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.cat /var/log/messages
Mar 27 03:45:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="485" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Mar 31 17:29:30 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="485" x-info="http://www.rsyslog.com"] exiting on signal 15.
Mar 31 17:29:30 localhost rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="1991" x-info="http://www.rsyslog.com"] start
Apr  1 09:08:51 localhost journal: Permanent journal is using 8.0M (max allowed 3.9G, trying to leave 4.0G free of 12.1G available → current limit 3.9G).
Apr  1 09:08:51 localhost systemd-journald[319]: Received SIGTERM from PID 1 (systemd).
Apr  1 09:08:51 localhost journal: Journal started
Apr  1 09:08:51 localhost systemd: Starting Flush Journal to Persistent Storage...
Apr  1 09:08:51 localhost systemd: Started Flush Journal to Persistent Storage.
Apr  1 09:09:01 localhost systemd: Started Session 741419 of user root.
Apr  1 09:09:01 localhost systemd: Starting Session 741419 of user root.

3 重新启动system-journal服务后, cron,maillog secure 都有日志打印

那估计肯定是内存数据有问题,也可能是磁盘满了

[root@img_jump mnt]# ps aux|grep syslog
root      1991  0.0  0.0 225972  2280 ?        Ssl  Mar31   0:00 /usr/sbin/rsyslogd -n
root     21103  0.0  0.0 112644   964 pts/7    S+   09:54   0:00 grep --color=auto syslog
[root@img_jump mnt]#
[root@img_jump mnt]#
[root@img_jump mnt]# ll /proc/1991/fd
total 0
lr-x------ 1 root root 64 Apr  1 03:29 0 -> /dev/null
l-wx------ 1 root root 64 Apr  1 03:29 1 -> /dev/null
l-wx------ 1 root root 64 Apr  1 03:29 2 -> /dev/null
lr-x------ 1 root root 64 Apr  1 03:29 3 -> anon_inode:inotify
l-wx------ 1 root root 64 Apr  1 03:29 4 -> /var/log/messages
l-wx------ 1 root root 64 Apr  1 09:09 5 -> /var/log/secure
lr-x------ 1 root root 64 Apr  1 09:09 6 -> /var/log/journal/45461f76679f48ee96e95da6cc798cc8/system.journal
l-wx------ 1 root root 64 Apr  1 09:09 7 -> /var/log/cron
l-wx------ 1 root root 64 Apr  1 09:09 8 -> /var/log/maillog
lr-x------ 1 root root 64 Apr  1 09:14 9 -> /var/log/journal/45461f76679f48ee96e95da6cc798cc8/user-1009.journal

二 随着journal日志文件越来越大,需要优化处理下:

CentOS系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal
systemd-journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。
该日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经历过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速。
默认情况下并不会持久化保存日志,只会保留一个月的日志。另外,一些rsyslog无法收集的日志也会被journal记录到。
rsyslog作为传统的系统日志服务,把所有收集到的日志都记录到/var/log/目录下的各个日志文件中。

1 常见的日志文件如下:

/var/log/messages 绝大多数的系统日志都记录到该文件
/var/log/secure 所有跟安全和认证授权等日志都会记录到此文件
/var/log/maillog 邮件服务的日志
/var/log/cron crond计划任务的日志
/var/log/boot.log 系统启动的相关日志

曾经有人说:Linux没有垃圾文件,Windows才有垃圾文件,实际上不是这样的,两者都会有垃圾文件。
操作系统,就是操作各种文件的系统,它不可能没有日志文件,更不可能不产生临时文件,就像剪纸一样,临时产生一些废料是再自然不过的事情。
journalctl 命令自动维护文件大小

  1. 查看日志大小
[root@jiangli_online_app_toudao journal]# journalctl --disk-usage
Archived and active journals take up 112.0M on disk.
  1. 只保留1周日志
journalctl --vacuum-time=1w
  1. journalctl–日志查看
    在Systemd出现之前,Linux系统及各应用的日志都是分别管理的,Systemd开始统一管理了所有Unit的启动日志,
    systemd-journald 服务是 systemd init 系统提供的收集系统日志的服务,
    这样带来的好处是只用一个journalctl命令,就可以查看所有内核和应用的日志。

systemd-journald 服务收集到的日志默认保存在 /run/log 目录中,重启系统会丢掉以前的日志信息。

journalctl 命令格式为:journalctl [OPTIONS…] [MATCHES…]
journalctl 命令的路径为:/bin/journalctl

2 journalctl基本用法

journalctl -h 查看基本用法参数说明;
journalctl [-b] 查看所有日志,默认显示本次启动的所有日志,基本不用,因为太多了;
journalctl -k 查看内核日志;
journalctl -u 查看指定服务的日志;
journalctl --since --until 查看指定时间的日志,时间格式为"2020-05-13 13:14:00";
journalctl -n 指定显示最近的多少行,默认为10行;
journalctl -f 持续监控日志输出;
journal --no-pager 设置不分页显示;
journalctl -p 查看指定级别的日志;
  操作系统提供了从0 (emerg) 到 7 (debug) 一共7个级别的日志,含义如下:
  0: emerg
  1: alert
  2: crit
  3: err
  4: warning
  5: notice
  6: info
  7: debug

journal -o 设置输出格式,支持的各种格式如下:
  cat: 只显示信息字段本身。
  export: 适合传输或备份的二进制格式。
  json: 标准JSON,每行一个条目。
  json-pretty: JSON格式,适合人类阅读习惯。
  json-sse: JSON格式,经过打包以兼容server-sent事件。
  short: 默认syslog类输出格式。
  short-iso: 默认格式,强调显示ISO 8601挂钟时间戳。
  short-monotonic: 默认格式,提供普通时间戳。
  short-precise: 默认格式,提供微秒级精度。
  verbose: 显示该条目的全部可用journal字段,包括通常被内部隐藏的字段。

除了以上参数外,我们可以通过 “FIELD=VALUE” 的格式来匹配具体的日志记录,如_PID=1,也可以指定多个field或相同field的多个值来限制筛选;
日志信息的定义也类似一个实体类型,具体的信息被保存在各个对应的字段中,比如 MESSAGE、MESSAGE_ID、_PID、_UID 、_HOSTNAME、_SYSTEMD_UNIT 等等,
通过 man systemd.journal-fields 查看所有可以用来过滤的字段,对于用来筛选的字段,可以使用-F参数来查看所有可以用来过滤的值,例如 journalctl -F _PID。

3维护和配置

journalctl --disk-usage 查看日志占用的磁盘空间;
journalctl --vacuum-size=500M 设置日志占用的空间;
journalctl --vacuum-time=1month 设置日志保存的时间;
上面的一些维护动作,也可以通过配置参数设置,配置文件为/etc/systemd/journald.conf,常用参数如下:
SystemMaxUse=:指定journal所能使用的最高持久存储容量。
SystemKeepFree=:指定journal在添加新条目时需要保留的剩余空间。
SystemMaxFileSize=:控制单一journal文件大小,符合要求方可被转为持久存储。
RuntimeMaxUse=:指定易失性存储中的最大可用磁盘容量(/run文件系统之内)。
RuntimeKeepFree=:指定向易失性存储内写入数据时为其它应用保留的空间量(/run文件系统之内)。
RuntimeMaxFileSize=:指定单一journal文件可占用的最大易失性存储容量(/run文件系统之内)
通过设置上述值,大家可以控制 systemd-journald 服务对服务器空间的消耗及保留方式。

centos7中journal和rsyslog日志相关推荐

  1. centos7 修改连接数_centos7+rsyslog+loganalyzer+mysql 搭建rsyslog日志服务器 - 夜空守望者2020...

    在centos7系统中,默认的日志系统是rsyslog,它是一类unix系统上使用的开源工具,用于在ip网络中转发日志信息,rsyslog采用模块化设计,是syslog的替代品. 1.rsyslog特 ...

  2. Linux系统中的日志管理 ---systemd-journald日志(journalctl命令的用法)和 rsyslog 日志(自定义日志采集路径、更改日志采集格式和日志的远程同步)

    一.实验环境 Horizon_carry: 172.25.254.10 carry: 172.25.254.20 Horizon_carry & carry: systemctl stop f ...

  3. centos rsyslog mysql_centos7+rsyslog+loganalyzer+mysql 搭建rsyslog日志服务器

    一.简介 在centos7系统中,默认的日志系统是rsyslog,它是一类unix系统上使用的开源工具,用于在ip网络中转发日志信息,rsyslog采用模块化设计,是syslog的替代品. 1.rsy ...

  4. linux7 显示登陆,centos7 查看,修改登录日志

    centos7 查看,修改登录日志 查看登录信息 Linux中涉及到登录的二进制日志文件有 /var/run/utmp /var/log/wtmp /var/log/btmp /var/log/las ...

  5. rsyslog 日志管理服务

    一:日志的重要性 日志分类:系统日志,进程日志,应用程序日志 记录日志的用处: 排错,追溯事件,统计流量,审计安全行为 rsyslogd:只负责绝大部分日志记录,和系统操作有关,安全,认证,计划任务. ...

  6. 虚拟机安装日志服务器,rsyslog日志服务器搭建

    ##本人使用的vm workstation pro 安装的虚拟机,操作系统为centos 7.4,搭建rsyslog 日志服务器,将日志服务器与mysql数据库.loganalyzer安装在同一个台服 ...

  7. CentOS7中使用systemctl列出启动失败的服务

    列出启动失败的服务 # systemctl list-units --state failed 可以发现,有个两个服务启动失败了. is-failed选项 可以使用is-failed选项检查指定的服务 ...

  8. centos7中kubeadm方式搭建k8s集群(crio+calico)(k8s v1.21.0)

    文章目录 centos7中kubeadm方式搭建k8s集群(crio+calico)(k8s v1.21.0) 环境说明 注意事项及说明 1.版本兼容问题 2.镜像问题 安装步骤 安装要求 准备环境 ...

  9. Linux系统之部署Rsyslog 日志服务器

    Linux系统之部署Rsyslog 日志服务器 一.检查服务器系统版本 二.在master节点上配置 1.修改/etc/rsyslog.conf 2.开启日志服务 3.查看日志服务状态 4.关闭防火墙 ...

最新文章

  1. Postgresql 日志收集
  2. Java Web学习总结(11)JDBC
  3. java关键字与标识符 —(3)
  4. 《大数据》2015年第3期“研究”——大数据流式计算:应用特征和技术挑战
  5. 网络压缩《网络压缩论文整理》
  6. Pipeline Alpha版本项目展示
  7. 【轻量级网络】MobileNet-v1详解
  8. 虚拟化文件服务器,vmware服务器虚拟化项目实施文档(1)
  9. IO流——字节流、字符流
  10. 创建私有 Gems 源
  11. MSN登录问题:Error 80072ee7
  12. 工具:数据库设计ER图
  13. IT行业必须知道的基础知识
  14. 服务器ftp查看文件,ftp命令查看文件列表 - 卡饭网
  15. MySQL中用给出的生日查询年龄的方法
  16. 软件测试好学吗 入门还是很好学的,但想要深造就还是要费功夫
  17. 我的世界基岩版json_我的世界基岩版1.12指令大全 中国版指令大全列表
  18. YOLOv3 ubuntu 配置及训练自己的VOC格式数据集
  19. 【论文阅读ACL2020】Leveraging Graph to Improve Abstractive Multi-Document Summarization
  20. uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了

热门文章

  1. 站上新风口的区块链:虚火还是实火 到底有多神奇?
  2. 2019年余姚市小学生程序设计竞赛复赛 字母表
  3. table 列表前端操作保留状态,实现来回切换返显
  4. FAST-LIVO论文翻译
  5. 【公告 | 阿布扎比全球市场为中东和北非地区推出加密资产框架】
  6. win与linux谁运行快,Linux、Windows,谁速度更快
  7. 【大咖有约】Garena 黄智凯:利用Docker构建自动化运维平台
  8. 一步一步教你制作销售业绩分析报告
  9. 一种为MP3生成字幕文件的方法
  10. php富友接口对接http请求