Controlling the Daemon
The main daemon that runs on nodes keeps internal stats and supports reloading of agents and changing logging level without restarting.
If you want to reload all the agents without restarting the daemon you can just send it signal USR1 and it will reload its agents.
You can send USR2 to cycle the log level through DEBUG to FATAL and back again, just keep sending the signal and look at the logs.
You can send WINCH to flush and reopen logfiles, for logrotation purposes.
Reloading agents work in most cases though we recommend a full daemon restart in production use due to the nature of the ruby class loading system. If you are changing agent contents and relying on the reload behavior you might end up with agents not being in a consistent state.
Obtaining daemon statistics
The daemon keeps a number of statistics about its operation, you can view these using the inventory application:
The statistics mean:
|Start Time||Local time on the node when the daemon started|
|Collectives||All known collectives this agent responds on|
|Main Collective||The primary collective|
|Process ID||The process ID of the mcollectived|
|Total Messages||Total messages received from the middleware|
|Messages Passed Filters||Amount of messages that was determined to be applicable to this node based on filters|
|Messages Filtered||Messages that did not apply to this node|
|Expired Messages||Received messages that had expired their TTL values|
|Replies Sent||Not all received messages result in replies, this counts the actual replies sent|
|Total Processor Time||Processor time including user and system time consumed since start|
|System Time||System Processor time only|
You can get the raw values using the rpcutil agent using the daemon_stats action.
Obtaining running configuration settings
All configuration settings of any mcollective daemon can be retrieved using the get_config_item action of the rpcutil agent: