sudo dmesg > message.txt
打印最近一次的信息
sudo dmesg | tail -f
Linux系统启动后,由/etc/init.d/sysklogd先后启动klogd,syslogd两个守护进程。
- klogd:kernel,记录内核干系的日志 - syslogd:service,记录运用程序的日志

利用klogd读取内核信息有两种办法:
syslog()函数读取/proc/kmsg/得到内核printk()发出的信息。klogd的输出结果会传送给syslogd进行处理,syslogd会根据/etc/syslog.conf的配置把log信息输出到/var/log/下的不同文件中.
4. 常用的系统日志文件/var/log/boot.log记录本次开机时的启动信息,包括内核检测硬件、各种内核支持的功能等。
/var/log/cron 操持任务的日志/var/log/dmesg系统启动时,内核检测过程中产生的信息。
/var/log/lastlog记录账号末了一次上岸信息。
/var/log/maillog或/var/log/mail/邮件往来记录。
/var/log/messages记录很多信息,系统有问题时的必查文件。
/var/log/secure记录一些账号上岸信息,如pop3、ssh、telnet、ftp上岸信息。
/var/log/wtmp,/var/log/faillog成功与失落败上岸的记录。
/var/log/httpd/,/var/log/samba/一些网络做事产生的日志。
5. syslogdsyslogd是一个分发器,它将吸收到的所有日志按照/etc/syslog.conf的配置策略发送到这些日志该当去的地方,当然也包括从klogd吸收到的日志。klogd首先吸收内核的日志,然后将之发送给syslogd。syslog函数原型:
syslog(priority, "%s", string);
二、Rsyslog做事网络日志1. Rsyslog做事解释
Rsyslog是Linux下强大而安全的日志处理系统。
Rsyslog可以单机运行,也可以C/S办法运行。
单机模式下,日志信息发送到本机的Rsyslog做事中,Rsyslog做事将日志记录到本地存储中;C/S模式下,做事端和客户端都启动Rsyslog进程,客户端向做事端指定的Rsyslog端口发送日志。2. 在Deepin或Ubuntu系统上安装Rsyslog# 安装sudo apt install rsyslogrsyslogd -v# 查看状态systemctl status rsyslog.service# 重启systemctl restart rsyslog.service# 启动systemctl start rsyslog.service
配置文件:
vim /etc/rsyslog.conf##################### MODULES ###################### 开启UDP端口module(load="imudp")input(type="imudp" port="514")# 开启TCP端口module(load="imtcp")input(type="imtcp" port="514")# 可选配置--用于限定特定子网、IP等的访问$AllowedSender TCP, 127.0.0.1, 10.10.10.0/8, .xiem.com
做事器端要配置放行指定的端口号。
客户端vim /etc/rsyslog.conf$PreserveFQDN on # 许可主机名保留FQDN##Enable sending of logs over UDP add the following line:# 配置利用UDP发送. @做事器ip或域名:514 # 添加远程RSYSLOG做事器##Enable sending of logs over TCP add the following line:# 配置利用TCP发送. @@做事器ip或域名:514# 配置当做事端不在线时的处理办法:进行本地缓存$ActionQueueFileName queue$ActionQueueMaxDiskSpace 1g$ActionQueueSaveOnShutdown on$ActionQueueType LinkedList$ActionResumeRetryCount -1
2.3.2 查看日志
ls /var/log/rsyslog-client/
2.3.3 查看做事端监听的端口
netstat -4altunp | grep 514
三、logrotate 日志管理工具1. logrotate解释
logrotate是一个Linux系统日志的管理工具。它可以切割、压缩等其他软件的日志文件软件。logrotate是基于crontab运行的,以是这个韶光点是由crontab掌握的,其脚本是/etc/cron.daily/logrotate。Logrotate会调用配置文件/etc/logrotate.conf。可以在/etc/logrotate.d目录里放置自定义好的配置文件,用来覆盖Logrotate的缺省值。
2. CentOS利用logrotate切分nginx日志示例:yum -y install logrotate
查看配置文件位置:
rpm -ql logrotate
个中:
/etc/logrotate.conf logrotate的配置文件是/etc/logrotate.d/ 是用于存储其他配置文件的目录我们紧张用它来切分nginx日志。
vim /etc/logrotate.d/nginx
/var/log/nginx/.log {dailyrotate 7missingoknotifemptydateextcompresssharedscriptspostrotate if [ -f /run/nginx.pid ]; then kill -USR1 `cat /run/nginx.pid` fiendscript}
个中 /var/log/nginx/.log /run/nginx.pid要以 log位置和nginx.conf里 pid的实际位置为准。
生产做事器 pid /var/run/nginx.pid;测试做事器 pid /run/nginx.pid手工运行:
/usr/sbin/logrotate -f /etc/logrotate.d/nginx/usr/sbin/logrotate -d -f /etc/logrotate.d/nginx
四、logwatch日志剖析工具
logwatch 是一个Perl编写的开源日志剖析器,可以对原始的日志文件进行解析并转换成构造化文档。
五、logger在写bash时可以用来记录标准日志信息。
六、阿里云日志做事阿里云日志做事给集中化日志管理供应了一个新的办理方案。其做事类似于ELK(Elasticsearch、Kibana 和 Logstash),支持多种数据数据的接入。
利用此做事须要在客户机安装阿里的logtail客户端。支持正则表达式等多种查询办法,也支持API接入。