are you on ubuntu? Their defaut config drops privileges, but the file system has wrong perms. Suggest to trx runniung as root, at least for a try.
Rainer On Wed, Feb 19, 2014 at 3:30 PM, Chris Mann <[email protected]> wrote: > > On Feb 19, 2014, at 8:33 AM, David Lang <[email protected]> wrote: > > > On Wed, 19 Feb 2014, Chris Mann wrote: > > > >> On Feb 18, 2014, at 8:08 PM, David Lang <[email protected]> wrote: > >> > >>> On Tue, 18 Feb 2014, Chris Mann wrote: > >>> > >>>> Hello all, > >>>> > >>>> I'm trying to send a custom log file that our program generates to > the remote rsyslog server, with little to no luck. Ideally, I'd like to > have that log sent to it's own file and not mixed in with the syslog > traffic. > >>>> > >>>> We're using Ubuntu 12.04LTS > >>> > >>> So, if you are using the default version of rsyslog, this is old > enough that it's unsupported by the community (but your issue is probably > not version dependant), what version is running? > >> > >> I'm running v7 stable from the adiscon apt-get repo. > > > > Ok, that helps > > > >>> > >>>> Server rsyslog server config: > >>>> > >>>> $ModLoad imuxsock # provides support for local system logging > >>>> $ModLoad imklog # provides kernel logging support (previously done > by rklogd) > >>>> $ModLoad immark # provides --MARK-- message capability > >>>> > >>>> # provides UDP syslog reception > >>>> #$ModLoad imudp > >>>> #$UDPServerRun 514 > >>>> > >>>> # provides TCP syslog reception > >>>> $ModLoad imtcp > >>>> $InputTCPServerRun 10514 > >>> > >>> why use an odd port like this instead of using the standard 514 port? > >> > >> Just preference and as Rainer said, 514 is used by something else :). > >> > >>> > >>>> $template DynaFile,"/var/log/remote/%HOSTNAME%.log" > >>>> *.* -?DynaFile > >>> > >>> ok, this logs everything into per hostname files, with no filtering > ahead of it. > >>> > >>>> ########################### > >>>> #### GLOBAL DIRECTIVES #### > >>>> ########################### > >>>> > >>>> # > >>>> # Use traditional timestamp format. > >>>> # To enable high precision timestamps, comment out the following line. > >>>> # > >>>> $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat > >>>> > >>>> # Filter duplicated messages > >>>> $RepeatedMsgReduction on > >>>> > >>>> # > >>>> # Set the default permissions for all log files. > >>>> > >>>> $FileOwner syslog > >>>> $FileGroup adm > >>>> $FileCreateMode 0640 > >>>> $DirCreateMode 0755 > >>>> $Umask 0022 > >>>> $PrivDropToUser syslog > >>>> $PrivDropToGroup adm > >>>> > >>>> # > >>>> # Where to place spool files > >>>> # > >>>> $WorkDirectory /var/spool/rsyslog > >>>> > >>>> # > >>>> # Include all config files in /etc/rsyslog.d/ > >>>> # > >>>> $IncludeConfig /etc/rsyslog.d/*.conf > >>>> > >>>> # This one is the template to generate the log filename dynamically, > depending on the client's IP address. > >>>> $template > %RemoteHost,,"/var/log/remote/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/syslog.log" > >>> > >>> this template is by hostname, not client IP, you would use > %fromhost-ip% instead of %hostname% if you want it by IP > >>> > >>> but it really doesn't matter since you don't have anything that uses > this template. I also think that you can't use % in a tempate name, and > should only have one , > >>> > >>> as a result, I'm pretty sure that you get errors about being unable to > parse the config file when you startup. > >> > >> Actually, I'm not getting any errors on start up. rsyslog starts up > just fine. > > > > are you shure? double check that it's not logging anything about errors > at startup time. that line just doesn't look right. I also don't see any > place that you are trying to use this template. > > Nothing in the log, honest: > > Feb 19 14:25:10 bundt rsyslogd: [origin software="rsyslogd" > swVersion="7.4.10" x-pid="31532" x-info="http://www.rsyslog.com"] start > Feb 19 14:25:10 bundt rsyslogd: rsyslogd's groupid changed to 4 > Feb 19 14:25:10 bundt rsyslogd: rsyslogd's userid changed to 101 > > > > >>> > >>>> > >>>> Client rsyslog config: > >>>> > >>>> # $ModLoad imfile > >>>> $ModLoad imuxsock # provides support for local system logging > >>>> $ModLoad imklog # provides kernel logging support (previously done > by rklogd) > >>>> # $ModLoad immark # provides --MARK-- message capability > >>>> > >>>> # Watch /var/log/ejabberd/ejabberd.log > >>>> module(load="imfile" PollingInterval="10") > >>>> input(type="imfile" > >>>> File="/var/log/ejabberd/ejabberd.log" > >>>> Tag="ejabberd:" > >>>> StateFile="state-ejabberd" > >>>> Severity="info" > >>>> Facility="local6" > >>>> ) > >>>> > >>>> # Provides UDP forwarding. The IP is the server's IP address > >>>> # *.* @54.227.155.34:514 > >>>> > >>>> # Provides TCP forwarding. But the current server runs on UDP > >>>> *.* @@devil.walkingservers.net:10514 > >>>> > >>>> # provides UDP syslog reception > >>>> #$ModLoad imudp > >>>> #$UDPServerRun 514 > >>>> > >>>> # provides TCP syslog reception > >>>> #$ModLoad imtcp > >>>> #$InputTCPServerRun 514 > >>>> > >>>> > >>>> ########################### > >>>> #### GLOBAL DIRECTIVES #### > >>>> ########################### > >>>> > >>>> # > >>>> # Use traditional timestamp format. > >>>> # To enable high precision timestamps, comment out the following line. > >>>> # > >>>> $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat > >>>> > >>>> # Filter duplicated messages > >>>> $RepeatedMsgReduction on > >>>> > >>>> # > >>>> # Set the default permissions for all log files. > >>>> # > >>>> $FileOwner syslog > >>>> $FileGroup adm > >>>> $FileCreateMode 0640 > >>>> $DirCreateMode 0755 > >>>> $Umask 0022 > >>>> $PrivDropToUser syslog > >>>> $PrivDropToGroup adm > >>>> > >>>> # > >>>> # Where to place spool files > >>>> # > >>>> $WorkDirectory /var/spool/rsyslog > >>>> > >>>> # > >>>> $IncludeConfig /etc/rsyslog.d/*.conf > >>>> > >>>> > >>>> Can someone kick me in the direction of where I'm screwing up? > >>> > >>> In general, you should put global directives before any output. I > don't know if that matters or not > >>> > >>> I don't know of there is anything being added by the include lines. > >>> > >>> > >>> so, this sends logs from the client to the server, using the default > format (because you haven't specified anything), and the server then writes > them to /var/log/<hostname>.log files > >>> > >>> now, you do set the logs you read from the file to the facility > local6, so you could filter on that on the server if you want them written > separately > >>> > >>> but, what is it that you think should be happening with this config? > and what is actually happening? > >> > >> Long story short, I'd like the ejabberd.log file to go to > /var/log/remotes/$hostname/ejabberd.log as well as have the remote syslog > file go to the same place on the rsyslog server. I'll fully admit, I'm new > to rsyslog. I've tried the docs, but there seems to be such a vast way of > doing things like this between v5 and v7, I'm all turned around and not > sure exactly what the right way is. > > > > Ok, in this case, the easy thing to do on the server is > > > > $template ejabberd,"/var/log/remotes/%hostname%/ejabberd.log > > if $syslogtag == "ejabberd:" then ?ejabberd > > > > this creates the template for the filename, then when it sees anything > with the syslog tag of ejabberd: (what you set on the client), it writes it > to that log. This will also show up in any other logs that have rules that > match this. If you don't want these logs to show up anywhere else, you can > do > > > > if $syslogtag == "ejabberd:" then { ?ejabberd > > stop } > > > > or, in v5 compatible language > > > > if $syslogtag == "ejabberd:" then ?ejabberd > > & ~ > > > > I must be extra slow and dense. I added this into the rsyslog.conf file, > under the module loading bit, and still nothing showing up. Now that I > think about it for a bit, the ejabberd.log has long entries. By that I > mean, the entries are not one liners, but more multi line paragraphs. Would > that bork what I'm trying to do? > > > > > when looking at the docs, what you will typically see is that the v7 > format groups all the parameters together in one statement, while the older > format requires that you set a bunch of parameters before each action, and > some parameters only affect the next action while others have longer > lasting effects. This can get rather confusing in complex setups, which is > why the v7 format added the new way of describing complex stuff. > > > > side note: you probably don't really want RepeatedMsgReduction turned > on. what that does is that if a system logs the same message repeatedly, > instead of showing all the messages, you get a log entry "last message > repeated 13 times", but it can be hard to figure out what that last message > was (rsyslog has an option that puts the beginning of that log message > after the "last message text"). Also, all the tools that you would use for > alerting will want to see the actual messages, "last message repeated" just > confuses them. > > > > we should probably add to the documentation to discourage use of that > parameter. > > _______________________________________________ > rsyslog mailing list > http://lists.adiscon.net/mailman/listinfo/rsyslog > http://www.rsyslog.com/professional-services/ > What's up with rsyslog? Follow https://twitter.com/rgerhards > NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad > of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you > DON'T LIKE THAT. > _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/ What's up with rsyslog? Follow https://twitter.com/rgerhards NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE THAT.

