<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="generator" content="Osso Notes">
    <title></title></head>
<body>
<p>----- Original message -----
<br>&gt; &gt; &gt; *global;payload_reallocs;;a;processed;760*
<br>&gt;
<br>&gt; &gt; this counts the number of reallocs of the message payload. syslog-ng
<br>&gt; sizes the allocated buffer with a simple heuristics in the hope that
<br>&gt; parsing, rewrite rules will not cause it to grow. in your case syslog-ng
<br>&gt; had to do a realloc for 760 messages. if this happens to be close to all
<br>&gt; messages you processed, it's the cause for performance degradation.
<br>&gt;
<br>&gt; &gt; if the first one is true, I'd like to know about it.
<br>&gt;
<br>&gt; At one of my clients hosts(I don't have stats monitoring for all of them
<br>&gt; yet) I have about 45 msg/sec sent by syslog-ng client to syslog-ng server
<br>&gt; and about 4msg/sec reallocated. Does it sound like a problem?
<br>&gt;
<br>
<br>not immediate problem, I just would like to know your use-case. what are these messages and what you do to them.
<br>
<br>I was thinking about a more complicated heuristic when I implemented this code, but then I decided to defer them until I saw actual uses where something better is needed
<br>
<br>&gt;
<br>&gt;
<br>&gt; On Sun, Dec 30, 2012 at 11:31 PM, Anton Koldaev &lt;<a href="mailto:koldaevav@gmail.com">koldaevav@gmail.com</a>&gt;
<br>&gt; wrote:
<br>&gt;
<br>&gt; &gt; Balazs, I hope you can answer the following questions:
<br>&gt; &gt; 1. Is that formula correct?
<br>&gt; &gt; *SUM(`syslog-ng-ctl stats | grep source | grep processed`) ==
<br>&gt; &gt; SUM(`syslog-ng-ctl stats | grep source | grep processed`)*
<br>&gt; &gt;
<br>&gt; &gt; If I'm not dropping any messages by 'flags(final)' without sending to
<br>&gt; &gt; any destination and also I'm not sending the same logs to multiple
<br>&gt; &gt; destinations.
<br>&gt; &gt;
<br>&gt; &gt; Where SUM - summarize messages count in each line.
<br>&gt; &gt;
<br>&gt; &gt; 2. I don't need 'dst.name...' and 'src.name...' to get the summ, right?
<br>&gt; &gt; Destination = dst.name1 + dst.name2 + ..., is that correct?
<br>&gt; &gt;
<br>&gt; &gt; 3. What should I check if I see more 'source' processed messages than
<br>&gt; &gt; 'destination' and there are no dropped messages?
<br>&gt; &gt;
<br>&gt; &gt; 4. What other global things is it good to monitor using syslog stats?
<br>&gt; &gt; Are there are any methods to see if syslog-ng has stopped reading the
<br>&gt; &gt; source?
<br>&gt; &gt;
<br>&gt; &gt; For now I'm going to monitor:
<br>&gt; &gt; 1. Message/per second rate - alert if it decreased significantly
<br>&gt; &gt; 2. The number of stored messages - alert if the queue is always full
<br>&gt; &gt; (log_fifo_size)
<br>&gt; &gt; 3. The number of dropped messages
<br>&gt; &gt; 4. Timestamps of the latest message - alert if the timestamp is tool
<br>&gt; &gt; old. ... any other ideas?
<br>&gt; &gt;
<br>&gt; &gt;
<br>&gt; &gt;
<br>&gt; &gt;
<br>&gt; &gt; On Fri, Dec 28, 2012 at 12:57 PM, Anton Koldaev
<br>&gt; &gt; &lt;<a href="mailto:koldaevav@gmail.com">koldaevav@gmail.com</a>&gt;wrote:
<br>&gt; &gt;
<br>&gt; &gt; &gt; Thanks Balazs for the explanation.
<br>&gt; &gt; &gt; Looks like they all are not very important for me to monitor.
<br>&gt; &gt; &gt;
<br>&gt; &gt; &gt;
<br>&gt; &gt; &gt; On Fri, Dec 28, 2012 at 9:44 AM, Balazs Scheidler
<br>&gt; &gt; &gt; &lt;<a href="mailto:bazsi77@gmail.com">bazsi77@gmail.com</a>&gt;wrote:
<br>&gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; **
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; ----- Original message -----
<br>&gt; &gt; &gt; &gt; &gt; Thanks Daniel. I'm already using "syslog-ng-ctl stats" with
<br>&gt; &gt; &gt; &gt; &gt; different stats levels. I'm just confused with "center()":
<br>&gt; &gt; &gt; &gt; &gt; *% sudo syslog-ng-ctl stats | grep center
<br>&gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; *
<br>&gt; &gt; &gt; &gt; &gt; *center;;received;a;processed;0*
<br>&gt; &gt; &gt; &gt; &gt; *center;;queued;a;processed;0*
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; center has been broken since 3.2, because there's no 'center'
<br>&gt; &gt; &gt; &gt; anymore. IIRC I have removed that counter since then. If there's a
<br>&gt; &gt; &gt; &gt; usecase for center I may give a thought how to revive it.
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; *
<br>&gt; &gt; &gt; &gt; &gt; *
<br>&gt; &gt; &gt; &gt; &gt; Also maybe balabit guys are able to give us some information on
<br>&gt; &gt; &gt; &gt; &gt; global stats:
<br>&gt; &gt; &gt; &gt; &gt; *% sudo syslog-ng-ctl stats | grep global *
<br>&gt; &gt; &gt; &gt; &gt; *global;sdata_updates;;a;processed;0*
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; this one counts the number of 'slow' updates to structured data
<br>&gt; &gt; &gt; &gt; entries during processing. being zero means that you basically
<br>&gt; &gt; &gt; &gt; never add sdata, but either not change it at all, or only change
<br>&gt; &gt; &gt; &gt; entries that are already present.
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; *global;payload_reallocs;;a;processed;760*
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; this counts the number of reallocs of the message payload.
<br>&gt; &gt; &gt; &gt; syslog-ng sizes the allocated buffer with a simple heuristics in
<br>&gt; &gt; &gt; &gt; the hope that parsing, rewrite rules will not cause it to grow. in
<br>&gt; &gt; &gt; &gt; your case syslog-ng had to do a realloc for 760 messages. if this
<br>&gt; &gt; &gt; &gt; happens to be close to all messages you processed, it's the cause
<br>&gt; &gt; &gt; &gt; for performance degradation.
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; if it's a minority then you probably don't have to care.
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; if the first one is true, I'd like to know about it.
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; right now the alllocated size is twice the length of the incoming
<br>&gt; &gt; &gt; &gt; message.
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; *global;msg_clones;;a;processed;0*
<br>&gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; again a performance monitoring counter, that tracks the number of
<br>&gt; &gt; &gt; &gt; clone operations.
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; On Thu, Dec 27, 2012 at 6:07 PM, Daniel Neubacher
<br>&gt; &gt; &gt; &gt; &gt; &lt;<a href="mailto:daniel.neubacher@xing.com">daniel.neubacher@xing.com</a>
<br>&gt; &gt; &gt; &gt; &gt; &gt; wrote:
<br>&gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; I guess u need „syslog-ng-ctl stats”.&nbsp; &#32;But u need to configure
<br>&gt; &gt; &gt; &gt; &gt; &gt; “stats_level(2);” in your options to get this running
<br>&gt; &gt; &gt; &gt; &gt; &gt; nicely.****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; And if you want to get logs per second I’ve attached my little
<br>&gt; &gt; &gt; &gt; &gt; &gt; bash script: ****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; #!/bin/bash****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; ** **
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; while true****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; do ****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; for i in $(syslog-ng-ctl stats | grep src.tcp | grep proc |
<br>&gt; &gt; &gt; &gt; &gt; &gt; cut -d ";" -f6) ****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; do ****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; let tc1+=$i ****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; done ****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; let lps=tc1-tc2****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; test -z $tc2 || echo $lps****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; tc2=$tc1****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; tc1=0****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; sleep 1****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; done****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; ** **
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; *Von:* <a href="mailto:syslog-ng-bounces@lists.balabit.hu">syslog-ng-bounces@lists.balabit.hu</a> [mailto:
<br>&gt; &gt; &gt; &gt; &gt; &gt; <a href="mailto:syslog-ng-bounces@lists.balabit.hu">syslog-ng-bounces@lists.balabit.hu</a>] *Im Auftrag von *Anton
<br>&gt; &gt; &gt; &gt; &gt; &gt; Koldaev *Gesendet:* Donnerstag, 27. Dezember 2012 10:18
<br>&gt; &gt; &gt; &gt; &gt; &gt; *An:* Syslog-ng users' and developers' mailing list
<br>&gt; &gt; &gt; &gt; &gt; &gt; *Betreff:* [syslog-ng] Statistics summary****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; ** **
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; Is there a nice way to get total numbers of
<br>&gt; &gt; &gt; &gt; &gt; &gt; processed/stored/dropped messages in syslog-ng v3.3?****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; ** **
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; From docs:****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; &gt; The *center(received)* entry shows the total number of
<br>&gt; &gt; &gt; &gt; &gt; &gt; &gt; messages
<br>&gt; &gt; &gt; &gt; &gt; &gt; received from every configured sources.
<br>&gt; &gt; &gt; &gt; &gt; &gt; ****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; ** **
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; But in my stats center() shows zero almost for every host. I
<br>&gt; &gt; &gt; &gt; &gt; &gt; see
<br>&gt; &gt; &gt; &gt; zero
<br>&gt; &gt; &gt; &gt; &gt; &gt; in some other examples in docs too.****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; ** **
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; --
<br>&gt; &gt; &gt; &gt; &gt; &gt; Best regards,
<br>&gt; &gt; &gt; &gt; &gt; &gt; Koldaev Anton ****
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; ______________________________________________________________________________
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt; Member info:
<br>&gt; &gt; &gt; &gt; &gt; &gt; <a href="https://lists.balabit.hu/mailman/listinfo/syslog-ng">https://lists.balabit.hu/mailman/listinfo/syslog-ng</a>
<br>&gt; &gt; &gt; &gt; &gt; &gt; Documentation:
<br>&gt; &gt; &gt; &gt; &gt; &gt; <a href="http://www.balabit.com/support/documentation/?product=syslog-ng">http://www.balabit.com/support/documentation/?product=syslog-ng</a>
<br>&gt; &gt; &gt; &gt; &gt; &gt; FAQ: <a href="http://www.balabit.com/wiki/syslog-ng-faq">http://www.balabit.com/wiki/syslog-ng-faq</a>
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt; &gt; --
<br>&gt; &gt; &gt; &gt; &gt; Best regards,
<br>&gt; &gt; &gt; &gt; &gt; Koldaev Anton
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt; &gt;
<br>&gt; &gt; &gt;
<br>&gt; &gt; &gt;
<br>&gt; &gt; &gt; --
<br>&gt; &gt; &gt; Best regards,
<br>&gt; &gt; &gt; Koldaev Anton
<br>&gt; &gt; &gt;
<br>&gt; &gt;
<br>&gt; &gt;
<br>&gt; &gt;
<br>&gt; &gt; --
<br>&gt; &gt; Best regards,
<br>&gt; &gt; Koldaev Anton
<br>&gt; &gt;
<br>&gt;
<br>&gt;
<br>&gt;
<br>&gt; --
<br>&gt; Best regards,
<br>&gt; Koldaev Anton
<br><br></p>
</body>
</html>