设为首页 收藏本站
查看: 795|回复: 0

[经验分享] 日志巡检

[复制链接]

尚未签到

发表于 2017-11-22 20:01:05 | 显示全部楼层 |阅读模式
  Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。
  完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。
  例如,为了方便查阅,可以把内核信息与其他信息分开,单独保存到一个独立的日志文件中。默认配置下,日志文件通常都保存在“/var/log”目录下。

日志类型
  下面是常见的日志类型,但并不是所有的Linux发行版都包含这些类型:

类型说明

auth
用户认证时产生的日志,如login命令、su命令。


authpriv
与 auth 类似,但是只能被特定用户查看。


console
针对系统控制台的消息。


cron
系统定期执行计划任务时产生的日志。


daemon
某些守护进程产生的日志。


ftp
FTP服务。


kern
系统内核消息。


local0.local7
由自定义程序使用。


lpr
与打印机活动有关。


mail
邮件日志。


mark
产生时间戳。系统每隔一段时间向日志文件中输出当前时间,每行的格式类似于 May 26 11:17:09 rs2 -- MARK --,可以由此推断系统发生故障的大概时间。


news
网络新闻传输协议(nntp)产生的消息。


ntp
网络时间协议(ntp)产生的消息。


user
用户进程。


uucp
UUCP子系统。

日志优先级
  常见的日志优先级请见下标:

优先级说明

emerg
紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户。


alert
需要立即修复,例如系统数据库损坏。


crit
危险情况,例如硬盘错误,可能会阻碍程序的部分功能。


err
一般错误消息。


warning
警告。


notice
不是错误,但是可能需要处理。


info
通用性消息,一般用来提供有用信息。


debug
调试程序产生的信息。


none
没有优先级,不记录任何日志消息。

常用日志文件
  系统日志是由一个名为syslog的服务管理的,如以下日志文件都是由syslog日志服务驱动的:
  /var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
  /var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息
  /var/log/messages :记录Linux操作系统常见的系统和服务错误信息
  /var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
  /var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址
  /var/log/syslog:只记录警告信息,常常是系统出问题的信息,使用lastlog查看
  /var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
  /var/run/utmp:该日志文件记录有关当前登录的每个用户的信息。如 who、w、users、finger等就需要访问这个文件
  /var/log/syslog 或 /var/log/messages 存储所有的全局系统活动数据,包括开机信息。基于 Debian 的系统如 Ubuntu 在 /var/log/syslog 中存储它们,而基于 RedHat 的系统如 RHEL 或 CentOS 则在 /var/log/messages 中存储它们。
/var/log/auth.log 或 /var/log/secure 存储来自可插拔认证模块(PAM)的日志,包括成功的登录,失败的登录尝试和认证方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存储认证信息,而 RedHat 和 CentOS 则在 /var/log/secure 中存储该信息。

日志文件详细介绍
  /var/log/boot.log
  该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
  /var/log/syslog
  默认Centos,Fedora不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。
  它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。
  要让系统生成该日志文件,在/etc/syslog.conf文件中加上:*.warning /var/log/syslog 该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息。
  该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成。在每次用户登录时被查询,该文件是二进制文件,需要使用lastlog命令查看,根据UID排序显示登录名、端口号和上次登录时间。如果某用户从来没有登录过,就显示为"**Never logged in**"。该命令只能以root权限执行。简单地输入lastlog命令后就会看到类似图4的信息:











[iyunv@TestStation etc]# lastlog

Username         Port     From             Latest

root             pts/0    110.87.109.232   Wed Nov  2 10:34:20 +0800 2016

bin                                        **Never logged in**

daemon                                     **Never logged in**

adm                                        **Never logged in**

lp                                         **Never logged in**

sync                                       **Never logged in**

shutdown                                   **Never logged in**

halt                                       **Never logged in**

mail                                       **Never logged in**

uucp                                       **Never logged in**

operator                                   **Never logged in**

games                                      **Never logged in**

gopher                                     **Never logged in**

ftp                                        **Never logged in**

nobody                                     **Never logged in**

vcsa                                       **Never logged in**

saslauth                                   **Never logged in**

postfix                                    **Never logged in**

sshd                                       **Never logged in**

ntp                                        **Never logged in**

suda             pts/2    222.79.79.120    Tue Oct 25 16:00:01 +0800 2016
  /var/log/wtmp
  该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。
  /var/run/utmp
  该日志文件记录有关当前登录的每个用户的信息。因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。系统中需要查询当前用户状态的程序,如 who、w、users、finger等就需要访问这个文件。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新 utmp记录,因此该日志文件的记录不是百分之百值得信赖的。
  以上提及的3个文件(/var/log/wtmp、/var/run/utmp、/var/log/lastlog)是日志子系统的关键文件,都记录了用户登录的情况。这些文件的所有记录都包含了时间戳。这些文件是按二进制保存的,故不能用less、cat之类的命令直接查看这些文件,而是需要使用相关命令通过这些文件而查看。其中,utmp和wtmp文件的数据结构是一样的,而lastlog文件则使用另外的数据结构,关于它们的具体的数据结构可以使用man命令查询。
  每次有一个用户登录时,login程序在文件lastlog中查看用户的UID。如果存在,则把用户上次登录、注销时间和主机名写到标准输出中,然后login程序在lastlog中记录新的登录时间,打开utmp文件并插入用户的utmp记录。该记录一直用到用户登录退出时删除。utmp文件被各种命令使用,包括who、w、users和finger。
  下一步,login程序打开文件wtmp附加用户的utmp记录。当用户登录退出时,具有更新时间戳的同一utmp记录附加到文件中。wtmp文件被程序last使用。
  /var/log/secure



# 查看/var/log/secure是否有试探登陆得ip
grep "Failed password " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409623-1-1.html 上篇帖子: 转载 【Linux】Linux中常用操作命令 下篇帖子: linux运维、架构之路-cobbler无人值守
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表