• 售前

  • 售后

热门帖子
入门百科

对linux下syslogd以及syslog.conf文件的解读阐明

[复制链接]
我本迷茫 显示全部楼层 发表于 2021-10-26 13:46:44 |阅读模式 打印 上一主题 下一主题
1: syslog.conf的介绍
对于差别范例的Unix,标准UnixLog系统的设置,实际上除了一些关键词的差别,系统的syslog.conf格式是相同的。syslog接纳可配置的、同一的系统登记程序,随时从系统各处继承log请求,然后根据/etc/syslog.conf中的预先设定把log信息写入相应文件中、邮寄给特 定用户或者直接以消息的方式发往控制台。值得注意的是,为了防止入侵者修改、删除messages里的纪录信息,可以接纳用打印机纪录或接纳方式来挫败入 侵者的计划。
2: syslog.conf的格式
可以参考man [5] syslog.conf。这里是对syslog.conf的简单介绍。
/etc/syslog.conf文件中的一项配置纪录由“选项”(selector)和“动作”(action)两个部分构成,两者间用tab制表符进 行分隔(使用空格隔断是无效的)。而“选项”又由一个或多个形如“范例.级别”格式的保存字段组合而成,各保存字段间用分号分隔。如下行所示:
范例.级别 [;范例.级别] `TAB` 动作
2.1 范例
保存字段中的“范例”代表信息产生的源头,可以是:
auth 认证系统,即询问用户名和口令
cron 系统定时系统执行定时任务时发出的信息
daemon 某些系统的守护程序的syslog,如由in.ftpd产生的log
kern 内核的syslog信息
lpr 打印机的syslog信息
mail 邮件系统的syslog信息
mark 定时发送消息的时标程序
news 消息系统的syslog信息
user 本地用户应用程序的syslog信息
uucp uucp子系统的syslog信息
local0..7 种本地范例的syslog信息,这些信息可以又用户来定义
* 代表以上各种设备
2.2 级别
保存字段中的“级别”代表信息的紧张性,可以是:
emerg 紧急,处于Panic状态。通常应广播到全部用户;
alert 告警,当前状态必须立即举行纠正。例如,系统数据库崩溃;
crit 关键状态的警告。例如,硬件故障;
err 其它错误;
warning 警告;
notice 注意;非错误状态的陈诉,但应特别处理处罚;
info 转达信息;
debug 调试程序时的信息;
none 通常调试程序时用,指示带有none级别的范例产生的信息无需送出。如*.debug;mail.none表现调试时除邮件信息外其它信息都送出。
2.3 动作
“动作”域指示信息发送的目标地。可以是:
/filename 日志文件。由绝对路径指出的文件名,此文件必须事先创建;
@host 远程主机; @符号反面可以是ip,也可以是域名,默认在/etc/hosts文件下loghost这个别名已经指定给了本机。
user1,user2 指定用户。如果指定用户已登录,那么他们将收到信息;
* 全部用户。全部已登录的用户都将收到信息。
3: 具体实例
我们来看看/etc/syslog.conf文件中的实例:
……
*.err;kern.debug;daemon.notice;mail.crit [TAB] /var/adm/messages
……
这行中的“action”就是我们常关心的谁人/var/adm/messages文件,输出到它的信息源头“selector”是:
*.err - 全部的一样寻常错误信息;
kern.debug - 焦点产生的调试信息;
daemon.notice - 守护进程的注意信息;
mail.crit - 邮件系统的关键警告信息
4:syslog.conf内容
日志文件由系统日志和内核日志监控程序syslogd 与klogd 控制, 在/etc/syslog.conf 文件中配置这两个监控程序默认运动。
日志文件按/etc/syslog.conf 配置文件中的形貌举行构造。以下是/etc/syslog.conf 文件的内容:
  1. [root@localhost ~]# cat /etc/syslog.conf
  2. # Log all kernel messages to the console.
  3. # Logging much else clutters up the screen.
  4. #kern.* /dev/console
  5. # Log anything (except mail) of level info or higher.
  6. # Don't log private authentication messages!
  7. *.info;mail.none;authpriv.none;cron.none /var/log/messages
  8. # The authpriv file has restricted access.
  9. authpriv.* /var/log/secure
  10. # Log all the mail messages in one place.
  11. mail.* -/var/log/maillog
  12. # Log cron stuff
  13. cron.* /var/log/cron
  14. # Everybody gets emergency messages
  15. *.emerg *
  16. # Save news errors of level crit and higher in a special file.
  17. uucp,news.crit /var/log/spooler
  18. # Save boot messages also to boot.log
  19. local7.* /var/log/boot.log
复制代码
5.版本
Syslog机制是类unix系统中经常使用的一种日志纪录方式。它能够以多种级别组合纪录系统运行过程中各类日志信息。比如内核运行信息日志,程序运行 输出的日志等。在为嵌入式系统做开辟时,将程序运行时的一些紧张信息写入日志中,对于程序的调试以及错误诊断资助好坏常大的。紧张信息包罗程序运行时的重 要变量,函数运行效果,错误纪录等等。对于嵌入式系统而言,由于系统资源有限,而且是交织开辟,调试及诊断及其未便。使用syslog机制,可大大简化这 些工作。
并不是全部嵌入式系统都可以使用syslog。起首,系统使用类unix操纵系统,常用的就是linux。其次,为了支持远程日志纪录,系统中必须支持网络通讯。所幸,目前大部分嵌入式系统都是基于linux,而且支持网络。以下叙述具体实现。
在编译busybox时,选择syslog应用程序,并将busybox加入到linux的文件系统中去。嵌入式系统启动后,就可以配置syslog的客 户端。根据busybox版本,syslog的服务进程syslogd的配置有所差别。早期的syslogd忽略syslog.conf文件内的配置项, 直接使用命令参数举行配置。新版本的syslogd支持使用syslog.conf文件举行配置。可以通过syslogd –h察看资助信息,以确定当前的syslogd版本。
当不支持syslog.conf配置时,直接使用命令参数,输入以下命令启动syslogd:
syslogd -n -m 0 -L -R 192.190.1.88
其中-n选项表现进程在前台运行。
-m选项指定循环隔断时间。
-L选项表现在举行远程日志纪录的同时,本地也举行纪录。如果不加该选项,则只举行远程日志纪录。
-R表现举行远程日志纪录,将syslog日志发送到目标服务器上。这里假定目标服务器为的IP地址为192.190.1.88。如果不指定端口,默认使用UDP端口514。所以要确保服务器上该端口没用被占用。
启动后,全部的日志信息都会发往服务器的UDP端口514。
当支持syslog.conf配置时,只需修改该配置文件即可。在文件中增长以下语句:
*.* @192.190.1.88
以上配置表现将全部syslog的日志发往服务器192.190.1.88,使用默认的UDP端口。由于syslog.conf配置相对比力灵活,可以设置 屏蔽一些不需要的信息,以及设置指定的端口等等。请参考syslog.conf的有关命令,自行研究。然后启动syslogd即可举行远程纪录。
这篇对linux下syslogd以及syslog.conf文件的解读说明就是小编分享给各人的全部内容了,希望能给各人一个参考,也希望各人多多支持脚本之家。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作