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日志管理的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情