[syslog-ng] Stats on destinations with macro's ?

Scot Needy scotrn at gmail.com
Tue Feb 18 21:44:58 CET 2014


stats_level makes no difference to the stats output. 

Level 1 
[root@## ~]# /opt/syslog-ng/sbin/syslog-ng-ctl stats  |grep destin
destination;d_em7;;a;processed;4304
destination;d_mysql;;a;processed;11711
destination;d_fifo;;a;processed;11711
destination;d_file;;a;processed;11715

[root@## ~]# vi  /etc/syslog-ng/syslog-ng.conf
[root@## ~]# /etc/init.d/syslog-ng restart
Restarting syslog-ng: Stopping syslog-ng:                  [  OK  ]
Starting syslog-ng:                                        [  OK  ]

Level 3 
nohup: appending output to `nohup.out'
[root@## ~]# /opt/syslog-ng/sbin/syslog-ng-ctl stats  |grep destin
destination;d_em7;;a;processed;62
destination;d_mysql;;a;processed;132
destination;d_fifo;;a;processed;132
destination;d_file;;a;processed;136



On Feb 18, 2014, at 3:09 PM, Evan Rempel <erempel at uvic.ca> wrote:

> Try adding the global option
> 
> stats_level(1);
> 
> ________________________________________
> From: Scot Needy [scotrn at gmail.com]
> Sent: Tuesday, February 18, 2014 11:50 AM
> To: Evan Rempel
> Cc: Syslog-ng users' and developers' mailing list
> Subject: Re: [syslog-ng] Stats on destinations with macro's ?
> 
> Ok I must have something wrong with my conf then.
> 
> options { long_hostnames (off);
>        flush_lines (0);
>        use_dns(no);
>        dns_cache(no);
>        use_fqdn(no);
> #       dns_cache_size(2014);
>        check_hostname(no);
>        chain_hostnames(no);
>        keep_hostname(no);
> };
> 
> ######
> # sources
> source src {
>        unix-dgram("/var/run/log");
>        unix-dgram("/var/run/logpriv" perm(0600));
>        internal();
>        file("/dev/klog");
> };
> ### Local sources
> source s_local {
>        internal();
>        unix-stream("/dev/log" max-connections(20));
>        file("/proc/kmsg" program_override("kernel")); };
> ### External Network sources
> source s_net { udp(); tcp(max-connections(50)); };
> # Relay external sources
> log { source(s_net);
>          destination (d_mysql); destination (d_fifo); destination (d_file);
> };
> 
> #######################################################################
> destination d_file { file("/data/syslog-ng/$R_YEAR/$R_MONTH/$R_DAY/$R_HOUR/$HOST.log"
>                        owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes)); };
> ….
> 
> 
> # /opt/syslog-ng/sbin/syslog-ng-ctl stats
> 
> SourceName;SourceId;SourceInstance;State;Type;Number
> global;payload_reallocs;;a;processed;1441
> source;s_net;;a;processed;44079304
> source;s_local;;a;processed;1035
> global;msg_clones;;a;processed;0
> destination;d_mysql;;a;processed;44079304
> src.internal;s_local#0;;a;processed;737
> src.internal;s_local#0;;a;stamp;1392752561
> global;sdata_updates;;a;processed;0
> center;;received;a;processed;0
> destination;d_fifo;;a;processed;44079304
> destination;d_file;;a;processed;44080339
> center;;queued;a;processed;0
> 
> On Feb 18, 2014, at 1:33 PM, Evan Rempel <erempel at uvic.ca> wrote:
> 
>> That certainly is not the way it works on 3.4
>> 
>> I have a file destinations that contain date stamps etc and when I run the
>> 
>> sudo syslog-ng-ctl stats
>> 
>> I get each destination as a separate statistic.
>> 
>> dst.file;d_authorized_unknown#0;/var/syslog/unknown/Windows_Server_Update_Services.unknown.20140218.000000;o;dropped;0
>> dst.file;d_authorized_unknown#0;/var/syslog/unknown/Windows_Server_Update_Services.unknown.20140218.000000;o;processed;5
>> dst.file;d_authorized_unknown#0;/var/syslog/unknown/Windows_Server_Update_Services.unknown.20140218.000000;o;stored;0
>> dst.file;d_authorized_unknown#0;/var/syslog/unknown/flare-event.unknown.20140218.000000;o;dropped;0
>> dst.file;d_authorized_unknown#0;/var/syslog/unknown/flare-event.unknown.20140218.000000;o;processed;200
>> dst.file;d_authorized_unknown#0;/var/syslog/unknown/flare-event.unknown.20140218.000000;o;stored;0
>> ...
>> dst.file;d_authorized_unknown#0;/var/syslog/unknown/runaway.unknown.20140217.000000;o;dropped;0
>> dst.file;d_authorized_unknown#0;/var/syslog/unknown/runaway.unknown.20140217.000000;o;processed;156
>> dst.file;d_authorized_unknown#0;/var/syslog/unknown/runaway.unknown.20140217.000000;o;stored;0
>> ...
>> 
>> 
>> so that should be what you are loooking for.
>> 
>> the "o" in the last three lines indicates that the destination is old (closed due to idle timeout)
>> 
>> 
>> 
>> On 02/18/2014 04:33 AM, Scot wrote:
>>> 
>>> I realized my problem, if a destination contains a macro it’s still defined as one destination.
>>> 
>>> Looking for direction here….
>>> 
>>> My intention is to get syslog-ng-ctl to report stats on each VLAN in our environment while logging to a destination such as /var/log//$YYYY/$MM/$DD/$VLAN-Name-$SEVERITY.log . VLAN’s in our environment are defined in a  IPAM database with a name and subnet.
>>> 
>>> I can drive a include file for syslog-ng.conf with a script, I just need guidence on the format of the config file.
>>> 
>>> I would like to define a unique destination per subnet+severity so syslog-ng-ctl will give me counters if a subnet start sending large numbers of critical messages for example.
>>> 
>>> I also feel I need a catch all for any message that does not match a defined destination. These would be malformed messages from hosts which would need to be corrected so they get to the proper destination.
>>> 
>>> I think the subnet destinations would be be driven by matching subnet filters something like so…. but how would one create a filter that defines everything NOT matched by another filter  ?
>>> 
>>> if VLAN...
>>> or VLAN…
>>> or VLAN…
>>> else everything_else..
>>> 
>>> 
>>> NOTE: Syntax may be off, this is just from memory.
>>> 
>>> destination VLAN_NAME_HIGH_des { file(“/var/log/$YYYY/$MM/$DD/$VLAN_NAME.log”)};
>>> filter VLAN_NAME_HIGH_des { netmask(“192.168.1.0/255.255.255.0”); level(warn..emerg)};
>>> 
>>> destination VLAN_NAME_LOW_des { file(“/var/log/$YYYY/$MM/$DD/$VLAN_NAME.info”)};
>>> filter VLAN_NAME_LOW_des { netmask(“192.168.1.0/255.255.255.0”); level(info..notice)};
>>> 
>>> Sent from my iPad
>>> 
>>>> On Feb 14, 2014, at 8:40 AM, Jakub Jankowski <shasta at toxcorp.com> wrote:
>>>> 
>>>>> On 14.02.2014 02:55, Scot wrote:
>>>>> Is there a trick to get stats on destinations with macros ?
>>>>> 
>>>>> I get stats on my FIFO, local, net work destinations but not on the destinations with macros.
>>>> 
>>>> What do you mean by 'destinations with macros'? Does local file()
>>>> destination (with macros) count? Then it works for me (on 3.5.3):
>>>> 
>>>> # syslog-ng-ctl stats | grep d_net_test
>>>> destination;d_net_test;;a;processed;888891
>>>> # grep 'destination d_net_test' /etc/syslog-ng/syslog-ng.conf
>>>> destination d_net_test { file("/var/log/$HOST/$R_YEAR-$R_MONTH.log"); };
>>>> #
>>>> 
>>>> 
>>>> Regards,
>>>> 
>>>> --
>>>> Jakub Jankowski|shasta at toxcorp.com|http://toxcorp.com/
>>>> GPG: FCBF F03D 9ADB B768 8B92 BB52 0341 9037 A875 942D
>>>> ______________________________________________________________________________
>>>> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>>>> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
>>>> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>>>> 
>>> ______________________________________________________________________________
>>> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
>>> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
>>> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
>>> 
>> 
>> 
>> --
>> Evan Rempel                                      erempel at uvic.ca
>> Senior Systems Administrator                        250.721.7691
>> Data Centre Services, University Systems, University of Victoria
> 



More information about the syslog-ng mailing list