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的机器,是否已经启动该服务,如未启动,在服务列表点击启动。

阅读剩余
THE END