syslog for linux(linux查看syslog日志)
大家好,今天来为大家分享syslog for linux的一些知识点,和linux查看syslog日志的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
计算机系统日志的Linux
在Unix下,最常用的存放日志文件的目录是:
/usr/adm早期版本的
Unix/var/adm较新版本的
Unix/var/log用于Solaris,Linux,BSD等
/etc Unix system V早期版本
在这些目录下,或其子目录下,你可以找到以下日志文件(也许是其中的一部分):
lastlog记录用户最后一次成功登录时间
loginlog不良的登陆尝试记录
messages记录输出到系统主控台以及由syslog系统服务程序产生的消息
utmp记录当前登录的每个用户
utmpx扩展的utmp
wtmp记录每一次用户登录和注销的历史信息 wtmpx扩展的wtmp
vold.log记录使用外部介质出现的错误
xferkig记录Ftp的存取情况 sulog记录su命令的使用情况
acct记录每个用户使用过的命令
aculog拨出自动呼叫记录
syslog采用可配置的、统一的系统登记程序,随时从系统各处接受log请求,然后根据/etc/syslog.conf中的预先设定把log信息写入相应文件中、邮寄给特定用户或者直接以消息的方式发往控制台。值得注意的是,为了防止入侵者修改、删除messages里的记录信息,可以采用用打印机记录或跨越网络登记的方式来挫败入侵者的企图。
任何程序都可以通过syslog记录事件。Syslog可以记录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能记录本地事件或通过网络记录到另一台主机上的事件。
Syslog依据两个重要的文件:/sbin/syslogd(守护进程)和/etc/syslog.conf配置文件。习惯上,多数syslog信息被写到/var/adm或/ar/log目录下的信息文件中(*message.)。一个典型的syslog记录包括生成程序的名字和一个文本信息,它还包括一个设备和一个行为级别(但不在日志中出现)。
syslogd& klogd---------/etc/syslog.conf
/var/log/secure:登录到系统存取资料的记录;FTP、SSH、TELNET...
/var/log/wtmp:记录登录者讯录,二进制文件,须用last来读取内容
/var/log/messages:杂货铺
/var/log/boot.log:记录开机启动讯息,dmesg| more# ps aux| grep syslog
# chkconfig--list| grep syslog
# cat/var/log/secure
/etc/syslog.conf哪些服务产生的哪些等级讯息记录到哪里
记录到相同地方的多个讯息源用分号间隔
vi/etc/syslog.conf# grep 514/etc/services
syslog 514/udp
vi/etc/sysconfig/syslog
#将SYSLOGD_OPTIONS=-m 0
#改成
SYSLOGD_OPTIONS=-m 0-r
/etc/init.d/syslog restart
[root@linux~]# netstat-tlunp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:514 0.0.0.0:* 24314/syslogd
对应client
# vi/etc/syslog.conf
*.*@192.168.1.100*/etc/logrotate.conf
*/etc/logrotate.d/
logrotate.conf才是主要配置文件,而/logrotate.d/这个目录内的所有文件都被读入/etc/logrotate.conf来执行!
如果在/etc/logrotate.d/目录文件中,没有相应的细节设定则以/etc/logrotate.conf设定为缺省值!
vi/etc/logrotate.d/syslog
/var/log/messages/var/log/secure/var/log/maillog/var/log/spooler
/var/log/boot.log/var/log/cron{
sharedscripts
postrotate
/bin/kill-HUP `cat/var/run/syslogd.pid 2>/dev/null` 2>/dev/null|| true
endscript
}
1、用空格作多个档案分隔
2、所有设定在{}中
3、# prerotate:在启动logrotate执行的指令
# postrotate:在做完logrotate后需处理的指令
logrotate[-vf] logfile
参数:
-v:显示过程
-f:强制执行
而logrotate的工作加入到 crontab/etc/cron.daily/logrotate;所以系统每天自动查看
只是要注意一下:/var/log/messages是否有这样的类似内容
Oct 24 15:15:35 localhost syslogd 1.4.1: restart.
四、实例:
要求:登录档案每月替换一次
若> 10MB;强制替换,不不考虑一个月的期限;
保存五备份文档;
备份文档不压缩。
步骤1:
root@linux~]#chattr+a/var/log/admin.log
[root@linux~]# lsattr/var/log/admin.log
-----a-------/var/log/admin.log
只能新增不能删节除,除非chattr-a/var/log/admin.log
[root@linux~]# mv/var/log/admin.log/var/log/admin.log.1
mv: cannot move'/var/log/admin.log' to'/var/log/admin.log.1':permission deny
步骤2:
vi/etc/logrotate.d/admin
# This configuration is from VBird 2005/10/24
/var/log/admin.log{
monthly
size=10M
rotate 5
nocompress
sharedscripts
prerotate
/usr/bin/chattr-a/var/log/admin.log
endscript
sharedscripts
postrotate
/usr/bin/killall-HUP syslogd
/usr/bin/chattr+a/var/log/admin.log
endscript
}
步骤3:测试
#logrotate-v/etc/logrotate.conf
.....(前面省略).....
rotating pattern:/var/log/admin.log 10485760 bytes(5 rotations)
empty log files are rotated, old logs are removed
considering log/var/log/admin.log
log does not need rotating
not running shared prerotate script, since no logs will be rotated
............
#logrotate-vf/etc/logrotate.d/admin
reading config file/etc/logrotate.d/admin
reading config info for/var/log/admin.log
也就是说:/etc/syslog.conf与/etc/logrotate.d/*对应文档搭配起来使用;先由syslogd按照syslog.conf指定的方法处理消息,
然后送给 logrotat来按照/etc/logrotate.d/*文档要求来轮替日志。# dmesg| more读/var/log/boot.log
dmesg| grep'eth'
# last-n number
[root@linux~]# last-f filename
-n:number
-f:last预设值为读/var/log/wtmp文档,而-f读取不同的文档
# last-n 5-f/var/log/wtmp.1
dmtsai2 pts/2 Mon Oct 24 14:18- 14:18(00:00)
dmtsai2 work:0 work Mon Oct 24 14:18 gone- no logout
dmtsai2 work:0 work Mon Oct 24 14:18- 14:18(00:00)
dmtsai2 pts/2 Mon Oct 24 14:18- 14:18(00:00)
dmtsai2 work:0 work Mon Oct 24 14:18- 14:18(00:00)
# lastlog
如何使用 syslog-ng 从远程 Linux 机器上收集日志
使用 syslog-ng从远程 Linux机器上收集日志,可以显著提高数据中心系统管理员的工作效率。当数据集中于一台专门的日志收集服务器时,可以减少手动访问每台 Linux机器查看日志文件的繁琐工作,节省宝贵时间。选择 syslog-ng这类日志收集工具,可以实现自动化处理和集中管理。
安装 syslog-ng在 Ubuntu Server 16.04上相对简单。首先,从标准仓库安装 syslog-ng:
在收集器和客户端机器上分别执行上述命令。
配置日志收集器时,替换默认配置文件为自定义配置,确保日志文件转发至指定目录。配置文件中应指定转发端口(例如 514),并确保网络可访问。创建目标日志文件,如/var/log/syslog-ng/logs.txt,然后启动 syslog-ng服务。
客户端配置文件应包含收集器的 IP地址。确保在客户端上创建配置文件、更新日志转发路径,然后启动 syslog-ng。
在收集器服务器上使用 `sudo tail-f/var/log/syslog-ng/logs.txt`命令,可以实时查看所有日志条目。通过在每台服务器上安装 syslog-ng并配置为客户端,所有机器的日志都将统一发送至收集器,大大简化了日志管理和分析过程。
如何在windows服务器中使用syslog功能
方法/步骤:
1.首先根据自己的windows系统的版本(32/64位),在网上下载相应的版本。我的系统为64位版本,因此下载64位版本;
2.然后将下载后的软件内的两个文件evtsys.dll和evtsys.exe,拷贝到系统内c:\windows\system32目录下;
3.这一步找到命令提示符,右击选择以管理员身份运行。详细操作如下图所示;
4.在操作窗口内,首先输入cdc:\windows\system32命令进入c:\windows\system32目录下,然后执行命令evtsys–i–h 192.168.2.104。下面详细介绍evtsys命令参数意思。
-i表示安装成系统服务
-h指定log服务器的IP地址
如要设置端口,在IP地址后加上自己要设置的端口就可以了。ip地址与端口之间要有空格隔开。默认不写端口为514端口。
执行完以上命令后,evtsys已经安装成功,且已经成功注册到服务列表。
5.在开始->运行输入 gpedit.msc。进入windows本地组策略编辑器,在该窗口内,选择Windows设置->安全设置。打开你需要记录的windows日志。evtsys会实时的判断是否有新的windows日志产生,然后把新产生的日志转换成syslogd可识别的格式,通过UDP 514端口发送给syslogd服务器;
6.启动服务。在以管理员身份运行的命令提示符窗口内,执行命令:net start evtsys即可启动服务。接下来进行测试是否发送成功;
7.打开syslogwatcher进行相应的设置,设置端口为514端口,接受字符码为:UTF-8码。然后点击listen。进行监听514端口。查看是否有windows日志发出。
为测试效果明显,可以重启安装evtsys的机器。(本次安装syslogwatcher与evtsys不在同一台机器,便于测试)。
如重启安装evtsys的机器仍未看到日志。则通过以下几点进行排除。
1.确认接收日志端的系统防火墙已经关闭。
2.确认安装evtsys的机器,是否已经启动该服务,如未启动,在服务列表点击启动。