1. linux查看日志文件写入速度的4种方法
有时,我们需要查看某个文件的增长速度,如日志文件,以此来感受系统的弯局缺负载情况,因为一般情况下,日志写入越快,说明系统负载越重。
本文就来介绍下Linux中查看日志腊拿增长速度的几种方法,如下:
首先要介绍的是dd,因为dd命令几乎所有主流发行版都自带,无需额外安装,如下:
如上,使用 tail -F 获取新写入的数据,然后用管道将数据交给dd,dd将数据拷贝到 /dev/null ,其中 status=progress 是用来显示拷贝速度的,可见,我们日志的写入速度是 471 kB/s 。
pv命令可以看做是带进度的cp,如下:
原理与dd类似,不过命令换成了pv。
由于日志数据都是程序(如java)写入的,而在如下的伪文件中,存放着程序打开的文件信息,如下:
于是定期的读取这个offset就可以知道文件的写入速度了,这也是cv命令的实现原理,如下:
通过写一个小脚本,定期观察文件大小,也可查看文件写埋辩入速度,如下:
通过watch再加上观察,也能大致看出速度,如下:
其实转念一想,如果我们在某个函数中打上日志,然后通过grep过滤出此日志,然后我们只要计算每秒输出的日志行数,这岂不就是函数执行的QPS了!
这里可以通过 151/15 计算出QPS是10,由于没有超过1000,所以看到的是0.0kB/s,如果使用pv命令,会更简单一些,如下:
2. linux日志文件的管理、备份及日志服务器的搭建
日志文件存放目录: /var/log
[root@xing log]# cd /var/log
[root@xing log]# ls
messages:系统日志
secure:登录日志
————————————————
日志管理服务文件: vim /etc/rsyslog.conf
日志记录的日志级别:最不严重 -> 最严重
debug, info, notice, warning, warn (same as warning), err, error (same
as err), crit, alert, emerg, panic (same as emerg)
测试提示:
[ming@xing etc]$ logger -p authpriv.emerg "==mingeror=="
[ming@xing etc]$
Message from syslogd@xing at Jul 18 11:00:41 ...
root: ==mingeror==
登录日志的错误信息同步写入 “/var/log/secure ” 文件中
————————————————
日志的异地备份
日志的异地备份至关重要。防止别人拿到你的root权限;用命令:echo "" > /var/log/secure 直接清空你的登录日志。
配置需备份日志的客户机(172.168.0.254):
[root@xing etc]# vim rsyslog.conf
————————————————
配置文件修改:
#*.* @@remote-host:514
authpriv.* @@172.168.0.1:514
————————————————
[root@xing etc]# setenforce 0 //执行setenforce 0 表示 临时关闭 selinux防火墙。
[root@xing etc]# getenforce
Permissive
[root@xing etc]# service rsyslog restart
————————————————
配置日志记录服务器(172.168.0.1):
[root@xing etc]# vim rsyslog.conf
————————————————
开启接收端口模块
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
———
配置备份的数据源及日志备份存放文件
:fromhost-ip,isequal,“172.168.0.254” /var/log/client/172.168.0.254.log
————————————————
[root@xing etc]# service rsyslog restart
———————
ss -antpl | grep 514
————————————————
注意:配置成功需关闭双方服务器的防火墙,或者修改防火墙配置。
3. linux中日志文件存在哪里
日志文件通常保存在/var/log目录下。
下面是几个重要的日志文件:
/var/log/messages:包括整体系统信息,其中也包含系统启动期间的日志。
/var/log/syslog:它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息。
/var/log/user.log:记录所有等级用户信息的日志。/var/log/auth.log:包含系统授权信息,包括用户登录和使用的权限机制等。
(3)linux写日志文件扩展阅读:
日志文件分为事件日志和消息日志。
事件日志
事件日志记录在系统的执行中发生的事件,以便提供可用于理解系统的活动和诊断问题的跟踪。 它们对理解复杂系统的活动至关重要,特别是在用户交互较少的应用程序中。
它还可以用于组合来自多个源的日志文件条目。 这种方法与统计分析相结合,可以产生不同服务器上看起来不相关的事件之间的相关性。 其他解决方案采用网络范围的查询和报告。
消息日志
互联网中继聊天(IRC),即时消息(IM)程序,具有聊天功能的对等文件共享客户端和多人游戏(特别是MMORPG)通常具有自动记录(即保存)文本通信的能力。
消息日志几乎是通用的纯文本文件,但是IM和VoIP客户端(其支持文本聊天,例如Skype)可以将它们保存在HTML文件中或以自定义格式以便于阅读和加密。
参考资料:网络——日志文件