Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg:
* Wheel is not needed for python 3 only repo
* Some other sections are obsolete
- Update classifiers
- Update requirements, no need for python_version anymore
Change-Id: Ie23843938154df3a969b7755e1ca82d6b672c580
Currently we don't have any capability to monitor the internal TLS/SSL
certificates. i.e. SSL certificates used by MySQL for replication, RabbitMQ for
distribution, etc. The cert_check plugin is not adequate for this purpose
becaue it can only check on certficates over HTTPS endpoints. Furthermore,
checking on these internal certificates over the network is cumbersome
because the agent plugin would have to speak specific protocols.
This patch adds a cert_file_check plugin to detect the certificate expiry
(in days from now) for the given X.509 certificate file in PEM format.
Similar to cert_check plugin, this plugin will a metric
'cert_file.cert_expire_days' which contains the number of days from now the
given certificate will be expired. If the certificate has already expired,
this will be a negative number.
Change-Id: Id95cc7115823f972e234417223ab5906b57447cc
Story: 2006753
A powerful metric to watch for a swift cluster is the
number of handoff partitions on a drive on a storage node.
A build up of handoff nodes on a particular server could
indicate a disk problem somewhere in the cluster. A bottleneck
somewhere. Or better, when would be a good time to rebalance
the ring (as you'd want to do it when existing backend data
movement is at a minimum.
So it turns out to be a great visualisation of the health of
a cluster.
That's what this check plugin does. Each instance check takes
the following values:
ring: <path to a Swift ring file>
devices: <path to the directory of mountpoints>
granularity: <either server or device>
To be able to determine primary vs handoff partitions on a drive
the swift ring needs to be consulted. If a storage node stores
more then 1 ring, and an instance would be defined for each.
You give swift a bunch of disks. These disks are placed in what
swift calls the 'devices' location. That is a directory where a
mount point for each mounted swift drive is located.
Finally, you can decide on the granularity, which defaults to
`server` if not defined. Only 2 metrics are created from this
check:
swift.partitions.primary_count
swift.partitions.handoff_count
But with the hostname dimension a ring dimension will also be set.
Allowing the graphing of the handoff vs partitions of each ring.
When the granularity is set to device, then an additional
dimension to the metric is added, the device name (the name of
the devices mount point). This allows the graphing and monitoring
of each device in a server if a finer granularity is required.
Because we need to consult the Swift ring there is a runtime
requirement on the Python Swift module being installed. But
this isn't required for the unit tests. Making it a runtime
dependency means when the check is loaded it'll log an error
and then exit if it can't import the swift module.
This is the second of two Swift check plugins I've been working on.
For more details see my blog post[1]
[1] - https://oliver.net.au/?p=358
Change-Id: Ie91add9af39f2ab0e5b575390c0c6355563c0bfc
Monasca-agent Prometheus plugin requires prometheus_client library. This
change adds it to extras section to simplify deploying the plugin
together with its requirements.
Change-Id: Iaab5877ac2c4b005cfc18ec7a2d6a1be448dfe6c
Story: 2004268
Task: 27807
To support python3 in the near future this was done:
* Removed dependency on supervisor.
* Added template configuration for systemd target that includes all
services.
* Added templates configuration for systemd service for every single
service.
* Changed monasca_setup to use the new templates.
In the meanwhile code was formated to cope with pep8 settings and some
other small changes were done to comply with pycodestyle and
pydocstring.
Task: 4126
Story: 2000975
Depends-On: https://review.openstack.org/#/c/566475/
Change-Id: I0d0c4ea41a830581d6b9f247fad6a2dda1f96cbe
This change fixes the problem with urllib3 not allowing match_hostname
on IPs for kubernetes.
Change-Id: I2b4229b07716653b08413874bb428a0d263ff9a0
Story: 2001289
Task: 5837
Update python-novaclient and python-neutronclient to global
requirements versions.
Change-Id: I3860f850f2fcf50f9d4e3e11e4535fbfc630919d
Story: 2001087
Task: 4741
List of changes:
* using oslo_config to get nova configuration
* adjusted _detect body to match changes done
recently for other plugins
Extra:
* added utility method to to load oslo_configuration
for any OpenStack project using it.
* removed json, time from required dependencies (core python libs)
* removed libvirt inspector from required dependencies (part of
an agent itself)
* removed netaddr from required dependencies (part of agent's
requirements)
* in overall tried to introduce some order into libvirt
code
Story: 2000999
Task: 4623
Story: 2001054
Task: 4655
Change-Id: Iaac56cf96f710659908d23dc55831be7dac30e0a
To avoid version mismatch we stick we the old version of kafka-python
which is incubated in monasca-common.
Story: 2001036
Task: 4592
Change-Id: I60ac2658f8257531d524f413852c430e948cafd3
Added autodetection of influxdb.
Plugin configures process and http_check
monitoring.
Added note informing that this auto-plugin
can be extended further with retrieving
internal metrics of InfluxDB.
Also, marked MonInfluxDB as depracated in
favour of InfluxDB plugin.
Change-Id: I9a435482bbe7da4aedd06b1678331cf83ccc4587
This summary is used on PyPI and when building release announcement
emails.
Change-Id: I1367bf31b01280cd675da6c6f93125f029183e06
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Converted the config file to yaml and updated the config processing logic to match.
Cleaned up some deprecated config item processing.
Change-Id: I8c5d9ad841b22d20825608ac9f2c82d8011b04f0
Removed all the lsb helper utils from the sysv init script
Added a better error message for template missing.
Added the ability to skip the definition of the monasca_api_url
Made check frequency configurable and added an option to monasca setup
Also set the forwarder flush interval to be calculated based on check
frequency.
Modified monasca-setup so it can work with non-standard paths.
Change-Id: If8916e17bf42ffb804fa6c79166149a9fd33c553
Renamed monagent package to monasca_agent and monsetup package to monasca_setup.
Also, renamed the monstatsd agent package to statsd to more closely match the internal
collector and forwarder packages.
Change-Id: I0649ae4341fe325007e2a8d37161d330e4c95d72
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
Generally everything other than the API servers use semantic versioning, not
pbr's pre-version facility. This line causes local package builds to have the
wrong version today, and pbr will in future detect this and error.
Change-Id: Iafd64f79f6c10786db43a7a22beee7b58cd6b78e