rsyslog的relp转发及自定义端口号问题

rsyslog机制很强大,可以汇聚分散的日志到一台日志服务器上,方便查看和调试。安装起来非常简单:

shell> cd /etc/yum.repos.d/
shell> wget http://rpms.adiscon.com/v8-stable/rsyslog.repo
shell> yum install rsyslog

centos6.5默认还是rsyslog7.x的版本,这里给出的是安装官方最新的版本。

在此记录下rsyslog配置imrelp/omrelp时的诡异问题,期间走了不少弯路,给大家参考。关于rsyslog的中文文档大多大同小异,且很多都过时了,请大家注意下,最好还是直接看英文的,虽然很多,但是能省去很多麻烦。中文的就大概看看原理就好了。

但是,按照官方给出的omrelp的转发机制,配置后无法收到日志:

cat  /etc/redhat-release

CentOS release 6.5 (Final)

在此版本,在这些repo下:

[[email protected] rsyslog]# ll /etc/yum.repos.d/

总用量 52

-rw-r--r--. 1 root root  833 6月  16 17:23 atomic.repo

-rw-r--r--. 1 root root  833 6月  16 16:53 atomic.repo.rpmsave

-rw-r--r--. 1 root root 1926 12月  1 2013 CentOS-Base.repo

-rw-r--r--. 1 root root  638 12月  1 2013 CentOS-Debuginfo.repo

-rw-r--r--. 1 root root  630 12月  1 2013 CentOS-Media.repo

-rw-r--r--. 1 root root 4528 12月  1 2013 CentOS-Vault.repo

-rw-r--r--. 1 root root 4528 6月  16 16:53 CentOS-Vault.repo.rpmsave

-rw-r--r--. 1 root root  165 6月  16 16:53 haodf.repo

-rw-r--r--. 1 root root 1250 1月  23 06:03 puppetlabs.repo

-rw-r--r--. 1 root root  397 6月  16 16:53 puppet.repo

-rw-r--r--. 1 root root  227 6月  25 18:36 rsyslog.repo

yum upgrade后,发现rsyslog无法进行relp转发。

client上的/etc/rsyslog.conf:

module(load="imuxsock") # provides support for local system logging (e.g. via logger command)
module(load="imklog")   # provides kernel logging support (previously done by rklogd)
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf

*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  /var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log

$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

$ModLoad omrelp
local1.*   :omrelp:192.168.1.104:40888

server上的/etc/rsyslog.conf:

module(load="imuxsock") # provides support for local system logging (e.g. via logger command)
module(load="imklog")   # provides kernel logging support (previously done by rklogd)

module(load="imrelp")
input(type="imrelp" port=“40888")

$umask 0000
$DirCreateMode 0750
$FileCreateMode 0750

$template MySelf, "%fromhost-ip% %$now% %timereported:12:23:date-rfc3339% %pri-text% %msg%\n"
$template DynaFile, "/home/avatar/logs/remote/%syslogtag:F,58:1%/%$YEAR%-%$MONTH%-%$DAY%.log"

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

$IncludeConfig /etc/rsyslog.d/*.conf

local1.*  -?DynaFile;MySelf

*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  /var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log

分别重启后,测试:logger -p local1.info -t t/a “a3”

server端没有任何反应。

尝试监听client端口:/usr/sbin/tcpdump -i eth1 -s 0 -l -w - dst port 40888| strings, 查看client机,没有40888的转发;

期间在google被墙的恶劣环境下,走各种代理,查资料,走了各种弯路,看了前人讨论的各种maillist,被一句话提醒:strafe is very helpful in finding the problem.

strace居然给忘了,直接来:strace -tt -s 500 -fp RSYSLOG的进程号 -o strace.log,结果中类似于:connect(6, {sa_family=AF_INET, sin_port=htons(XXXX), sin_addr=inet_addr(“192.168.X.X")},
16) = -1 EACCES (Permission denied)

说明端口转发失败了。

顺着EACCES (Permission denied)继续查:http://help.papertrailapp.com/kb/configuration/troubleshooting-remote-syslog-reachability

  • 安装:yum install policycoreutils-python;
  • semanage port --list 列出了当前允许的所有端口及协议,grep 40888,当然没有了;
  • semanage port -a -t syslogd_port_t -p tcp 40888
  • semanage port —list | grep 40888,可以看到syslogd_port_t tcp 40888 已经有了;
  • /sbin/service rsyslog restart
  • logger -p local1.info -t t/a “a3”  #就可以成功了。

另外关于rsyslog的安全问题,可以参考:http://wiki.rsyslog.com/index.php/Security

简单原理介绍:http://huoding.com/2014/05/09/347

参考级别:http://wiki.gentoo.org/wiki/Rsyslog

rsyslog的relp转发及自定义端口号问题,布布扣,bubuko.com

时间: 2024-10-18 15:08:41

rsyslog的relp转发及自定义端口号问题的相关文章

网络端口号大全

网络端口号大全 1 tcpmux TCP 端口服务多路复用5 rje 远程作业入口7 echo Echo 服务9 discard 用于连接测试的空服务11 systat 用于列举连接了的端口的系统状态13 daytime 给请求主机发送日期和时间17 qotd 给连接了的主机发送每日格言18 msp 消息发送协议19 chargen 字符生成服务:发送无止境的字符流20 ftp-data FTP 数据端口21 ftp 文件传输协议(FTP)端口:有时被文件服务协议(FSP)使用22 ssh 安全

TCP/IP 端口号大全

TCP/IP 端口号大全 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qotd 给连接了的主机发送每日格言 18 msp 消息发送协议 19 chargen 字符生成服务:发送无止境的字符流 20 ftp-data FTP 数据端口 21 ftp 文件传输协议(FTP)端口:有时被文件服务协议(

SQL Server配置管理器的“别名”功能好处,实现内外网统一以及加了端口号导致的限制

这里主要有两个别名,经过研究,最好两个都配置成一样的,减少排查. 操作: 点击[别名],右键[新建别名] 这里的别名能实现比如我一台远程服务器,加了端口的,如果要实现在SQL登录的时候,使用计算机名来操作时,通过别名功能,把远程IP+端口写进去,最后别名自定义写个,之后就可以通过自定义的别名登录,不用加任何端口访问. 且通过别名的功能,能实现发布订阅这些只能内网的机器访问通过外网访问. 好处: 1.订阅发布功能,这个要求是统一内网访问,别名功能配置后,能通过别名实现类似内网的操作.且加了端口号的

SQL:安装多个实例,修改实例端口号,和IP加端口号连接实例

sql server 安装第一个实例,默认实例的端口是1433, 一个库中如果有多个实例,从第二个实例开始的端口是动态端口,需要的话,自己手工指定为静态端口,如指定第二个实例为1434 或着随意一个如2080端口 方法: 点击电脑左下方的“开始”->“Microsoft SQL Server2005”->“配置工具”->“SQL Server Configuration Manager”-> “展开网络配置” -->点击“MYSQLSERVER协议” --> 双击左侧新

Wireshark分析非标准端口号流量

Wireshark分析非标准端口号流量 2.2.2  分析非标准端口号流量Wireshark分析非标准端口号流量 应用程序运行使用非标准端口号总是网络分析专家最关注的.关注该应用程序是否有意涉及使用非标准端口,或暗中想要尝试通过防火墙本文选自WireShark数据包分析实战详解清华大学出版社. 1.分配给另一个程序的端口号 当某数据包使用非标准端口上,如果被Wireshark识别出是使用另一个程序,则说明Wireshark可能使用了错误的分析器,如图2.19所示本文选自WireShark数据包分

端口号简介

今天,同学问了比较多的端口号的问题,这篇文章是转载的,我稍微的整理了一下,如果侵犯了您的权益,请联系我. 常用的协议端口号: 18 msp 消息发送协议 22 ssh 安全 Shell(SSH)服务 25 smtp 简单邮件传输协议(SMTP) 37 time 时间协议 123 ntp 网络时间协议(NTP) 80 http 用于万维网(WWW)服务的超文本传输协议(HTTP) 443 https 安全超文本传输协议(HTTP) ftp协议端口: 20 ftp-data FTP 数据端口   2

windows端口号速查表

windows端口号速查表 1 tcpmux TCP 端口服务多路复用  5 rje 远程作业入口  7 echo Echo 服务  9 discard 用于连接测试的空服务  11 systat 用于列举连接了的端口的系统状态  13 daytime 给请求主机发送日期和时间  17 qotd 给连接了的主机发送每日格言  18 msp 消息发送协议  19 chargen 字符生成服务:发送无止境的字符流  20 ftp-data FTP 数据端口  21 ftp 文件传输协议(FTP)端口

春哥技术博客:宝塔Linux如何修改SSH端口号教程

今天春哥技术博客就客户咨询关于如何修改设置宝塔Linux默认SSH端口号的问题,下面春哥统一写文章教程,大家直接看就可以了. 为了提供服务器的安全性,部分站长需要修改SSH端口,默认端口为22,怎么修改SSH自定义端口呢,比如修改为8899,是否需要在防火墙放行? 其实和其他端口放行操作方法一样的,直接在宝塔的防火墙里面放行就可以了.具体操作方法如下: 登陆宝塔面板后台,在顶部有是否启动SSH 和 SSH 端口 22 这两个操作按钮如上图:直接将22改为自定义端口,然后点击 更改 .宝塔防火墙自

网络端口号布局与分类

1. 什么是网络端口 在网络技术中,端口(Port)大致有两种意思: 一. 物理意义上的端口,比如,ADSL Modem.集线器.交换机.路由器用于连接其他网络设备的接口,如RJ-45端口.SC端口等等: 二. 逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等. 2.端口分类 (1)按端口号可分为3大类: <1> 公认端口(Well Known Ports):从0到1023,它们紧密绑定(bindin