As part of the SimpleRPC framework we’ve added an auditing system that you can use to log all requests received into a file or even send it over mcollective to a central auditing system. What actually happens with audit data is pluggable and you can provide your own plugins to do what you need.
The clients will include the uid of the process running the client library in the requests and the audit function will have access to that on the requests.
To enable logging you should set an option to enable it and also one to configure which plugin to use:
This sets it up to use MCollective::Audit::Logfile plugin for logging evens.
The client will embed a caller id - the Unix UID of the program running it or SSL cert - in requests which you can find in the request object.
Auditing is implemented using plugins that you should install in the normal plugin directory under mcollective/audit/. We have a sample Logfile plugin that you can see below:
As you can see you only need to provide one method called audit_request, you will get the request in the form of an MCollective::RPC::Request object as well as the connection to the middleware should you wish to send logs to a central host.
The Logfile plugin takes a configuration option:
We do not do log rotation of this file so you should do that yourself if you enable this plugin.
This log lines like:
Other plugins can be found on the community site like a centralized logging plugin.