rsyslog的relp转发及自定义端口号问题
来源:互联网 发布:mac玩美服lol加速器 编辑:程序博客网 时间:2024/06/02 04:15
rsyslog机制很强大,可以汇聚分散的日志到一台日志服务器上,方便查看和调试。安装起来非常简单:
shell> cd /etc/yum.repos.d/shell> wget http://rpms.adiscon.com/v8-stable/rsyslog.reposhell> yum install rsyslog
centos6.5默认还是rsyslog7.x的版本,这里给出的是安装官方最新的版本。
在此记录下rsyslog配置imrelp/omrelp时的诡异问题,期间走了不少弯路,给大家参考。关于rsyslog的中文文档大多大同小异,且很多都过时了,请大家注意下,最好还是直接看英文的,虽然很多,但是能省去很多麻烦。中文的就大概看看原理就好了。
但是,按照官方给出的omrelp的转发机制,配置后无法收到日志:
cat /etc/redhat-release
CentOS release 6.5 (Final)
在此版本,在这些repo下:
[root@publisher-14 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/messagesauthpriv.* /var/log/securemail.* /var/log/maillogcron.* /var/log/cron*.emerg :omusrmsg:*uucp,news.crit /var/log/spoolerlocal7.* /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 omrelplocal1.* :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/*.conflocal1.* -?DynaFile;MySelf*.info;mail.none;authpriv.none;cron.none /var/log/messagesauthpriv.* /var/log/securemail.* /var/log/maillogcron.* /var/log/cron*.emerg :omusrmsg:*uucp,news.crit /var/log/spoolerlocal7.* /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转发及自定义端口号问题
- rsyslog的relp转发及自定义端口号问题
- nginx做非80端口转发丢失端口的问题
- SSH连接及端口转发
- 交换机的三种端口类型及转发原理
- linux 中端口转发问题
- nginx 端口转发跳转问题
- 关于小米路由MINI无法端口转发的问题
- 使用端口转发解决nodejs在80端口上的监听权限问题
- 使用端口转发解决nodejs在80端口上的监听权限问题
- Mac端口转发解决eclipse/idea/tomcat不能启动80端口的问题
- 免费的端口转发工具
- 防火墙端口转发的实现
- HTran的实现端口转发
- rsyslog打印会丢失log的问题
- linux ssh 转发端口及使用
- 端口转发
- 端口转发
- hbase 线程处理
- 3D SLicer中图像分割与配准的具体思路
- warning: directory not found for option ' '
- 计算机网络(三)
- 枚举算法
- rsyslog的relp转发及自定义端口号问题
- 2017 字符串统计
- 《python源码剖析》笔记 pythonm内存管理机制
- python对xml文件操作小例程
- error:the kernel you are installing for is a xen kernel!
- maven 转载
- android 异步处理采用Thread + Handler + Message
- 2018 母牛的故事
- Linux -- Crond 定时任务