In keeping with dev-ops best practices we are trying to maintain a single window into the health of our platform. To do this we are looking for a way to push Couchbase alters and log messages to a central telemetry system. Is there an extensibility point for CB such that you can wire in additional log message targets with custom code? If not what is the best way to intercept CB event messages for additional processing?
You may want to look at the portion of the documentation on auditing. Note this is part of the Enterprise Edition, which requires an Enterprise subscription.
If you need more verbosity, then you could generate cbcollect_info files and read the details inside it. That’s not a public interface though so it could change, but it’s not too likely.
I’m mainly interesting cluster health and exposing cluster health issues via App Insights.
There are REST APIs that expose some cluster health info but I haven’t been able to determine if that is the same data the CB log events are derived from.
Yes, it is. The cluster manager keeps track of the health and restarting of all components. It also logs this information. So, it can be polled for from REST, or read off of the logs on a given node. There is also a streaming REST interface. Make sure you use that one carefully as it can be expensive for the cluster manager.
The cluster manager on each node logs what it sees from other nodes as well.
I think either @cihangirb or @anil might be able to help with some other pointers on monitoring interfaces.
This sounds like the right place to tap into. A simple component to poll the REST API could do the job.