Index management best practices

I'm new to ES and I'm wondering what kind of tools or best practices folks use for index management. Two areas I'd like to learn in particular are:

  1. How to keep an audit log of the changes applied to ES (for troubleshooting purpose), including changes to ES cluster configuration as well as changes to various index settings
  2. How to re-indexing while maintaining writes: for reindexing jobs that take hours or days, do folks create custom tools around some kind of queue (SQS, Kinesis, etc) to reindex data one chunk at a time, and do dual-writes to the old and new indices while reindexing is ongoing?