Even though there was a py36 test enabled in the gate, the tox.ini configuration was not actually invoking the unit tests. This change sets up the environment to allow tests to run. As a result, a number of Python3 errors are uncovered and fixed. Notably: Python 3 does not have contextlib.nested, so reformatting using , file() is not in Python 3, so use io.open() instead Use six.assertCountEqual(self, in tests safe_decode: subprocess.check_output returns in byte encoding, while default text type str. safe_decode does the right thing by making sure string are not bytes in python2 and python3 No ascci encoding: python3 defaults to UTF-8 encoding, which is merely an extension to ascii (default for python2). test_json_plugin.py: the file being opened in binary(wb) mode so python is expecting the string in bytes. Some of the refactoring should be revisited after we drop Python 2 support. Change-Id: I62b46a2509c39201ca015ca7c269b2ea70c376c8 Story: 2005047 Task: 29547
Team and repository tags
Introduction
The Monasca Agent is a modern Python monitoring agent for gathering metrics and sending them to the Monasca API. The Agent supports collecting metrics from a variety of sources as follows:
- System metrics such as cpu and memory utilization.
- Nagios plugins. The Monasca Agent can run Nagios plugins and send the status code returned by the plugin as a metric to the Monasca API.
- Statsd. The Monasca Agent supports an integrated Statsd daemon which can be used by applications via a statsd client library.
- Host alive. The Monasca Agent can perform active checks on a host to determine if it is alive using ping (ICMP) or SSH.
- Process checks. The Monasca Agent can check a process and return several metrics on the process such as a number of instances, memory, io and threads.
- Http Endpoint checks. The Monasca Agent can perform active checks on http endpoints by sending an HTTP request to an API.
- Service checks. The Agent can check services such as MySQL, RabbitMQ, and many more.
- OpenStack metrics. The agent can perform checks on OpenStack processes.
- The Agent can automatically detect and setup checks on certain processes and resources.
The Agent is extensible through the configuration of additional plugins, written in Python.
Detailed Documentation
For an introduction to the Monasca Agent, including a complete list of the metrics that the Agent supports, see the "Agent" detailed documentation.
The Agent is extensible through the configuration of additional check and setup plugins, written in Python. See the "Agent Customizations" detailed documentation.
Agent github.com/openstack/monasca-agent/blob/master/docs/Agent.md
Agent Customizations github.com/openstack/monasca-agent/docs/Customizations.md
Monasca Metrics github.com/openstack/monasca-agent/docs/MonascaMetrics.md
Agent Plugin details github.com/openstack/monasca-agent/docs/Plugins.md
- License: Simplified BSD License
- Source: http://git.openstack.org/cgit/openstack/monasca-agent
- Bugs: https://storyboard.openstack.org/#!/project/861 (please use bug tag)