docker containers里面的rsyslog =>“rsyslogd没有运行…失败”

我正在docker容器中运行rsyslog发送UDP消息到logstash。

当我login泊坞窗容器时,input:

service rsyslog status 

说明:

 rsyslogd is not running ... failed! 

但是,当我在容器中时,如果input:

 service rsyslog start 

它完美启动,没有错误,也没有真正的迹象表明它在一开始就失败了

我不能说出为什么它失败!

* rsyslog conf文件没有被修改,除了允许imfile的模块。 rsyslog.conf如下所示:

 # /etc/rsyslog.conf Configuration file for rsyslog. # # For more information see # /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html ################# #### MODULES #### ################# module(load="imfile" PollingInterval="10") module(load="imuxsock" ) # provides support for local system logging module(load="immark") #provides --MARK-- message capability ########################### #### GLOBAL DIRECTIVES #### ########################### # # Use traditional timestamp format. # To enable high precision timestamps, comment out the following line. # $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # # Set the default permissions for all log files. # $FileOwner root $FileGroup adm $FileCreateMode 0644 $DirCreateMode 0755 $Umask 0022 # # Where to place spool and state files # $WorkDirectory /var/spool/rsyslog # # Include all config files in /etc/rsyslog.d/ # $IncludeConfig /etc/rsyslog.d/*.conf ############### #### RULES #### ############### # # First some standard log files. Log by facility. # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog #cron.* /var/log/cron.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log user.* -/var/log/user.log # # Logging for the mail system. Split it up so that # it is easy to write scripts to parse these files. # mail.info -/var/log/mail.info mail.warn -/var/log/mail.warn mail.err /var/log/mail.err # # Logging for INN news system. # news.crit /var/log/news/news.crit news.err /var/log/news/news.err news.notice -/var/log/news/news.notice # # Some "catch-all" log files. # *.=debug;\ auth,authpriv.none;\ news.none;mail.none -/var/log/debug *.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none -/var/log/messages # # Emergencies are sent to everybody logged in. # *.emerg :omusrmsg:* # # I like to have messages displayed on the console, but only on a virtual # console I usually leave idle. # #daemon,mail.*;\ # news.=crit;news.=err;news.=notice;\ # *.=debug;*.=info;\ # *.=notice;*.=warn /dev/tty8 # The named pipe /dev/xconsole is for the `xconsole' utility. To use it, # you must invoke `xconsole' with the `-file' option: # # $ xconsole -file /dev/xconsole [...] # # NOTE: adjust the list below, or you'll go crazy if you have a reasonably # busy site.. # daemon.*;mail.*;\ news.err;\ *.=debug;*.=info;\ *.=notice;*.=warn |/dev/xconsole 

*我有一个脚本文件,启动rsyslog

 if [[ -z "$(pgrep rsyslog)" ]]; then echo "starting rsyslog" service rsyslog start fi 

我的conf文件如下:

 ##Get Nginx Error Logs $InputFileName /var/log/nginx/error.log $InputFileTag http-error $InputFileStateFile stat-nginx-error $InputFileSeverity error $InputFileFacility local7 $InputRunFileMonitor #GRAB PHP-FPM ACCESS LOGS $InputFileName /var/log/php-fpm/access_log $InputFileTag php-fpm-access $InputFileStateFile stat-php-fpm-access $InputFileSeverity info $InputFileFacility local7 $InputRunFileMonitor #GRAB PHP-FPM ERROR LOGS $InputFileName /var/log/php-fpm/error_log $InputFileTag php-fpm-error $InputFileStateFile stat-php-fpm-error $InputFileSeverity error $InputFileFacility local7 $InputRunFileMonitor #Json Template template(name="json_temp" type="list") { constant(value="{") constant(value="\"@timestamp\":\"") property(name="timegenerated" dateFormat="rfc3339") constant(value="\",\"message\":\"") property(name="msg") constant(value="\",\"severity_label\":\"") property(name="syslogseverity-text") constant(value="\",\"severity\":\"") property(name="syslogseverity") constant(value="\",\"facility_label\":\"") property(name="syslogfacility-text") constant(value="\",\"facility\":\"") property(name="syslogfacility") constant(value="\",\"program\":\"") property(name="programname") constant(value="\",\"pid\":\"") property(name="procid") constant(value="\",\"rawmsg\":\"") property(name="rawmsg") constant(value="\",\"syslogtag\":\"") property(name="syslogtag") constant(value="\"}\n") } if $programname == 'http-error' then @ip.address:port;json_temp if $programname == 'http-error' then stop if $programname == 'php-fpm-access' then @ip.address:port;json_temp if $programname == 'php-fpm-access' then stop if $programname == 'php-fpm-error' then @ip.address:port;json_temp if $programname == 'php-fpm-error' then stop *.* @ip.address:port;json_temp 

任何帮助将是可怕的,因为我不明白为什么它不启动。

干杯