Linux系统的日志管理
Linux系統的日志管理
- 一、systemd-journald服務
- 1.systemd-journald介紹
- 2.系統日志默認保存路徑
- 3.systemd-journald的配置文件修改
- ①配置文件目錄
- ②配置文件修改
- 4.檢索日志消息
- ①journalctl命令的相關選項
- ②示例
- 二、rsyslog服務
- 1.日志保存相關路徑
- 2.日志消息的類型
- 3.日志消息優先級
- 4.自定義日志規則
- ①日志定義的格式
- 三、日志查看
- 四、日志服務器搭建
- 1.日志服務器介紹
- 2.服務端配置
- ①修改服務端配置文件
- ②重啟服務及防火墻關閉
- 3.客戶端配置
- ①修改配置文件
- ②重啟服務
- 4.測試日志
- 五、日志輪詢
- 1.logrotate介紹
- 2.日志目錄查看
一、systemd-journald服務
1.systemd-journald介紹
# 系統時間日志的核心服務 # 收集包括來自內核,早期引導階段啊,進程啟動,運行時的標準輸出和錯誤輸出,以及syslog時間等 # 保存在二進制的日志文件中,具有易失性,重啟后不保存2.系統日志默認保存路徑
保存目錄為/run/log/journal
[root@tianyi 4f596c775d924b618367d1c448fd5578]# pwd /run/log/journal/4f596c775d924b618367d1c448fd5578 [root@tianyi 4f596c775d924b618367d1c448fd5578]# ls system@f51ef91c90ff4fd48133fe727841edb8-000000000011b8bf-0005c7be331e995d.journal system@f51ef91c90ff4fd48133fe727841edb8-000000000011d6a0-0005c7c4724c57e6.journal system@f51ef91c90ff4fd48133fe727841edb8-000000000011f42f-0005c7cab33cc55b.journal system@f51ef91c90ff4fd48133fe727841edb8-0000000000121201-0005c7cf0099fa95.journal system@f51ef91c90ff4fd48133fe727841edb8-0000000000122fca-0005c7db1bc72be2.journal system@f51ef91c90ff4fd48133fe727841edb8-0000000000124d63-0005c7e173a7688d.journal system@f51ef91c90ff4fd48133fe727841edb8-0000000000126bf3-0005c7e70d3d55d0.journal system@f51ef91c90ff4fd48133fe727841edb8-0000000000128a4c-0005c7ebf2c2f08f.journal system@f51ef91c90ff4fd48133fe727841edb8-000000000012a845-0005c7ef788f2d0b.journal system@f51ef91c90ff4fd48133fe727841edb8-000000000012c602-0005c7f31a53c98f.journal system@f51ef91c90ff4fd48133fe727841edb8-000000000012e3d8-0005c7f8cdf9eace.journal system.journal3.systemd-journald的配置文件修改
①配置文件目錄
/etc/systemd/journald.conf②配置文件修改
persistent: 將日志存儲在/var/log/journal目錄中,若該目錄不存在,則systemd-journald服務自動創建。
volatile: 將日志存儲在易失性的目錄/run/log/journal目錄中,若該目錄不存在,則systemd-journald服務自動創建。
auto: 如果/var/log/journal目錄存在,那么rsyslog會使用持久存儲,否則為易失性存儲,此為默認配置。
4.檢索日志消息
①journalctl命令的相關選項
-n 指定顯示末尾幾條消息,默認最后10條日志消息 -f 與tail -f 命令相似 -p 指定顯示某個優先級以上的日志 --since或者--until 限制特定的時間段,時間格式為“YYYY-MM-DD hh:mm:ss”等 -o verbose 查看日志的詳細信息 _PID 進程的PID _UID 運行該進程的用戶ID _SYSTEMD_UNIT 啟動該進程的systemd單元 _COMM 指定命令的名稱 _EXE 京城的可執行文件的路徑②示例
[root@tianyi systemd]# journalctl -n 5 _SYSTEMD_UNIT=sshd.service -- Logs begin at Fri 2021-07-23 06:56:38 CST, end at Mon 2021-07-26 23:20:45 CST. -- Jul 26 23:20:33 tianyi sshd[10011]: pam_unix(sshd:auth): check pass; user unknown Jul 26 23:20:33 tianyi sshd[10011]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=1.117.46.219 Jul 26 23:20:36 tianyi sshd[10011]: Failed password for invalid user vbox from 1.117.46.219 port 41028 ssh2 Jul 26 23:20:36 tianyi sshd[10011]: Received disconnect from 1.117.46.219 port 41028:11: Bye Bye [preauth] Jul 26 23:20:36 tianyi sshd[10011]: Disconnected from invalid user vbox 1.117.46.219 port 41028 [preauth二、rsyslog服務
1.日志保存相關路徑
/var/log/message 系統絕大多數的日志文件都會記錄在該文件中
/var/log/secure 記錄與安全相關的日志,比如創建用戶,修改密碼,切換用戶等操作
/var/log/cron 記錄與計劃任務相關
/var/log/maillog 記錄與郵件相關的日志
/var/log/boot.log 記錄與啟動相關的
2.日志消息的類型
lpr: 打印相關的日志
auth:認證相關的日志
user:用戶相關的日志
cron:計劃任務相關的日志
kern:內核相關的日志
mail:郵件相關的日志
daemon:系統服務相關的日志
authpri:授權相關的日志
security:安全相關的日志
local0-local7:自定義相關的日志信息
3.日志消息優先級
| 優先級 | 代碼 | 嚴重性 |
| none | 無 | 不記錄任何信息 |
| emerg | 0 | 內核崩潰等嚴重信息 |
| alert | 1 | 需要立即修改的信息 |
| crit | 2 | 嚴重錯誤級別 |
| err | 3 | 錯誤級別 |
| warning | 4 | 警告級別 |
| notice | 5 | 具有重要性的普通信息 |
| info | 6 | 一般信息 |
| warning | 7 | 調試信息 |
4.自定義日志規則
①日志定義的格式
facility.priority Target mail.info /var/log/maillog 比指定級別更高的日志級別,包括級別自身,保存到 /var/log/maillog mail.=info /var/log/maillog 明確指定級別為info,保存到/var/log/maillog mail.!info /var/log/maillog 除了指定的日志級別以外的級別,都保存到/var/log/maillog *.info info /var/log/maillog 所有類型的info級別都保存到/var/log/maillog mail.* /var/log/maillog mail類型的所有級別日志都保存到/var/log/maillog三、日志查看
[root@tianyi log]# grep -E -C 5 '(err|not|no)' messages Jul 25 05:44:39 tianyi systemd[1]: dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.device: Job dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.device/start timed out. Jul 25 05:44:39 tianyi systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.device. Jul 25 05:44:39 tianyi systemd[1]: Dependency failed for /dev/disk/by-uuid/c30fcda5-d830-4c90-b818-831e33389b2e. Jul 25 05:44:39 tianyi systemd[1]: dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.swap: Job dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.swap/start failed with result 'dependency'. Jul 25 05:44:39 tianyi systemd[1]: dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.device: Job dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.device/start failed with result 'timeout'. Jul 25 07:40:57 tianyi rsyslogd[1750]: imjournal: sd_journal_get_cursor() failed: Cannot assign requested address [v8.37.0-9.el8] Jul 25 07:40:57 tianyi rsyslogd[1750]: imjournal: journal reloaded... [v8.37.0-9.el8 try http://www.rsyslog.com/e/0 ] Jul 25 07:41:56 tianyi systemd[1]: Starting dnf makecache... Jul 25 07:42:02 tianyi dnf[6483]: Docker CE Stable - x86_64 690 B/s | 3.5 kB 00:05 Jul 25 07:42:07 tianyi dnf[6483]: Zabbix 590 B/s | 2.9 kB 00:05 Jul 25 07:42:12 tianyi dnf[6483]: huawei-AppStream 875 B/s | 4.3 kB 00:05 -- Jul 25 13:17:42 tianyi NetworkManager[1936]: <info> [1627190262.1609] dhcp4 (eth0): hostname 'host-192-168-1-209' Jul 25 13:17:42 tianyi NetworkManager[1936]: <info> [1627190262.1609] dhcp4 (eth0): gateway 192.168.1.1 Jul 25 13:17:42 tianyi NetworkManager[1936]: <info> [1627190262.1609] dhcp4 (eth0): static route 169.254.169.254/32 gw 192.168.1.254 Jul 25 13:17:42 tianyi NetworkManager[1936]: <info> [1627190262.1609] dhcp4 (eth0): mtu 1500 Jul 25 13:17:42 tianyi NetworkManager[1936]: <info> [1627190262.1611] dhcp4 (eth0): state changed bound -> bound Jul 25 13:17:42 tianyi dbus-daemon[614]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.33' (uid=0 pid=1936 comm="/usr/sbin/NetworkManager --no-daemon ") Jul 25 13:17:42 tianyi systemd[1]: Starting Network Manager Script Dispatcher Service... Jul 25 13:17:42 tianyi dbus-daemon[614]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher' Jul 25 13:17:42 tianyi systemd[1]: Started Network Manager Script Dispatcher Service. Jul 25 13:17:42 tianyi nm-dispatcher[11673]: req:1 'dhcp4-change' [eth0]: new request (5 scripts) Jul 25 13:17:42 tianyi nm-dispatcher[11673]: req:1 'dhcp4-change' [eth0]: start running ordered scripts... Jul 25 13:19:12 tianyi systemd[1]: dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.device: Job dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.device/start timed out. Jul 25 13:19:12 tianyi systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-c30fcda5\x2dd830\x2d4c90\x2db818\x2d831e33389b2e.device.四、日志服務器搭建
1.日志服務器介紹
rstslog是一個C/S架構,可以基于TCP和UDP工作,默認監聽端口為514
2.服務端配置
①修改服務端配置文件
[root@IT-01 log]# vim /etc/rsyslog.conf module(load="imudp") # needs to be done just once input(type="imudp" port="514")# Provides TCP syslog reception # for parameters see http://www.rsyslog.com/doc/imtcp.html module(load="imtcp") # needs to be done just once input(type="imtcp" port="514")②重啟服務及防火墻關閉
[root@IT-01 log]# systemctl restart rsyslog.service [root@IT-01 log]# systemctl stop firewalld3.客戶端配置
①修改配置文件
vim /etc/rsyslog.conf *.info @192.168.200.129②重啟服務
[root@node1 ~]# systemctl restart rsyslog.service4.測試日志
服務端查看
[root@IT-01 log]# tail -n 5 /var/log/messages Jul 27 00:03:02 node1 dnf[3099]: Repository AppStream is listed more than once in the configuration Jul 27 00:03:02 node1 dnf[3099]: Repository BaseOS is listed more than once in the configuration Jul 27 00:03:02 node1 dnf[3099]: Repository AppStream is listed more than once in the configuration Jul 27 00:03:02 node1 dnf[3099]: Repository BaseOS is listed more than once in the configuration Jul 27 00:03:13 node1 dnf[3099]: CentOS-8 - AppStream - mirrors.aliyun.com 0.0 B/s | 0 B 00:10五、日志輪詢
1.logrotate介紹
logrotate工具會輪詢日志文件,防止日志文件占用過多的系統空間。
配置文件 [root@IT-01 log]# /etc/logrotate.d/* [root@IT-01 log]# /etc/logrotate.conf2.日志目錄查看
[root@IT-01 log]# ls anaconda cron firewalld maillog-20210623 qemu-ga spooler-20210725 vmware-network.9.log audit cron-20210623 gdm maillog-20210707 rhsm sssd vmware-network.log boot.log cron-20210707 glusterfs maillog-20210717 samba swtpm vmware-vgauthsvc.log.0 boot.log-20210506 cron-20210717 hawkey.log maillog-20210725 secure tuned vmware-vmsvc-root.log boot.log-20210507 cron-20210725 hawkey.log-20210623 messages secure-20210623 vmware vmware-vmtoolsd-root.log boot.log-20210508 cups hawkey.log-20210707 messages-20210623 secure-20210707 vmware-network.1.log vmware-vmusr-root.log boot.log-20210511 dnf.librepo.log hawkey.log-20210717 messages-20210707 secure-20210717 vmware-network.2.log wtmp boot.log-20210531 dnf.librepo.log-20210623 hawkey.log-20210725 messages-20210717 secure-20210725 vmware-network.3.log zabbix boot.log-20210613 dnf.librepo.log-20210707 httpd messages-20210725 speech-dispatcher vmware-network.4.log boot.log-20210722 dnf.librepo.log-20210717 lastlog mysql spooler vmware-network.5.log btmp dnf.librepo.log-20210725 libvirt php-fpm spooler-20210623 vmware-network.6.log btmp-20210707 dnf.log mail ppp spooler-20210707 vmware-network.7.log chrony dnf.rpm.log maillog private spooler-20210717 vmware-network.8.log 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Linux系统的日志管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下的文件系统
- 下一篇: Linux系统的进程管理