hi all,

I have just created a FAQ entry on how to configure SEC sending data 
into Graphite: http://simple-evcorr.sourceforge.net/FAQ.html#26

Comments from people who are using Graphite are welcome :)

kind regards,
risto

On 02/07/2013 09:54 AM, Alberto Cortón wrote:
> Hi,
>
> I also think these actions would be useful, specially those related with
> socket outputs. I am currently using the kind of wrapper scripts that
> David mentioned in order to send data to remote syslog servers or to our
> graphite/carbon server.
>
> Regards,
>
> El 06/02/13 22:59, David Lang escribió:
>> On Wed, 6 Feb 2013, Risto Vaarandi wrote:
>>
>>> hi all,
>>>
>>> as you know, currently there are number of outputs which are not
>>> directly supported by sec. For example, with 'pipe' action one can feed
>>> only one event to an external program (with most programs exiting after
>>> the 'pipe' action closes the pipe). Also, the 'write' action opens a
>>> given file before each access and closes it afterwards. While this makes
>>> output file rotation worry-free, it is not very efficient. Finally, sec
>>> does not directly support various sockets as output (for example, it is
>>> not possible to connect directly to a syslog server on another host and
>>> issue syslog events without any intermediaries).
>>>
>>> Therefore, would there be any interest to an output action which would
>>> leave the output open/running/connected, so that the next access of the
>>> same output would not have to do reopen/restart/connect again? This
>>> action would have to support a number of output types, e.g.,
>>>
>>> write2 udp myserver:514 This is my event
>>> write2 tcp myserver:514 Another event
>>> write2 file /var/log/myevents Third event
>>> write2 program /bin/logger -p user.notice Fourth event
>>>
>>> It is probably easy to see that with sockets and files it is not that
>>> hard to distinguish them from each other, since the filename or server
>>> name plus port number can serve as unique identifiers. With command
>>> lines, however, it is somewhat more difficult, since an extra space or
>>> different ordering of options makes two command lines different, even if
>>> their effect is exactly the same. Also, since sec uses positional
>>> parameters, there is an issue with parsing, although this could be
>>> solved with the use of (). In addition, one workaround for both issues
>>> would be storing command line in an action list variable.
>>> The action outlines above would also need an output rotation mechanism,
>>> but this could be implemented with adding this to SIGUSR2 handler
>>> (closing all currently open outputs).
>>>
>>> Would the action above be of interest, and are there any other ideas for
>>> handling these situations?
>> I think this sort of thing would be useful, a lot of 'action scripts' end up
>> being trivial wrappers to do these sorts of things, and opening/closing files
>> and starting programs can have a surprisingly large effect on performance (I
>> suspect that SEC has other bottlenecks, but even if it's not a bottleneck,
>> speeding it up will leave more time for the bottleneck code :-)
>>
>> I would not try to match up command lines, as you note it's hard to tell when
>> you really have two identical ones, and it makes it hard to have multiple
>> connectons open to the same destination (important for network connections)
>>
>> This crys out for a filehandle approach, have something define the output and
>> then write2 can use it. You can have calendar events close and re-open the 
>> files
>> for log rotation
>>
>>
>>
>> now, as to specific output options. My first thing is make this extendable,
>> people will have lots of strange outputs they want to talk to. Make it so 
>> they
>> can define a perl subroutine and use that.
>>
>> you need pipe to command line (think |gzip -c ->/var/log/alerts.gz)
>>
>> you need send to syslog, but this may not be just send the raw string. Syslog
>> message formatting is common across the different transport types, so it 
>> would
>> be more 'open syslog destination' than 'open tcp destination'
>>
>>     In formatting the syslog message, options that jump out at me include:
>>
>>     facility/priority
>>
>>     syslog tag (program name)
>>
>>     source hostname (it's useful to be able to generate alert messages with 
>> the
>> name of the relavent server, not just the SEC box)
>>
>>     syslog format (historic syslog rfc3164, new syslog rfc5424, lumberjack 
>> JSON,
>> CEE, CEF, ....)
>>
>>     how to handle multiline (report) data (send as multiple log messages, 
>> send as
>> one message with newlines, send as one message with a different separator
>> character,...)
>>
>> for these, there should be a default set at open time, but it can make sense 
>> to
>> override these for particular messages.
>>
>>      Much of this formatting stuff is useful even if just writing to files, 
>> so it
>> may be that the right thing is to define the transport at open time and then
>> have a function call to format the message at log time.
>>
>>
>> thoughts?
>>
>> David Lang
>>
>> ------------------------------------------------------------------------------
>> Free Next-Gen Firewall Hardware Offer
>> Buy your Sophos next-gen firewall before the end March 2013
>> and get the hardware for free! Learn more.
>> http://p.sf.net/sfu/sophos-d2d-feb
>> _______________________________________________
>> Simple-evcorr-users mailing list
>> Simple-evcorr-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users
>>
>


------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Simple-evcorr-users mailing list
Simple-evcorr-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/simple-evcorr-users

Reply via email to