基于Linux搭建rsyslog日志服务器
2023-09-14 11:23:26 4 举报
在Linux环境下,我们可以使用rsyslog服务来搭建一个日志服务器。首先,需要安装rsyslog软件包。然后,通过编辑rsyslog配置文件(通常位于/etc/rsyslog.conf),设置输入、过滤和输出规则,以便收集、处理和存储来自不同来源的日志信息。接下来,启动并启用rsyslog服务,使其在系统启动时自动运行。最后,配置客户端设备将日志发送到rsyslog服务器。这样,我们就成功搭建了一个基于Linux的rsyslog日志服务器,可以集中管理和分析系统中的各种日志信息,有助于提高系统运维效率和故障排查能力。
作者其他创作
大纲/内容
安装步骤:yum install rsyslog 安装完成后对 rsyslog 进行配置,进入 rsyslog 的配置文件 vim /etc/rsyslog.conf 配置成如下文本
配置文件:<br># rsyslog 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 <span class="tag">#####</span><span class="tag"></span>MODULES ##### The imjournal module bellow is now used as a message source instead of<br>imuxsock.<br>$ModLoad imuxsock # provides support for local system logging (e.g. via logger<br>comm<br>and)<br>$ModLoad imjournal # provides access to the systemd journal#$ModLoad imklog # reads kernel messages (the same are read from journald)#$ModLoad immark # provides --MARK-- message capability# Provides UDP syslog reception$ModLoad imudp<br>$UDPServerRun 514# Provides TCP syslog reception#$ModLoad imtcp#$InputTCPServerRun 514<br>#### GLOBAL DIRECTIVES <span class="tag">#####</span> rsyslog 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 <span class="tag">#####</span> The imjournal module bellow is now used as a message source instead of<br>imuxsock.<br>$ModLoad imuxsock # provides support for local system logging (e.g. via logger<br>command)<br>$ModLoad imjournal # provides access to the systemd journal#$ModLoad imklog # reads kernel messages (the same are read from journald)#$ModLoad immark # provides --MARK-- message capability# Provides UDP syslog reception$ModLoad imudp<br>$UDPServerRun 514# Provides TCP syslog reception#$ModLoad imtcp#$InputTCPServerRun 514#### GLOBAL DIRECTIVES <span class="tag">#####</span><span class="tag"></span>DIRECTIVES ##### rsyslog 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 ##### The imjournal module bellow is now used as a message source instead of<br>imuxsock.<br>$ModLoad imuxsock # provides support for local system logging (e.g. via logger<br>command)<br>$ModLoad imjournal # provides access to the systemd journal#$ModLoad imklog # reads kernel messages (the same are read from journald)#$ModLoad immark # provides --MARK-- message capability# Provides UDP syslog reception$ModLoad imudp<br>$UDPServerRun 514# Provides TCP syslog reception#$ModLoad imtcp#$InputTCPServerRun 514#### GLOBAL DIRECTIVES ##### Where to place auxiliary files$WorkDirectory /var/lib/rsyslog<br># Use default timestamp format<br>$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat<br># 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<br># Turn off message reception via local log socket;# local messages are retrieved through imjournal now.$OmitLocalLogging on<br># File to store the position in the journal$IMJournalStateFile imjournal.state<br>#### RULES <span class="tag">#####</span><span class="tag">#####</span> The imjournal module bellow is now used as a message source instead of<br>imuxsock.<br>$ModLoad imuxsock # provides support for local system logging (e.g. via logger<br>command)<br>$ModLoad imjournal # provides access to the systemd journal#$ModLoad imklog # reads kernel messages (the same are read from journald)#$ModLoad immark # provides --MARK-- message capability# Provides UDP syslog reception$ModLoad imudp<br>$UDPServerRun 514# Provides TCP syslog reception#$ModLoad imtcp#$InputTCPServerRun 514#### <span class="tag">GLOBAL </span>DIRECTIVES ##### Where to place auxiliary files$WorkDirectory /var/lib/rsyslog<br># Use default timestamp format<br>$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat<br># 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<br># Turn off message reception via local log socket;# local messages are retrieved through imjournal now.$OmitLocalLogging on<br># File to store the position in the journal$IMJournalStateFile imjournal.state<br>#### RULES ##### Log all kernel messages to the console.# cal7.* /var/log/boot.log## Logging much else clutters up the screen.#kern.* /dev/console# Log anything (except mail) of level info or higher.# Don't log private authentication messages!<br>*.alert /var/log/alert.log<br>*.notice /var/log/notice.log<br>*.error /var/log/err.log<br>*.info;mail.none;authpriv.none;cron.none /var/log/messages<br># The authpriv file has restricted access.<br>authpriv.* /var/log/secure<br># Log all the mail messages in one place.<br>mail.* -/var/log/maillog# Log cron stuff<br>cron.* /var/log/cron<br># Everybody gets emergency messages<br>*.emerg :omusrmsg:*<br># Save news errors of level crit and higher in a special file.<br>uucp,news.crit /var/log/spooler# Save boot messages also to boot.log<br>local7.* /var/log/boot.log<br># ### begin forwarding rule ###<br># The statement between the begin ... end define a SINGLE forwarding<br># rule. They belong together, do NOT split them. If you create multiple<br># forwarding rules, duplicate the whole block!<br># Remote Logging (we use TCP for reliable delivery)<br>#<br># An on-disk queue is created for this action. If the remote host is<br># down, messages are spooled to disk and sent when it is up again.<br><span class="tag">#$ActionQueueFileName</span> fwdRule1 # unique name prefix for spool files<br><span class="tag">#$ActionQueueMaxDiskSpace</span> 1g # 1gb space limit (use as much as possible)#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown#$ActionQueueType LinkedList # run asynchronously#$ActionResumeRetryCount -1 # infinite retries if host is down# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional#*.* <span class="tag">@@remote-host:514#</span><span class="tag"></span>/var/log/boot.log## Logging much else clutters up the screen.#kern.* /dev/console# Log anything (except mail) of level info or higher.# Don't log private authentication messages!<br>*.alert /var/log/alert.log<br>*.notice /var/log/notice.log<br>*.error /var/log/err.log<br>*.info;mail.none;authpriv.none;cron.none /var/log/messages<br># The authpriv file has restricted access.<br>authpriv.* /var/log/secure<br># Log all the mail messages in one place.<br>mail.* -/var/log/maillog# Log cron stuff<br>cron.* /var/log/cron<br># Everybody gets emergency messages<br>*.emerg :omusrmsg:*<br># Save news errors of level crit and higher in a special file.<br>uucp,news.crit /var/log/spooler# Save boot messages also to boot.log<br>local7.* /var/log/boot.log<br># ### begin forwarding rule ###<br># The statement between the begin <span class="tag">...</span> end define a SINGLE forwarding<br># rule. They belong together, do NOT split them. If you create multiple<br># forwarding rules, duplicate the whole block!<br># Remote Logging (we use TCP for reliable delivery)<br>#<br># An on-disk queue is created for this action. If the remote host is<br># down, messages are spooled to disk and sent when it is up again.<br>#$ActionQueueFileName fwdRule1 # unique name prefix for spool files<br>#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown#$ActionQueueType LinkedList # run asynchronously#$ActionResumeRetryCount -1 # infinite retries if host is down# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional#*.* @@remote-host:514# ### end of the forwarding rule ###<br><br><br>
配置文件解释:<br>此处用的是 udp 514 端口进行接收日志,并且我把日志分成了如下四个级别分别对应一个日志文件夹。<br>1、alert /var/log/alert.log<br>2、notice /var/log/notice.log<br>3、error /var/log/err.log<br>4、info /var/log/messages
然后进入/var/log 目录创建 3 个文件 alert.log 、notice.log、 err.log,命令如下:<br>touch alert.log touch notice.log touch err.log<br>
然后开启 rsyslog 服务,命令如下:<br>systemctl restart rsyslog<br>
查看状态,命令如下:<br>systemctl status rsyslog<br><br>
查看日志:<br>tail -100f shanshi.log<br><br>
0 条评论
下一页