Rsyslog的远程传输日志(系统日志篇)

ip.10作为server
ip.11和ip.12作为client

编辑server端ip.10的/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)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability

# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

$ModLoad imudp  引用udp协议的模块
$UDPServerRun 514  设置udp协议使用端口

# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
$ModLoad imtcp 引用tcp协议的模块
$InputTCPServerRun 514 设置tcp协议使用端口

$WorkDirectory /var/lib/rsyslog
$AllowedSender tcp, ip.0/24 此处设置的是允许发送的网段
#### GLOBAL DIRECTIVES ####

# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$template Remote,"/data/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log" 设置远程存放日志的路径和文件格式
:fromhost-ip, !isequal, "127.0.0.1" ?Remote  过滤掉本机日志(此处不是很懂)
# 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
#### RULES ####

# Log all kernel messages to the console.
# 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!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 *

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log

# ### begin forwarding rule ###
# The statement between the begin ... end define a SINGLE forwarding
# rule. They belong together, do NOT split them. If you create multiple
# forwarding rules, duplicate the whole block!
# Remote Logging (we use TCP for reliable delivery)
#
# An on-disk queue is created for this action. If the remote host is
# down, messages are spooled to disk and sent when it is up again.
#$WorkDirectory /var/lib/rsyslog # where to place spool files
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
#$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 ###

汉字标注部分是修改过或者添加过的配置
在server端创建目录/data/log
mkdir -pv /data/log -v的作用,创建完目录后会有文字提示
然后重启服务
service rsyslog restart
编辑client1端ip.11的/etc/rsyslog.conf文件
*. * @@ip.10:514
client端的配置只增加了一行,指定日志发送的远程主机(ip)和端口。
然后重启服务
service rsyslog restart
编辑client1端ip.11的/etc/rsyslog.conf文件
*. * @@ip.10:514
client端的配置只增加了一行,指定日志发送的远程主机(ip)和端口。
然后重启服务
service rsyslog restart

进行验证
tailf /data/log/ip.11/nameOfFile
日志里面没有报错信息,证明配置正确,可以进行远程传输日志。

然后进行写日志测试
logger “The second mes from wyk12”
可以在这里收到日志信息

而且在/var/log/messages里面也可收到相同信息,这里的信息是包括11和12以及10本身的日志信息。

至此,系统日志的远程发送和接收日志信息就搞定了,接下来就该是非系统服务的应用了。
未完待续!

尚未解决的错误记录(之所以尚未解决是因为后来的配置没有用到这些东西,所以没有报错,但是随着以后学习的深入,这些问题肯定会遇到,到时候在慢慢解决吧。):
1、Apr 25 10:40:50 p11-wangyini rsyslogd-2066: could not load module ‘/lib64/rsyslog/imjournal.so’, dlopen: /lib64/rsyslog/imjournal.so: cannot open shared object file: No such file or directory
2、Apr 25 10:40:50 p11-wangyini rsyslogd: the last error occured in /etc/rsyslog.conf, line 3:”$ModLoad imjournal # provides access to the systemd journal”
3、Apr 25 10:40:50 p11-wangyini rsyslogd-3003: invalid or yet-unknown config file command - have you forgotten to load a module? [try http://www.rsyslog.com/e/3003 ]
4、Apr 25 10:45:07 p11-wangyini rsyslogd: the last error occured in /etc/rsyslog.conf, line 9:” OmitLocalLoggingon5Apr2510:45:07p11wangyinirsyslogd:thelasterroroccuredin/etc/rsyslog.conf,line10: IMJournalStateFile imjournal.state”
6、Apr 25 10:45:07p11-wangyini rsyslogd-2124: CONFIG ERROR: could not interpret master config file ‘/etc/rsyslog.conf’. [try http://www.rsyslog.com/e/2124 ]
7、Apr 25 10:51:28 p11-wangyini rsyslogd: imuxsock does not run because we could not aquire any socket

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Syslog是一种标准的日志传输协议,常用于将各种系统和应用程序的日志信息发送到远程日志服务器。下面是安装、配置和测试Syslog客户端和服务端的步骤。 1. 安装Syslog服务端 在Syslog服务端上,可以使用syslog-ng或rsyslog等软件来实现日志收集和转发。例如,在Ubuntu上,可以使用以下命令安装rsyslog: ``` sudo apt-get update sudo apt-get install rsyslog ``` 2. 配置Syslog服务端 在Syslog服务端上,需要配置rsyslog以便接收和处理来自客户端的日志。编辑 /etc/rsyslog.conf 文件,将以下配置添加到文件末尾: ``` # Provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # Log to local files $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $FileOwner syslog $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 $WorkDirectory /var/spool/rsyslog # Log messages from remote systems with the hostname in the message $template RemoteHost,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?RemoteHost ``` 这个配置实现了以下功能: - 开启UDP监听514端口,以接收来自客户端的日志信息; - 将日志信息记录到本地文件; - 使用主机名和程序名作为日志文件的名称。 3. 重启Syslog服务端 在修改了rsyslog配置文件之后,需要重启rsyslog服务以使其生效: ``` sudo systemctl restart rsyslog ``` 4. 安装Syslog客户端 在Syslog客户端上,也可以使用rsyslog或syslog-ng等软件来实现日志发送。例如,在Ubuntu上,可以使用以下命令安装rsyslog: ``` sudo apt-get update sudo apt-get install rsyslog ``` 5. 配置Syslog客户端 在Syslog客户端上,需要配置rsyslog以便发送日志远程rsyslog服务器。编辑 /etc/rsyslog.conf 文件,将以下配置添加到文件末尾: ``` *.* @syslog-server-ip-address:514 ``` 其中,syslog-server-ip-address是rsyslog服务端的IP地址。这个配置指示rsyslog将所有的日志信息发送到rsyslog服务端的514端口。 6. 重启Syslog客户端 在修改了rsyslog配置文件之后,需要重启rsyslog服务以使其生效: ``` sudo systemctl restart rsyslog ``` 7. 测试Syslog客户端和服务端 在Syslog客户端上,生成一些日志信息,例如执行以下命令: ``` logger "This is a test message" ``` 然后,在Syslog服务端上,检查/var/log/messages文件,查看是否有类似以下的日志信息: ``` Jan 1 00:00:00 client-hostname This is a test message ``` 如果可以看到类似的日志信息,则表示Syslog客户端和服务端已成功配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值