Hi,

I'd like to add some bits of info here and there, too. I usually react to
the "rsyslog+Elasticsearch" keyword combination :p

2 - I think the fastest and most scalable way at the moment is to use the
rsyslog to Elasticsearch output plugin:
omelasticsearch<http://www.rsyslog.com/doc/omelasticsearch.html>.
I like David's idea of using TLS syslog and putting a rsyslog on the same
machine as ES and do the HTTP requests locally.

For searching, if you want to use
Kibana<http://www.elasticsearch.org/overview/kibana/>I think you can
use something like Apache as a reverse proxy to do the
encryption and authentication part. They provide a sample Apache conf that
might help:
https://github.com/elasticsearch/kibana/blob/master/sample/apache_ldap.conf

If you need help in setting up rsyslog to output logs in a Kibana-friendly
way, check this blog post I wrote a while ago:
http://blog.sematext.com/2013/07/01/recipe-rsyslog-elasticsearch-kibana/

3 - to do this, you need some external mechanism to control access. If you
do the Apache LDAP thing mentioned above, it should work to make one index
per user, and then limit the access of each user to her own index by link
(e.g.: http://host:port/*index-of-this-user*/)

Alternatively, you might want to check out the ES jetty plugin, for
securing and restricting access:
https://github.com/sonian/elasticsearch-jetty



2013/10/17 David Lang <[email protected]>

> On Thu, 17 Oct 2013, masoom alam wrote:
>
>  Hi Every one,
>>
>> I want to ask few questions regarding the design of a system that will
>> collect logs from client machines and then store them in to our
>> ElasticSearch storage. Questions are as follows:-
>>
>>
>>   1. It is quite obvious from the Internet and people feedback that
>>   ElasticSearch is a best option for storage of raw logs,
>>
>
> That is a debatable point :-)
>
> personally, I believe that the best storage for raw logs is plain text
> files.
>
> Now, ES may be the best place to store raw log messages that you want to
> be able to do rapid, unplanned searches on. But that is a different use
> case than just storage :-)
>
>
>    however, there are
>>   few features that are required: signing of logs is important, so
>> whether we
>>   should use the signing feature of RSYSLOG or elasticsearch (Jetty) since
>>   both provide the feature. From the security point of view we believe
>> that
>>   RSYSLOG signing feature is more important for integrity since RSYSLOG is
>>   placed at the clients end. So whatever log is generated they have a
>> surety
>>   with them that logs are not changed by any other party. Are we thinking
>> in
>>   the right direction? Secondly, if logs are signed by the RSYSLOG how
>> they
>>   are verifiable?
>>
>
> rsyslog's log signing is based on writing the logs to files, not signing
> each individual message the way you would need to when putting them into a
> database, so use the Elasticsearch mechanism
>
>
>    2. Secondly question is that if we don't want to process the logs other
>>   than a bit formatting and security (Encryption and Signature) as
>> described
>>   above, do we really need to pass them through STORM? Moving logs between
>>   RSYSLOG and ElasticSearch requires logstash with the help of REDIS
>> client.
>>   However, are we following the right path? or there is some design flaw
>> in
>>   that....
>>
>
> I'm neer hears of Storm. Rsyslog can deliver messages directly to
> Elasticsearch so there is no technical requirement to use Storm
>
>
>    3. Another question is that ElasticSearch is not a RDBMS. So how to deal
>>   with user accounts i mean access control of various internet users. Do
>> we
>>   need to have a separate instance of ElasticSearch for each client?
>>
>
> that would be a question to ask the ElasticSearch people, and will vary
> greatly based on what your use case is.
>
>
>    4. Encryption is another feature that we want to enable for clients for
>>   transporting logs.
>>
>
> rsyslog supports encryption for TCP and RELP logs when transporting them.
> The connection to ElasticSearch is via HTTP, I assume that this can be
> modified to be HTTPS, but it's possible that rsyslog does not support this
> (I haven't looked into this). I would suggest transporting the logs to the
> ES boxes via rsyslog, and then have rsyslog deliver the logs to ES via
> localhost, so that it never leaves the box. This should eliminate the
> requirement for the logs to be encrypted.
>
> David Lang
>
> ______________________________**_________________
> rsyslog mailing list
> http://lists.adiscon.net/**mailman/listinfo/rsyslog<http://lists.adiscon.net/mailman/listinfo/rsyslog>
> http://www.rsyslog.com/**professional-services/<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