3734c3805b
This patch gives the Monasca Agent the ability to monitor virtual machines (VMs) provisioned under Nova. It bundles Ceilometer's virtualization inspector to gather the actual metrics, includes a monasca-setup plugin, and adds cross-tenant support. The latter enables the Agent to submit metrics on behalf of a different tenant/project, giving the VM's owner a set of metrics without each VM having to run its own Agent. This plugin collects two sets of measurements per metric: one for the VM's owner (in-cloud) and for the Operations team (infrastructure). They differ in the following ways: - Operations metric names are prefixed with "vm." in order to group VM and overcloud metrics separately - Operations metrics include "tenant_id" as a dimension - Operations metrics include "cloud_tier" dimension with the value "overcloud" - The "hostname" dimension for Operations contains the name of the compute server; for the tenant, "hostname" is the name of the VM The metrics gathered by this plugin include: - Disk I/O: read/write operations/bytes per second - Disk I/O: errors per second - Network I/O: in/out packets/bytes per second - CPU utilization as a percentage of CPU time over polling time Change-Id: I23781a1ba552ef2551e6ff1caea21dd8f515d73d |
||
---|---|---|
.. | ||
detection | ||
service | ||
README.md | ||
__init__.py | ||
agent_config.py | ||
main.py |
README.md
monasca-setup
This script will detect running services and configure monasca-agent to watch them as well as starting the agent and configuring it to start up on boot.
Future Considerations
- A good system for specifying active style checks for configuration would be great. Active style checks are those which run locally but are checking a remote box.
- The ability to dynamically add detection plugins could be quite valuable. Also it could aid in the active check config.
- With the ability to dynamically add I should also include the ability to dynamically remove.
- A config file with metadata to assist in automatic configuration could be quite valuable, for example user/pass for logging into mysql.
- The current system does not work well in the case of clusters, for example the kafka plugin will end up collecting the same data on each node of a cluster.