在 CentOS 6.x 中日志服务使用 rsyslogd 服务,rsyslogd 具有以下特点:
基于 TCP 网络协议传输日志信息更安全的网络传输方式有日志消息的及时分析框架后台数据库配置文件中可以写简单的逻辑判断与旧版本日志服务 syslog 配置文件相兼容2、常见日志文件/var/log/cron #记录了系统定时任务相关的日志 /var/log/cups/ #记录打印信息的日志 /var/log/dmesg #记录了系统在开机时内核自检的信息。也可以使用 dmesg 命令直接查看内核自检信息 /var/log/btmp #记录错误登录的日志。这个文件是二进制文件,不能直接使用vim查看, 而要使用 lastb 命令查看 /var/log/lastlog #记录系统中所有用户最后一次的登录时间的日志。这个文件也是二进制文件,不能直接使用vim查看,而要使用 lastlog 命令查看/var/log/mailog #记录邮件信息。 /var/log/message #记录系统重要信息的日志。这个日志文件中会记录 linux 系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件。 /var/log/secure #记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录。 比如说系统的登录,ssh 的登录,su 切换用户,sudo 授权,甚至添加用户和修改用户密码都会记录在这个日志文件中。 /var/log/wtmp #永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接使用vim查看,而需要使用 last 命令来查看/var/run/utmp #记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。不能直接使用vim查看,而要使用 w,who,users 等命令来查询
除了系统默认的日志之外,采用 RPM 方式安装的系统服务也会默认把日志记录在/var/log/目录 中(源码包安装的服务日志是在源码包指定目录中)。不过这些日志不是由 rsyslogd 服务来记录和管理的,而是各个服务使用自己的日志管理文档来记录自身日志,一些常见rpm包安装的服务,日志位置:
/var/log/httpd/ RPM 包安装的 apache 服务的默认日志目录 /var/log/mail/ RPM 包安装的邮件服务的额外日志目录 /var/log/samba/ RPM 包安装的 samba 服务的日志目录 /var/log/sssd/ 守护进程安全服务目录
二、日志服务 rsyslogd1、日志文件格式 只要是由日志服务 rsyslogd 记录的日志文件,他们的格式是一样的。基本日志格式包含以下四列:事件产生的时间发生事件的服务器的主机名产生事件的服务名或程序名事件的具体信息。2、rsyslogd 服务的配置文件1.1)、/etc/rsyslog.conf 配置文件格式# rsyslog v5 configuration file# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.HTML# If you experIEnce problems,see http://www.rsyslog.com/doc/troubleshoot.HTML#### MODulES ####$ModLoad imuxsock # provIDes support for local system logging (e.g. via logger command)# 加载 imuxsock 模块,为本地系统登录提供支持$ModLoad imklog # provIDes kernel logging support (prevIoUsly done by rklogd)# 加载 imklog 模块,为内核登录提供支持#$ModLoad immark # provIDes --MARK-- message capability# 加载 immark 模块,提供标记信息的能力# ProvIDes UDP syslog reception#$ModLoad imudp#$UDPServerRun 514# 加载 UPD 模块,允许使用 UDP 的 514 端口接收采用 UDP 协议转发的日志# ProvIDes TCP syslog reception#$ModLoad imtcp#$inputTcpserverRun 514# 加载 TCP 模块,允许使用 TCP 的 514 端口接收采用 TCP 协议转发的日志#### GLOBAL DIRECTIVES #####全局配置# Use default timestamp format$ActionfileDefaultTemplate RSYSLOG_TraditionalfileFormat# 定义日志的时间使用默认的时间戳格式# file syncing capability is Disabled by default. This feature is usually not required,# not useful and an extreme performance hit#$ActionfileEnableSync on# 文件同步功能。默认没有开启# Include all config files in /etc/rsyslog.d/$IncludeConfig /etc/rsyslog.d/*.conf# 子配置文件也同时生效服务名+连接符号+日志等级 日志位置authpriv.* /var/log/secure#认证服务所有等级的日志都记录在/var/log/secure 文件中mail.* -/var/log/maillog#邮件服务所有等级日志,保存到 /varlog/maillog - 代表先保存到内存中。*.info;mail.none;authpriv.none;cron.none /var/log/messages#所有能被rsyslog服务管理日志的服务的info等级日志,认证服务none级别日志,定时任务none等级日志都记录在 /var/log/messages文件中。。。。。。
1.2)、连接符号说明“.”代表只要比后面的等级高的(包含该等级)日志都记录下来。比如:“cron.info” 代表 cron 服务产生的日志,只要日志等级大于等于 info 级别,就记录 “.=”代表只记录所需等级的日志,其他等级的都不记录。比如:“*.=emerg”代表任 何日志服务产生的日志,只要等级是 emerg 等级就记录。这种用法及少见,了解就好“.!”代表不等于,也就是除了该等级的日志外,其他等级的日志都记录。
1.3)、日志等级说明none #忽略日志 deBUG(LOG_DEBUG) #一般的调试信息说明 info(LOG_INFO) #基本的通知信息 notice(LOG_NOTICE) #普通信息,但是有一定的重要性 warning(LOG_WARNING)#警告信息,但是还不回影响到服务或系统的运行err(LOG_ERR) #错误信息,一般达到 err 等级的信息以及可以影响到服务或系统的运行了crit(LOG_CRIT) #临界状况信息,比 err 等级还要严重 alert(LOG_ALERT) #警告状态信息,比 crit 还要严重。必须立即采取行动 emerg(LOG_EMERG) #疼痛等级信息,系统已经无法使用了 * 代表所有日志等级, #比如:“authpriv.*”代表 authpriv 认证信息服务产生的日志,所有的日志等级都记录
1.4)、日志保存位置日志记录位置就是当前日志输出到哪个日志文件中保存,当然也可以把日志输出到打印机打印, 或者输出到远程日志服务器上(当然日志服务器要允许接收才行)。
1、日志文件的绝对路径。这是最常见的日志保存方法,如“/var/log/secure”就是保存系统验证和授权信息日志的。2、系统设备文件。如“/dev/lp0”代表第一台打印机,如果日志保存位置是打印机设备的话,当有日志时就会在打印机打印。3、转发给远程主机。因为可以选择使用 TCP 协议和 UDP 协议传输日志信息,所以有两种发送格式。 3-1、如使用“@100.100.100.102:514”,就会把日志内容使用 UDP 协议发送到 100.100.100.102 的 UDP 514 端口上。 3-2、如果使用“@@192.168.0.210:514”就会把日志内容 使用 TCP 协议发送到 100.100.100.102 的 TCP 514 端口上,其中 514 是日志服务默认端口。 当然只要 100.100.100.102 同意接收此日志,就可以把日志内容保存在日志服务器上。4、用户名。如“root”,就会把日志发送给 root 用户,当然 root 要在在线,否则就收不到日志信息了。发送日志给用户时,可以使用“*”代表发送给所有在线用户,如“mail.* *”就会把 mail 服务产生的所有级别的日志发送给所有在线用户。如果需要把日志发送给多个在线用户,用户名之间用“,”分隔。 5、忽略或丢弃日志。如果接受日志的对象是“~”,代表这个日志不会记录,而被直接丢弃。如“local3.* ~”代表忽略 local3 服务类型所有的日志都不记录。
3、能被 rsyslogd 服务管理日志的服务如下auth(LOG_AUTH) #安全和认证相关消息(不推荐使用 authpriv 替代) authpriv(LOG_AUTHPRIV) #安全和认证相关消息(私有的) cron(LOG_CRON) #系统定时任务 cront 和 at 产生的日志 daemon(LOG_DAEMON) #和各个守护进程相关的日志 ftp(LOG_FTP) ftp #守护进程产生的日志 kern(LOG_KERN) #内核产生的日志(不是用户进程产生的) local0-local7(LOG_LOCAL0-7) #为本地使用预留的服务 lpr(LOG_LPR) #打印产生的日志 mail(LOG_MAIL) #邮件收发信息 news(LOG_NEWS) #与新闻服务器相关的日志 syslog(LOG_SYSLOG) #有 syslogd 服务产生的日志信息(虽然服务名称已经改为 rsyslogd,但是很多配置都还是沿用了 syslogd 的,这里并没有修改服务名)。 user(LOG_USER) #用户等级类别的日志信息 uucp(LOG_UUCP) uucp 子系统的日志信息,uucp 是早期 linux 系统进行数 据传递的协议,后来也常用在新闻组服务中。
4、自定义日志[root@centos ~]# vim /etc/rsyslog.conf#添加自己的日志配置*.* /root/os.log # 把所有服务的所有等级日志保存在 /root/os.log文件中#重启服务[root@centos ~]# service rsyslog restartShutting down system logger: [ OK ]Starting system logger: [ OK ]# 查看/root/目录下de os.log 日志文件[root@centos ~]# ll-rw------- 1 root root 663 Dec 17 09:47 os.log
总结 以上是内存溢出为你收集整理的日志介绍与rsyslogd服务管理与配置全部内容,希望文章能够帮你解决日志介绍与rsyslogd服务管理与配置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)