Datastax version has an option to store audit info to dse_audit.audit_log table; I do not know the performance impact since I use the file option
Subroto > On Mar 1, 2019, at 9:40 AM, Jeremiah D Jordan <jeremiah.jor...@gmail.com> > wrote: > > AFAIK the Full Query Logging binary format was already made more general in > order to support using that format for the audit logging. > > -Jeremiah > >> On Mar 1, 2019, at 11:38 AM, Joshua McKenzie <jmcken...@apache.org> wrote: >> >> Is there a world in which a general purpose, side-channel file storage >> format for transient things like this (hints, batches, audit logs, etc) >> could be useful as a first class citizen in the codebase? i.e. a world in >> which we refactored some of the hints-specific reader/writer code to be >> used for things like this if/when they come up? >> >>> On Thu, Feb 28, 2019 at 12:04 PM Jonathan Haddad <j...@jonhaddad.com >>> <mailto:j...@jonhaddad.com>> wrote: >>> >>> Agreed with Dinesh and Josh. I would *never* put the audit log back in >>> Cassandra. >>> >>> This is extendable, Sagar, so you're free to do as you want, but I'm very >>> opposed to putting a ticking time bomb in Cassandra proper. >>> >>> Jon >>> >>> >>> On Thu, Feb 28, 2019 at 8:38 AM Dinesh Joshi <djos...@icloud.com.invalid> >>> wrote: >>> >>>> I strongly echo Josh’s sentiment. Imagine losing audit entries because C* >>>> is overloaded? It’s fine if you don’t care about losing audit entries. >>>> >>>> Dinesh >>>> >>>>> On Feb 28, 2019, at 6:41 AM, Joshua McKenzie <jmcken...@apache.org> >>>> wrote: >>>>> >>>>> One of the things we've run into historically, on a *lot* of axes, is >>>> that >>>>> "just put it in C*" for various functionality looks great from a user >>> and >>>>> usability perspective, and proves to be something of a nightmare from >>> an >>>>> admin / cluster behavior perspective. >>>>> >>>>> i.e. - cluster suffering so you're writing hints? Write them to C* >>> tables >>>>> and watch the cluster suffer more! :) >>>>> Same thing probably holds true for audit logging - at a time frame when >>>>> things are getting hairy w/a cluster, if you're writing that audit >>>> logging >>>>> into C* proper (and dealing with ser/deser, compaction pressure, >>> flushing >>>>> pressure, etc) from that, there's a compounding effect of pressure and >>>> pain >>>>> on the cluster. >>>>> >>>>> So the TL;DR we as a project kind of philosophically have been moving >>>>> towards (I think that's valid to say?) is: use C* for the things it's >>>>> absolutely great at, and try to side-channel other recovery operations >>> as >>>>> much as you can (see: file-based hints) to stay out of its way. >>>>> >>>>> Same thing held true w/design of CDC - I debated "materialize in memory >>>> for >>>>> consumer to take over socket", and "keep the data in another C* table", >>>> but >>>>> the ramifications to perf and core I/O operations in C* the moment >>> things >>>>> start to go badly were significant enough that the route we went was >>> "do >>>> no >>>>> harm". For better or for worse, as there's obvious tradeoffs there. >>>>> >>>>>> On Thu, Feb 28, 2019 at 7:46 AM Sagar <sagarmeansoc...@gmail.com> >>>> wrote: >>>>>> >>>>>> Thanks all for the pointers. >>>>>> >>>>>> @Joseph, >>>>>> >>>>>> I have gone through the links shared by you. Also, I have been looking >>>> at >>>>>> the code base. >>>>>> >>>>>> I understand the fact that pushing the logs to ES or Solr is a lot >>>> easier >>>>>> to do. Having said that, the only reason I thought having something >>> like >>>>>> this might help is, if I don't want to add more pieces and still >>>> provide a >>>>>> central piece of audit logging within Cassandra itself and still be >>>>>> queryable. >>>>>> >>>>>> In terms of usages, one of them could definitely be CDC related use >>>> cases. >>>>>> With data being stored in tables and being queryable, it can become a >>>> lot >>>>>> more easier to expose this data to external systems like Kafka >>> Connect, >>>>>> Debezium which have the ability to push data to Kafka for example. >>> Note >>>>>> that pushing data to Kafka is just an example, but what I mean is, if >>> we >>>>>> can have data in tables, then instead of everyone writing custom >>> custom >>>>>> loggers, they can hook into this table info and take action. >>>>>> >>>>>> Regarding the infinite loop question, I have done some analysis, and >>> in >>>> my >>>>>> opinion, instead of tweaking the behaviour of Binlog and the way it >>>>>> functions currently, we can actually spin up another tailer thread to >>>> the >>>>>> same Chronicle Queue which can do the needful. This way the config >>>> options >>>>>> etc all remain the same(apart from the logger ofcourse). >>>>>> >>>>>> Let me know if any of it makes sense :D >>>>>> >>>>>> Thanks! >>>>>> Sagar. >>>>>> >>>>>> >>>>>> On Thu, Feb 28, 2019 at 1:09 AM Dinesh Joshi >>> <djos...@icloud.com.invalid >>>>> >>>>>> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>>> On Feb 27, 2019, at 10:41 AM, Joseph Lynch <joe.e.ly...@gmail.com> >>>>>>> wrote: >>>>>>>> >>>>>>>> Vinay can confirm, but as far as I am aware we have no current plans >>>> to >>>>>>>> implement audit logging to a table directly, but the implementation >>> is >>>>>>>> fully pluggable (like compaction, compression, etc ...). Check out >>> the >>>>>>> blog >>>>>>>> post [1] and documentation [2] Vinay wrote for more details, but the >>>>>>> short >>>>>>> >>>>>>> +1. I am still curious as to why you'd want to store audit log >>> entries >>>>>>> back in Cassandra? Depending on the scale it can generate a lot of >>> load >>>>>> and >>>>>>> I think you'd end up in an infinite loop because as you're inserting >>>> the >>>>>>> audit log entry you'll generate a new one and so on unless you black >>>> list >>>>>>> audits to that table / keyspace. >>>>>>> >>>>>>> Ideally you'd insert this data into ElasticSearch / Solr or some >>> other >>>>>>> place that can be then used for analytics or search. >>>>>>> >>>>>>> Dinesh >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org >>>>>>> For additional commands, e-mail: dev-h...@cassandra.apache.org >>>>>>> >>>>>>> >>>>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org >>>> For additional commands, e-mail: dev-h...@cassandra.apache.org >>>> >>>> >>> >>> -- >>> Jon Haddad >>> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.rustyrazorblade.com&d=DwIFaQ&c=adz96Xi0w1RHqtPMowiL2g&r=CNZK3RiJDLqhsZDG6FQGnXn8WyPRCQhp4x_uBICNC0g&m=vyXA1unA3gpHGCpKOfRurmET3jOHaV2bjs1mHVVsb2U&s=EDg90XhABktX19m4FaDHKIjFaU2YAHbXjeEGk7Jx6dk&e= >>> >>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.rustyrazorblade.com&d=DwIFaQ&c=adz96Xi0w1RHqtPMowiL2g&r=CNZK3RiJDLqhsZDG6FQGnXn8WyPRCQhp4x_uBICNC0g&m=vyXA1unA3gpHGCpKOfRurmET3jOHaV2bjs1mHVVsb2U&s=EDg90XhABktX19m4FaDHKIjFaU2YAHbXjeEGk7Jx6dk&e=> >>> twitter: rustyrazorblade > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org For additional commands, e-mail: dev-h...@cassandra.apache.org