linux监控日志命令 linux日志监控软件有哪些

linux服务器中怎么查看日志内容登录
kbkiss
Linux查看日志常用命令
1.查看日志常用命令
tail:
-n是显示行号;相当于nl命令;例子如下:
tail -100f test.log实时监控100行日志
tail-n10test.log查询日志尾部最后10行的日志;
tail -n10 test.log查询10行之后的所有日志;
head:
跟tail是相反的 , tail是看后多少行日志;例子如下:
head -n 10test.log查询日志文件中的头10行日志;
head -n -10test.log查询日志文件除了最后10行的其他所有日志;
cat:
tac是倒序查看,是cat单词反写;例子如下:
cat -n test.log |grep "debug"查询关键字的日志
2. 应用场景一:按行号查看---过滤出关键字附近的日志
1)cat -n test.log |grep "debug"得到关键日志的行号
2)cat -n test.log |tail -n92|head -n 20选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:
tail -n92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
3. 应用场景二:根据日期查询日志
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;
先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点
4.应用场景三:日志内容特别多,打印在屏幕上不方便查看
(1)使用more和less命令,
如: cat -n test.log |grep "debug" |more这样就分页打印了,通过点击空格键翻页
(2)使用 xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
如:cat -n test.log |grep "debug"debug.txt
linux查看日志的命令是?具体怎么用tail -f 日志文件路径主要用于查看实时的日志记录 , 属于动态记录查看 。
cat日志路径主要用于查看静态的历史日志记录,一般跟路径名称,常见的这周类型的日志记录一般用管道符进行过滤筛选自己所需的记录 。
dmesg主要用于调试脚本或者命令,出现异常中断来排查错误原因显示的 。
tail-n10test.log , 查询日志尾部最后10行的日志 。
tail -n10 test.log,查询10行之后的所有日志 。
head -n 10test.log,查询日志文件中的头10行日志 。
head -n -10test.log,查询日志文件除了最后10行的其他所有日志 。
操作命令
首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos 。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令 。
例如dos命令就是控制台命令 。要了解的是基于Linux操作系统的基本控制台命令 。有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的 。
如何查看linux系统的进程监控日志cat /var/log/*.log
如果日志在更新,如何实时查看 tail -f /var/log/messages
还可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次 。
该指令,不会直接返回命令行 , 而是实时打印日志文件中新增加的内容,这一特性,对于查看日志是非常有效的 。如果想终止输出 , 按 Ctrl C 即可 。
在Linux系统中 , 有三个主要的日志子系统:
连接时间日志--由多个程序执行 , 把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统 。
进程统计--由系统内核执行 。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录 。进程统计的目的是为系统中的基本服务提供命令使用统计 。
错误日志--由syslogd(8)执行 。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件 。另外有许多UNIX程序创建日志 。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志 。
常用的日志文件如下:
access-log 纪录HTTP/web的传输
acct/pacct 纪录用户命令
aculog 纪录MODEM的活动
btmp纪录失败的纪录
lastlog纪录最近几次成功登录的事件和最后一次不成功的登录
messages从syslog中记录信息(有的链接到syslog文件)系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
sudolog 纪录使用sudo发出的命令
sulog 纪录使用su命令的使用
syslog 从syslog中记录信息(通常链接到messages文件)
utmp纪录当前登录的每个用户
wtmp一个用户每次登录进入和退出时间的永久纪录
xferlog 纪录FTP会话
/var/log/secure与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键--保持用户登录进入和退出的纪录 。有关当前登录用户的信息记录在文件utmp中;登录进入和退出纪录在文件wtmp中;最后一次登录文件可以用lastlog命令察看 。数据交换、关机和重起也记录在wtmp文件中 。所有的纪录都包含时间戳 。这些文件(lastlog通常不大)在具有大量用户的系统中增长十分迅速 。例如wtmp文件可以无限增长,除非定期截取 。许多系统以一天或者一周为单位把wtmp配置成循环使用 。它通常由cron运行的脚本来修改 。这些脚本重新命名并循环使用wtmp文件 。通常,wtmp在第一天结束后命名为wtmp.1;第二天后wtmp.1变为wtmp.2等等,直到wtmp.7 。
每次有一个用户登录时,login程序在文件lastlog中察看用户的UID 。如果找到了,则把用户上次登录、退出时间和主机名写到标准输出中 , 然后login程序在lastlog中纪录新的登录时间 。在新的lastlog纪录写入后,utmp文件打开并插入用户的utmp纪录 。该纪录一直用到用户登录退出时删除 。utmp文件被各种命令文件使用,包括who、w、users和finger 。
下一步,login程序打开文件wtmp附加用户的utmp纪录 。当用户登录退出时,具有更新时间戳的同一utmp纪录附加到文件中 。wtmp文件被程序last和ac使用 。
具体命令
wtmp和utmp文件都是二进制文件,他们不能被诸如tail命令剪贴或合并(使用cat命令) 。用户需要使用who、w、users、last和ac来使用这两个文件包含的信息 。
who:who命令查询utmp文件并报告当前登录的每个用户 。Who的缺省输出包括用户名、终端类型、登录日期及远程主机 。例如:who(回车)显示
chyang pts/0 Aug 18 15:06
ynguo pts/2 Aug 18 15:32
ynguo pts/3 Aug 18 13:55
lewis pts/4 Aug 18 13:35
ynguo pts/7 Aug 18 14:12
ylou pts/8 Aug 18 14:15
如果指明了wtmp文件名,则who命令查询所有以前的纪录 。命令who /var/log/wtmp将报告自从wtmp文件创建或删改以来的每一次登录 。
w:w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息 。例如:w(回车)显示:3:36pm up 1 day, 22:34, 6 users, load average: 0.23, 0.29, 0.27 。
USER TTYFROM LOGIN@ IDLE JCPU PCPUWHAT
chyang pts/0 202.38.68.2423:06pm 2:04 0.08s 0.04s -bash
ynguo pts/2 202.38.79.47 3:32pm 0.00s 0.14s 0.05 w
lewis pts/3 202.38.64.2331:55pm 30:39 0.27s 0.22s -bash
lewis pts/4 202.38.64.2331:35pm 6.00s 4.03s 0.01s sh /home/users/
ynguo pts/7 simba.nic.ustc.e 2:12pm 0.00s 0.47s 0.24s telnet mail
yloupts/8 202.38.64.2352:15pm 1:09m 0.10s 0.04s-bash
users:users用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话 。如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数 。例如:users(回车)显示:chyang lewis lewis ylou ynguo ynguo
last:last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户 。例如:
chyang pts/9202.38.68.242 Tue Aug 1 08:34 - 11:23 (02:49)
cfanpts/6202.38.64.224 Tue Aug 1 08:33 - 08:48 (00:14)
chyang pts/4202.38.68.242 Tue Aug 1 08:32 - 12:13 (03:40)
lewis pts/3202.38.64.233 Tue Aug 1 08:06 - 11:09 (03:03)
lewis pts/2202.38.64.233 Tue Aug 1 07:56 - 11:09 (03:12)
如果指明了用户,那么last只报告该用户的近期活动,例如:last ynguo(回车)显示:
ynguopts/4 simba.nic.ustc.e Fri Aug 4 16:50 - 08:20 (15:30)
ynguopts/4 simba.nic.ustc.e Thu Aug 3 23:55 - 04:40 (04:44)
ynguopts/11 simba.nic.ustc.e Thu Aug 3 20:45 - 22:02 (01:16)
ynguopts/0 simba.nic.ustc.e Thu Aug 3 03:17 - 05:42 (02:25)
ynguopts/0 simba.nic.ustc.e Wed Aug 2 01:04 - 03:16 1 02:12)
ynguopts/0 simba.nic.ustc.e Wed Aug 2 00:43 - 00:54 (00:11)
ynguopts/9 simba.nic.ustc.e Thu Aug 1 20:30 - 21:26 (00:55)
ac:ac命令根据当前的/var/log/wtmp文件中的登录进入和退出来报告用户连结的时间(小时),如果不使用标志,则报告总的时间 。例如:ac(回车)显示:total 5177.47
ac -d(回车)显示每天的总的连结时间
Aug 12 total 261.87
Aug 13 total 351.39
Aug 14 total 396.09
Aug 15 total 462.63
Aug 16 total 270.45
Aug 17 total 104.29
Today total 179.00
ac -p (回车)显示每个用户的总的连接时间
ynguo 193.23
yucao 3.35
rong 133.40
hdai 10.52
zjzhu 52.87
zqzhou 13.14
liangliu 24.34
total 5178.22
lastlog:lastlog文件在每次有用户登录时被查询 。可以使用lastlog命令来检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容 。它根据UID排序显示登录名、端口号(tty)和上次登录时间 。如果一个用户从未登录过,lastlog显示"**Never logged** 。注意需要以root运行该命令,例如:
rong5 202.38.64.187 Fri Aug 18 15:57:010800 2000
dbb **Never logged in**
xinchen **Never logged in**
pb9511 **Never logged in**
xchen 0 202.38.64.190 Sun Aug 13 10:01:220800 2000
另外,可一加一些参数,例如,lastlog -u 102将报告UID为102的用户;lastlog -t 7表示限制上一周的报告 。
linux日志 audit 我们知道在Linux系统中有大量的日志文件可以用于查看应用程序的各种信息,但是对于用户的操作行为(如某用户修改删除了某文件)却无法通过这些日志文件来查看,如果我们想实现监管企业员工的操作行为就需要开启审计功能,也就是audit 。
1、首先执行以下命令开启auditd服务
|1|service auditd start|
2、接着查看看auditd的服务状态 , 有两种方法可以实现,使用auditctl命令时主要看enabled是否为1,1为开启,0为关闭
[root@ns-master-c01 ~]``# service auditd status` |
`auditd (pid20594) is running...
[root@ns-master-c01 ~]``# auditctl -s
|5|AUDIT_STATUS: enabled=1 flag=1 pid=20594 rate_limit=0 backlog_limit=320 lost=0 backlog=0|
3、开启了autid服务后,所有的审计日志会记录在/var/log/audit/audit.log文件中,该文件记录格式是每行以type开头,其中红框处是事件发生的时间(代表从1970年1月1日到现在过了多久 , 可以用date命令转换格式),冒号后面的数字是事件ID,同一个事件ID是一样的 。
4、audit可以自定义对指定的文件或命令进行审计(如监视rm命令被执行、/etc/passwd文件内容被改变),只要配置好对应规则即可,配置规则可以通过命令行(临时生效)或者编辑配置文件(永久生效)两种方式来实现 。
命令行语法(临时生效****)****:
|1|auditctl -w /bin/``rm-p x -k removefile ``#-w指定所要监控的文件或命令|
|2|#-p指定监控属性,如x执行、w修改|
|3|#-k是设置一个关键词用于查询|
编辑配置文件(****永久生效)****:
auditd的配置文件为/etc/audit/audit下的auditd.conf 和audit.rules,auditd.conf 主要是定义了auditd服务日志和性能等相关配置,audit.rules才是定义规则的文件,下面是一个例子,其实就是把auditctl的命令直接拿过来即可,auditctl里支持的选项都可以在这个文件里指定
修改完后重启服务
|1|service auditd restart|
5、如果直接使用tailf等查看工具进行日志分析会比较麻烦,好在audit已经提供了一个更好的事件查看工具—— ausea****rch,使用auserach -h查看下该命令的用法:
这里列出几个常用的选项:
-a number#只显示事件ID为指定数字的日志信息 , 如只显示926事件:ausearch -a 926
-ccommond#只显示和指定命令有关的事件,如只显示rm命令产生的事件:auserach-crm
-i#显示出的信息更清晰,如事件时间、相关用户名都会直接显示出来 , 而不再是数字形式
-k#显示出和之前auditctl -k所定义的关键词相匹配的事件信息
通过下图可以看到每个事件被虚线分开,用户名和执行的操作也都能清晰的看到了:
6、使用auditctl还可以查看和清空规则
查看源码
embed width="16" height="16" id="highlighter_638828_clipboard" type="application/x-shockwave-flash" title="复制到剪贴板" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_638828" menu="false" src="" style="margin: 0px; padding: 0px; outline: 0px; zoom: 1; max-width: 96%;"
摘自
|1|auditctl -l 查看定义的规则|
|2|auditctl -D 清空定义的规则|
【linux监控日志命令 linux日志监控软件有哪些】linux监控日志命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux日志监控软件有哪些、linux监控日志命令的信息别忘了在本站进行查找喔 。

    推荐阅读