
This commit does several things at once: - Use ansible_distribution_major_version to detect which version of the EPEL repository. So we dont have to hard code the URL for either epel7 or epel 8. - Remove "stein" workaround for colelctd-openstack role. The "stein" workaround has been removed in favor of running the collectd daemon in a podman container. - Drop opendaylight support for collectd since it is no longer suupported. - Add the collectd playbook so we can run collectd in a centos 7 container going forward for "train". This commit still needs to be tested on "stein" but it will probably work anyways. - Add browbeat-containers to tox.ini for flake8 - Simplify detection of docker or podman for older versions of OSP. (sai) - Fixed typo from compute_compute to collectd_compute that caused failures on computes - clear graphite_host in install/group_vars/all.yml - Move container DockerFiles into brwobeat tree - Conditionally copy required Dockerfiles to node instead of git clone - Fix up some log file paths - Use Docker/Podman depending on release - Provide single interface(collectd.yml) which has container and baremetal playbooks - Introduce variable collectd_container in install/group_vars/all - remove unneeded selinux rebaelling (already running as priveleged) when running container - remove unneed hostfs mount - collectd container logs to file instead of STDOUT for easier debug - add collectd-ping package to collectd-openstack Dockerfile - Improve docs to reflect changes - dynamically set rabbitmq and swift paths as well for tail plugin Co-Authored-By: Sai Sindhur Malleni <smalleni@redhat.com> Change-Id: I627a696f6f1240d96a0e1d85c26d59bbbfae2b1b Signed-off-by: Charles Short <chucks@redhat.com> Signed-off-by: Sai Sindhur Malleni <smalleni@redhat.com>
161 lines
4.8 KiB
YAML
161 lines
4.8 KiB
YAML
########################################
|
|
# Collectd Configuration
|
|
########################################
|
|
# Install collectd from EPEL
|
|
collectd_from_epel: true
|
|
# Interval in seconds
|
|
collectd_interval: 10
|
|
# Typically: carbon-cache port=2003 or Graphite with carbon-relay=2013
|
|
collectd_write_graphite_port: 2003
|
|
# Run collectd on specific openstack nodes:
|
|
collectd_undercloud: true
|
|
collectd_controller: true
|
|
collectd_blockstorage: true
|
|
collectd_objectstorage: true
|
|
collectd_cephstorage: true
|
|
collectd_compute: false
|
|
|
|
# Opt-In Collectd plugins configuration:
|
|
########################
|
|
# Apache plugin
|
|
########################
|
|
# Undercloud
|
|
apache_undercloud_collectd_plugin: false
|
|
apache_undercloud_mod_status_port: 5001
|
|
# Overcloud Controller
|
|
apache_controller_collectd_plugin: false
|
|
apache_controller_mod_status_port: 5001
|
|
|
|
########################
|
|
# Apache request time
|
|
########################
|
|
# Setups up Apache to log request time and collectd to grab request time from
|
|
# httpd log files. This provides request times from Apache for Keystone,
|
|
# Gnocchi, and Nova Placement APIs hosted under httpd.
|
|
apache_controller_collectd_request_time: false
|
|
|
|
########################
|
|
# Ceph plugin
|
|
########################
|
|
# Overcloud Controller
|
|
# Python plugin is prefered (At the Current Moment)
|
|
ceph_controller_collectd_radosbench_plugin: false
|
|
ceph_controller_collectd_radosbench_interval: 30
|
|
ceph_controller_collectd_mon_plugin: false
|
|
ceph_controller_collectd_mon_interval: 10
|
|
ceph_controller_collectd_osd_plugin: false
|
|
ceph_controller_collectd_osd_interval: 10
|
|
ceph_controller_collectd_pg_plugin: false
|
|
ceph_controller_collectd_pg_interval: 10
|
|
ceph_controller_collectd_pool_plugin: false
|
|
ceph_controller_collectd_pool_interval: 10
|
|
# Collectd provided Ceph plugins
|
|
ceph_controller_collectd_plugin: false
|
|
ceph_storage_collectd_plugin: false
|
|
|
|
########################
|
|
# Gnocchi Status plugin
|
|
########################
|
|
gnocchi_status_undercloud_collectd_plugin: false
|
|
gnocchi_status_undercloud_collectd_interval: 10
|
|
gnocchi_status_controller_collectd_plugin: false
|
|
gnocchi_status_controller_collectd_interval: 10
|
|
|
|
########################
|
|
# Disk/IOStat plugin
|
|
########################
|
|
# Disk plugin metrics are opt-out, IOStat metrics are opt-in
|
|
disk_undercloud_collectd_plugin: true
|
|
disk_controller_collectd_plugin: true
|
|
disk_cephstorage_collectd_plugin: true
|
|
disk_compute_collectd_plugin: true
|
|
disk_blockstorage_collectd_plugin: true
|
|
disk_objectstorage_collectd_plugin: true
|
|
# Enable these for more comprehensive IOStat metrics
|
|
iostat_undercloud_collectd_plugin: false
|
|
iostat_undercloud_collectd_interval: 10
|
|
iostat_controller_collectd_plugin: false
|
|
iostat_controller_collectd_interval: 10
|
|
iostat_cephstorage_collectd_plugin: false
|
|
iostat_cephstorage_collectd_interval: 10
|
|
iostat_compute_collectd_plugin: false
|
|
iostat_compute_collectd_interval: 10
|
|
iostat_blockstorage_collectd_plugin: false
|
|
iostat_blockstorage_collectd_interval: 10
|
|
iostat_objectstorage_collectd_plugin: false
|
|
iostat_objectstorage_collectd_interval: 10
|
|
|
|
########################
|
|
# Keystone token count
|
|
########################
|
|
# If you have UUID tokens, we can count those via the collectd dbi plugin
|
|
keystone_undercloud_collectd_plugin: false
|
|
keystone_overcloud_collectd_plugin: false
|
|
|
|
########################
|
|
# Rabbitmq plugin
|
|
########################
|
|
rabbitmq_undercloud_collectd_plugin: false
|
|
rabbitmq_undercloud_collectd_interval: 10
|
|
rabbitmq_controller_collectd_plugin: false
|
|
rabbitmq_controller_collectd_interval: 10
|
|
|
|
# Queues to monitor message count on Undercloud
|
|
undercloud_monitored_queues:
|
|
- "metering.sample"
|
|
- "event.sample"
|
|
- "notifications.sample"
|
|
- "notifications.audit"
|
|
- "notifications.info"
|
|
- "notifications.warn"
|
|
- "notifications.error"
|
|
- "notifications.critical"
|
|
|
|
# Queues to monitor message count on Controllers
|
|
controller_monitored_queues:
|
|
- "metering.sample"
|
|
- "event.sample"
|
|
- "notifications.sample"
|
|
- "notifications.audit"
|
|
- "notifications.info"
|
|
- "notifications.warn"
|
|
- "notifications.error"
|
|
- "notifications.critical"
|
|
|
|
########################
|
|
# ovsagent monitoring
|
|
########################
|
|
ovsagent_compute_monitor: false
|
|
ovsagent_controller_monitor: false
|
|
|
|
controller_monitored_ints:
|
|
- "tap"
|
|
|
|
compute_monitored_ints:
|
|
- "qvo"
|
|
|
|
controller_monitored_ns:
|
|
- "qrouter"
|
|
- "qdhcp"
|
|
|
|
########################
|
|
# Swift stat plugin
|
|
########################
|
|
# Provides metrics on Swift Account using Gnocchi Swift Configuration
|
|
swift_stat_controller_collectd_plugin: false
|
|
swift_stat_controller_collectd_interval: 10
|
|
|
|
########################
|
|
# tail plugin
|
|
########################
|
|
# Determines if WARN/INFO messages are also counted
|
|
regex_warn: false
|
|
regex_info: false
|
|
|
|
########################################################
|
|
# Ping Plugin for Latency and Jitter between controllers
|
|
########################################################
|
|
# Might result in more network traffic
|
|
ping_plugin: false
|
|
ping_interval: 1
|