Linux日志管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux日志管理相关的知识,希望对你有一定的参考价值。

一、日志管理


日志:一个文件,记录当前系统、用户、程序的工作状态

1.目录位置

(1)系统、用户、RPM(YUM)安装:/var/log/目录下
(2)源码安装:安装目录下,log目录
(3)anaconda(响应程序,用于运行图形化安装向导),安装过程产生日志/var/log/anaconda.*

anaconda快捷键:Ctrl+Alt+F3(查看安装过程中网络情况)、Ctrl+Alt+F4(查看安装过程中内核情况)、Ctrl+Alt+F5(查看安装过程中的详细安装情况)、Ctrl+Alt+F6(回到安装向导)

2.日志文件分类

二进制日志文件:不能支持查看,只能通过特有命令调用日志文件查看
普通文件日志:可直接查看,如cat、tail -f等

(1)常见系统日志

/var/log/anaconda.*     //记录系统安装系统中相关运行情况
/var/log/audit/         //记录audit(审计)情况
/var/log/boot.log           //记录启动过程中的内核情况
/var/log/btmp           //记录所有用户登陆失败的信息(该日志文件不能直接查看)
/var/log/ConsoleKit/        //记录终端相关情况
/var/log/cron           //记录crontab计划任务情况
/var/log/dmesg          //记录引导过程中相关硬件工作情况
/var/log/dracut.log         //记录initramfs(小型Linux系统)状态
/var/log/lastlog            //记录用户登陆信息
/var/log/maillog            //记录邮件情况
/var/log/messages           //记录内核、系统、程序等综合性情况
/var/log/ntpstats/          //记录ntp时间同步信息
/var/log/prelink/           //记录prelink程序工作情况(预链接工具)
/var/log/wtmp           //记录所有用户登陆成功的信息
/var/log/sa/            //记录sar(性能统计工具,分析性能)情况
/var/log/secure         //记录hu安全认证情况(PAM认证)、一般记录密码情况
/var/log/spooler            //保存特殊文件的情况,并只记录crit级别日志
/var/log/tallylog           //记录pam认证相关内容
/var/log/yum.log            //记录yum安装情况

(2)wtmp、btmp、lastlog日志文件查看

lastlog  //查看系统登录成功情况(读取/var/log/wtmp)
last或logb  //查看系统登录失败的信息(读取/var/log/btmp)
w或who  //查看当前已登录用户信息(读取/var/log/lastlog)

3.日志格式

(1)Jun 25 10:16:53 hiahia abrtd:init complete.entering main loop
发生时间 主机名 程序名:事件
(2)08:33:24,071 INFO      :Copying anaconda logs 
发生时间 日志级别/程序名:事件

4.日志级别

0(EMERG)紧急:系统不可用
1(ALERT)警告:必须马上采取措施
2(CRIT)严重:比较严重的错误
3(ERR)错误:软件运行出现错误
4(WARNING)提醒:可能影响系统功能,给出用户提醒
5(NOTICE)注意:不会影响系统功能,给出用户提醒
6(INFO)信息:一般信息
7(DEBUG)调试:程序或系统调试信息

注:一般程序记录日志级别为3、4、6、7比较常见

二、远程日志管理案例


部署服务端

1.关闭防火墙和selinux

/etc/init.d/iptables stop           //清空防火墙规则
setenforce 0                //临时允许Selinux

2.开启rsyslog服务的514号端口

vim  /etc/rsyslog.conf
:se nu(显示行号)
$ModLoad  imudp         //13行,删除#
$UDPServerRun 514       //14行,删除#
$ModLoad  imtcp         //17行,删除#
$InputTCPServerRun  514     //18行,删除#

3.编写配置文件

grep  fromhost  -r  /usr/share/doc/rsyslog*
vim  /etc/rsyslog.d/remote.conf    //新建配置文件
  :fromhost-ip,isequal,  "192.168.12.41"  /var/log/remote-1.log    //客户端服务器的IP地址
  :fromhost-ip,isequal,  "192.168.12.41"  ~                 ## 添加~后客户端的信息只保存在上面的文件中
  :fromhost-ip,isequal,  "192.168.12.42"  /var/log/remote-2.log
  :fromhost-ip,isequal,  "192.168.12.42"  ~     
/etc/init.d/rsyslog  restart     //重启远程日志文件
netstat -utpln |grep 514     //查看是否开启服务的514端口

部署客户端-1

1.关闭防火墙和selinux

/etc/init.d/iptables stop       //清空防火墙规则
setenforce 0                //临时允许Selinux

2.编辑配置文件

vim  /etc/rsyslog.conf      ##注释定义存到本地日志文件的行(34-61)    :34,63s/^/#/g
*.* @@(o)192.168.12.40:514      ##79行,,两个@是走TCP(o)是为后面的端口号用
/etc/init.d/rsyslog  restart   //重启远程日志服务

部署客户端-2

1.关闭防火墙和selinux

/etc/init.d/iptables stop       //清空防火墙规则
setenforce 0                //临时允许Selinux

2.编辑配置文件

vim  /etc/rsyslog.conf      ##注释定义存到本地日志文件的行(34-61)    :34,63s/^/#/g(如不注释则本地远程各存一个日志信息)
*.* @@(o)192.168.12.40:514      ##79行,,两个@是走TCP(o)是为后面的端口号用
/etc/init.d/rsyslog  restart   //重启远程日志服务

验证

客户端-1:logger "123"          //去服务端(tail -f /var/log/remote-1.log)查看
客户端-2:logger "123"          //去服务端(tail -f /var/log/remote-2.log)查看

以上是关于Linux日志管理的主要内容,如果未能解决你的问题,请参考以下文章

执行代码时有时不显示对话框片段

Linux实操篇—— 日志管理

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

linux 日志管理

Linux学习之日志管理(二十一)

Linux 日志管理