On Wed, Feb 19, 2014 at 4:02 PM, David Lang <[email protected]> wrote:

> On Wed, 19 Feb 2014, Rainer Gerhards wrote:
>
>  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.
>>
>
> good point, is this something we can fix in the PPA?
>
>
partly... the real problem is that other packages (like logrotate) need to
be fixed as well. But it would be great if someone would have a look at
that all..

Rainer

> David Lang
>
>
>
>> 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.
>>
>>  _______________________________________________
> 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.

Reply via email to