# Installed by Browbeat Ansible Installer
# Config type: {{config_type}}
# Interval default is 10s
Interval {{collectd_interval}}
# Hostname for this machine, if not defined, use gethostname(2) system call
{% if not collectd_prometheus %}
Hostname "{{inventory_hostname}}"
{% endif %}
{% if collectd_prometheus %}
Hostname "{{prometheus_prefix}}_{{inventory_hostname}}"
{% endif %}
# Loaded Plugins:
LoadPlugin "logfile"
File "/var/log/collectd.log"
LogLevel "info"
PrintSeverity true
Timestamp true
LoadPlugin write_graphite
{% if apache_controller_collectd_plugin %}
LoadPlugin apache
{% endif %}
{% if ceph_controller_collectd_plugin %}
{% if inventory_hostname == groups['Controller'][0] %}
LoadPlugin ceph
{% endif %}
{% endif %}
LoadPlugin cpu
{% if not collectd_prometheus %}
LoadPlugin conntrack
{% endif %}
{% if collectd_prometheus %}
LoadPlugin network
{% endif %}
{% if keystone_overcloud_collectd_plugin or osp_resources_collectd_plugin %}
{%if inventory_hostname == groups['Controller'][0] %}
LoadPlugin dbi
{% endif %}
{% endif %}
LoadPlugin df
LoadPlugin disk
LoadPlugin exec
LoadPlugin interface
LoadPlugin irq
LoadPlugin load
LoadPlugin match_regex
LoadPlugin memory
LoadPlugin mysql
LoadPlugin numa
LoadPlugin processes
Globals true
LoadPlugin swap
LoadPlugin tail
LoadPlugin turbostat
LoadPlugin unixsock
LoadPlugin uptime
{% if ping_plugin %}
LoadPlugin ping
{% endif %}
# Open unix domain socket for collectdctl
SocketFile "/var/run/collectd-unixsock"
SocketGroup "collectd"
SocketPerms "0770"
DeleteSocket true
PreCacheChain "PreCache"
Plugin "^interface$"
PluginInstance "^tap*"
Target "stop"
Plugin "^interface$"
PluginInstance "^q.*"
Target "stop"
Target "return"
# Graphite Host Configuration
{% if collectd_graphite %}
Host "{{graphite_host}}"
Port "{{collectd_write_graphite_port}}"
Prefix "{{graphite_prefix}}."
Protocol "tcp"
LogSendErrors true
StoreRates true
AlwaysAppendDS false
EscapeCharacter "_"
{% endif %}
# Prometheus Host Configuration
{% if collectd_prometheus %}
Server "{{prometheus_host}}" "{{prometheus_port}}"
{% endif %}
{% if apache_controller_collectd_plugin %}
URL "http://127.0.0.1:{{apache_controller_mod_status_port}}/mod_status?auto"
{% endif %}
{% if ceph_controller_collectd_plugin %}
{% if inventory_hostname == groups['Controller'][0] %}
{% if ovs_flows_monitoring %}
Exec "heat-admin:heat-admin" "/usr/local/bin/ovs_flows.sh"
{% endif %}
{% if ovn_monitoring %}
Instance "ovn_sbdb_Address_Set"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "sb" "Address_Set"
Instance "ovn_sbdb_Port_Group"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "sb" "Port_Group"
Instance "ovn_sbdb_Logical_Flow"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "sb" "Logical_Flow"
Instance "ovn_sbdb_Multicast_Group"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "sb" "Multicast_Group"
Instance "ovn_sbdb_Datapath_Binding"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "sb" "Datapath_Binding"
Instance "ovn_sbdb_Port_Binding"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "sb" "Port_Binding"
Instance "ovn_sbdb_MAC_Binding"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "sb" "MAC_Binding"
Instance "ovn_nbdb_Logical_Switch"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "nb" "Logical_Switch"
Instance "ovn_nbdb_Logical_Switch_Port"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "nb" "Logical_Switch_Port"
Instance "ovn_nbdb_Address_Set"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "nb" "Address_Set"
Instance "ovn_nbdb_Port_Group"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "nb" "Port_Group"
Instance "ovn_nbdb_Load_Balancer"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "nb" "Load_Balancer"
Instance "ovn_nbdb_ACL"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "nb" "ACL"
Instance "ovn_nbdb_Logical_Router"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "nb" "Logical_Router"
Instance "ovn_nbdb_Logical_Router_Port"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "nb" "Logical_Router_Port"
Instance "ovn_nbdb_Logical_Router_Static_Route"
Exec stack "/usr/local/bin/ovn_monitoring.sh" "nb" "Logical_Router_Static_Route"
{% endif %}
LongRunAvgLatency false
ConvertSpecialMetricTypes true
SocketPath "/var/run/ceph/ceph-mon.{{inventory_hostname}}.asok"
{% endif %}
{% endif %}
{% if ceph_controller_collectd_radosbench_plugin or ceph_controller_collectd_mon_plugin or ceph_controller_collectd_osd_plugin or ceph_controller_collectd_pg_plugin or ceph_controller_collectd_pool_plugin %}
{% if inventory_hostname == groups['Controller'][0] %}
LogTraces true
Interactive false
ModulePath "/usr/local/bin/"
Import "collectd_ceph_storage"
CephCluster "ceph"
CephRadosBench {{ceph_controller_collectd_radosbench_plugin}}
CephRadosBenchInterval {{ceph_controller_collectd_radosbench_interval}}
CephMONStats {{ceph_controller_collectd_mon_plugin}}
CephMONStatsInterval {{ceph_controller_collectd_mon_interval}}
CephOSDStats {{ceph_controller_collectd_osd_plugin}}
CephOSDStatsInterval {{ceph_controller_collectd_osd_interval}}
CephPGStats {{ceph_controller_collectd_pg_plugin}}
CephPGStatsInterval {{ceph_controller_collectd_pg_interval}}
CephPoolStats {{ceph_controller_collectd_pool_plugin}}
CephPoolStatsInterval {{ceph_controller_collectd_pool_interval}}
{% endif %}
{% endif %}
{% if osp_resources_collectd_plugin %}
{%if inventory_hostname == groups['Controller'][0] %}
Statement "select host, running_vms from compute_nodes"
Type gauge
InstancesFrom "host"
ValuesFrom "running_vms"
Statement "select count(*) as instances_del from instances where deleted!=0"
Type gauge
InstancePrefix "instances_del"
ValuesFrom "instances_del"
Statement "select count(*) as instances from instances where deleted=0"
Type gauge
InstancePrefix "instances"
ValuesFrom "instances"
Statement "select count(*) as instances from instances where deleted=0 and vm_state = 'active'"
Type gauge
InstancePrefix "instances_active"
ValuesFrom "instances"
Statement "select count(*) as instance_faults from instance_faults"
Type gauge
InstancePrefix "instance_faults"
ValuesFrom "instance_faults"
Driver "mysql"
DriverOption "host" "localhost"
DriverOption "dbname" "nova"
DriverOption "username" "root"
DriverOption "password" "{{mysql_root_password.stdout}}"
DriverOption "mysql_unix_socket" "/var/lib/mysql/mysql.sock"
Query host_vms_count
Query instances_count
Query instance_active_count
Query instances_del_count
Query instance_faults_count
Statement "select count(*) as network from networks"
Type gauge
InstancePrefix "network"
ValuesFrom "network"
Statement "select count(*) as subnet from subnets"
Type gauge
InstancePrefix "subnet"
ValuesFrom "subnet"
Statement "select count(*) as port_others from ports where device_owner not in ('network:dhcp','compute:nova')"
Type gauge
InstancePrefix "port_others"
ValuesFrom "port_others"
Statement "select count(*) as port_dhcp from ports where device_owner='network:dhcp'"
Type gauge
InstancePrefix "port_dhcp"
ValuesFrom "port_dhcp"
Statement "select count(*) as port_compute from ports where device_owner='compute:nova'"
Type gauge
InstancePrefix "port_compute"
ValuesFrom "port_compute"
Statement "select count(*) as floatingips from floatingips"
Type gauge
InstancePrefix "floatingips"
ValuesFrom "floatingips"
Statement "select count(*) as router from routers"
Type gauge
InstancePrefix "router"
ValuesFrom "router"
Statement "select count(*) as router_iface from routerports where port_type='network:router_interface'"
Type gauge
InstancePrefix "router_iface"
ValuesFrom "router_iface"
Statement "select count(*) as router_gw from routerports where port_type='network:router_gateway'"
Type gauge
InstancePrefix "router_gw"
ValuesFrom "router_gw"
Statement "select count(*) as sg from securitygroups"
Type gauge
InstancePrefix "sg"
ValuesFrom "sg"
Statement "select count(*) as sgr from securitygrouprules"
Type gauge
InstancePrefix "sgr"
ValuesFrom "sgr"
Statement "select count(*) as trunk from trunks"
Type gauge
InstancePrefix "trunk"
ValuesFrom "trunk"
Statement "select count(*) as subports from subports"
Type gauge
InstancePrefix "subports"
ValuesFrom "subports"
Driver "mysql"
DriverOption "host" "localhost"
DriverOption "dbname" "ovs_neutron"
DriverOption "username" "root"
DriverOption "password" "{{mysql_root_password.stdout}}"
DriverOption "mysql_unix_socket" "/var/lib/mysql/mysql.sock"
Query network_count
Query port_others_count
Query subnet_count
Query port_dhcp_count
Query port_compute_count
Query floatingips_count
Query router_count
Query router_iface_count
Query router_gw_count
Query sg_count
Query sgr_count
Query trunk_count
Query subports_count
Statement "select count(*) as load_balancer from load_balancer"
Type gauge
InstancePrefix "load_balancer"
ValuesFrom "load_balancer"
Statement "select count(*) as amphora from amphora"
Type gauge
InstancePrefix "amphora"
ValuesFrom "amphora"
Statement "select count(*) as pool from pool"
Type gauge
InstancePrefix "pool"
ValuesFrom "pool"
Statement "select count(*) as member from member"
Type gauge
InstancePrefix "member"
ValuesFrom "member"
Driver "mysql"
DriverOption "host" "localhost"
DriverOption "dbname" "octavia"
DriverOption "username" "root"
DriverOption "password" "{{mysql_root_password.stdout}}"
DriverOption "mysql_unix_socket" "/var/lib/mysql/mysql.sock"
Query load_balancer_count
Query amphora_count
Query pool_count
Query member_count
{% else %}
# Neutron Nova Octavia Count plugin installed and enabled on {{groups['Controller'][0]}}
{% endif %}
{% endif %}
{% if keystone_overcloud_collectd_plugin %}
{%if inventory_hostname == groups['Controller'][0] %}
Statement "select count(*) as count from token"
Type gauge
InstancePrefix "token"
ValuesFrom "count"
Driver "mysql"
DriverOption "host" "localhost"
DriverOption "dbname" "keystone"
DriverOption "username" "root"
DriverOption "password" "{{mysql_root_password.stdout}}"
DriverOption "mysql_unix_socket" "/var/lib/mysql/mysql.sock"
Query token_count
{% else %}
# Token Count plugin installed and enabled on {{groups['Controller'][0]}}
{% endif %}
{% endif %}
FSType anon_inodefs
FSType bdev
FSType cgroup
FSType cpuset
FSType debugfs
FSType devpts
FSType devtmpfs
FSType ecryptfs
FSType fuse
FSType fusectl
FSType hugetlbfs
FSType mqueue
FSType nfs
FSType nfs4
FSType nfsd
FSType overlay
FSType pipefs
FSType proc
FSType pstore
FSType ramfs
#FSType rootfs
FSType rpc_pipefs
FSType securityfs
FSType sockfs
FSType sysfs
FSType tmpfs
FSType vboxsf
MountPoint "/^/var/lib/docker/.*/"
IgnoreSelected true
ValuesPercentage true
ReportInodes true
{%if disk_controller_collectd_plugin %}
Disk "/^[hsv]d[a-z]+[0-9]?$/"
Disk "/^nvm/"
IgnoreSelected false
{% endif %}
{%if iostat_controller_collectd_plugin %}
ModulePath "/usr/local/bin/"
Import "collectd_iostat_python"
Path "/usr/bin/iostat"
Interval {{iostat_controller_collectd_interval}}
IostatInterval 2
Count 2
Verbose false
NiceNames false
PluginName collectd_iostat_python
{% endif %}
{%if pacemaker_monitoring %}
ModulePath "/usr/local/bin/"
Import "collectd_pacemaker_monitoring"
Interval {{pacemaker_controller_collectd_interval}}
{% endif %}
{%if gnocchi_status_controller_collectd_plugin %}
{%if inventory_hostname == groups['Controller'][0] %}
ModulePath "/usr/local/bin/"
LogTraces true
Interactive false
Import "collectd_gnocchi_status"
interval {{gnocchi_status_controller_collectd_interval}}
{% else %}
# Gnocchi status plugin installed and enabled on {{groups['Controller'][0]}}
{% endif %}
{% endif %}
Host "localhost"
User "root"
Password "{{mysql_root_password.stdout}}"
Socket "/var/lib/mysql/mysql.sock"
InnodbStats true
# (akrzos) Including the version of OpenStack that the process was verified as running after
# OpenStack Installation with a comment at the end of each Process/ProcessMatch statement.
# A Minus before the version means the process was not found in that version. (Ex -10)
# Aodh (OpenStack Installed)
ProcessMatch "aodh-evaluator" "aodh-evaluator" # 10,11,12,13
ProcessMatch "aodh-listener" "aodh-listener" # 10,11,12,13
ProcessMatch "aodh-notifier" "aodh-notifier" # 10,11,12,13
ProcessMatch "aodh_wsgi" "aodh_wsgi.*-DFOREGROUND" # 11,12,13
# Barbican (OpenStack Installed)
ProcessMatch "barbican_wsgi" "barbican_wsgi.*-DFOREGROUND" # 13
ProcessMatch "barbican-keystone-listener" "python.+barbican-keystone-listener" # 13
ProcessMatch "barbican-worker" "python.+barbican-worker" # 13
# Ceilometer (OpenStack Installed)
ProcessMatch "ceilometer-agent-notification" "ceilometer-agent-notification" # 10,11,12,13
ProcessMatch "ceilometer-collector" "ceilometer-collector" # 10,11,-12,-13
ProcessMatch "ceilometer-polling" "ceilometer-polling" # 10,11,12,13
ProcessMatch "ceilometer_wsgi" "ceilometer_wsgi.*-DFOREGROUND" # 11,-12,-13
# Ceph (OpenStack Installed)
# When CephStorage nodes deployed
ProcessMatch "ceph-mon" "^/usr/bin/ceph-mon" # -10,-11,-12,-13
# Cinder (OpenStack Installed)
ProcessMatch "cinder-api" "python.+cinder-api" # 10,-11,-12
ProcessMatch "cinder-scheduler" "python.+cinder-scheduler" # 10,11,12,13
ProcessMatch "cinder-volume" "python.+cinder-volume" # 10,11,12,13
ProcessMatch "cinder_wsgi" "cinder_wsgi.*-DFOREGROUND" # 11,12,13
# Collectd (Browbeat Installed)
ProcessMatch "collectd" "/usr/sbin/collectd"
# Conmon (OpenStack Installed)
ProcessMatch "conmon" "/usr/bin/conmon" # 16
# Docker (OpenStack Installed)
ProcessMatch "dockerd-current" "dockerd-current" # 12,13
# Pacemaker / Corosync (OpenStack Installed)
ProcessMatch "attrd" "/usr/libexec/pacemaker/attrd" # 10,11,12,13
ProcessMatch "cib" "/usr/libexec/pacemaker/cib" # 10,11,12,13
Process "corosync" # 10,11,12,13
ProcessMatch "crmd" "/usr/libexec/pacemaker/crmd" # 10,11,12,13
ProcessMatch "lrmd" "/usr/libexec/pacemaker/lrmd" # 10,11,12,13
ProcessMatch "pacemakerd" "/usr/sbin/pacemakerd" # 10,11,12,13
ProcessMatch "pcsd" "^/usr/bin/ruby.+/usr/lib/pcsd" # 10,11,12,13
ProcessMatch "pengine" "/usr/libexec/pacemaker/pengine" # 10,11,12,13
ProcessMatch "stonithd" "/usr/libexec/pacemaker/stonithd" # 10,11,12,13
# Everything Else (OpenStack Installed)
# (Processes displayed under "Everything Else" on Grafana Dashboards)
ProcessMatch "dnsmasq" "^dnsmasq.+" # 10,11,12
ProcessMatch "haproxy" "/usr/sbin/haproxy.+/etc/haproxy/haproxy.cfg" # 10,11,12,13
Process "httpd" # 10,11,12,13
Process "keepalived" # 10,11,12
Process "memcached" # 10,11,12,13
Process "mongod" # 10,11,-12,-13
ProcessMatch "mysqld" "/usr/libexec/mysqld" # 10,11,12,13
ProcessMatch "rabbitmq" "/usr/lib64/erlang/erts-.+/bin/beam.smp" # 10,11,12,13
Process "redis-server" # 10,11,12,13
ProcessMatch "karaf" "java.+karaf" # ODL Specific
# Glance (OpenStack Installed)
ProcessMatch "glance-api" "python.+glance-api" # 10,11,12,13
ProcessMatch "glance-registry" "python.+glance-registry" # 10,-11,-12,-13
# Gnocchi (OpenStack Installed)
ProcessMatch "gnocchi-metricd-master" "gnocchi-metricd.*master" # 11,12,13
ProcessMatch "gnocchi-metricd-scheduler" "gnocchi-metricd.*scheduler" # 10,11,-12,-13
ProcessMatch "gnocchi-metricd-processing" "gnocchi-metricd.*processing" # 10,11,12,13
ProcessMatch "gnocchi-metricd-reporting" "gnocchi-metricd.*reporting" # 10,11,12,13
ProcessMatch "gnocchi-metricd-janitor" "gnocchi-metricd.*janitor" # 10,11,12,13
ProcessMatch "gnocchi-metricd" "gnocchi-metricd " # 10(Old proctitle)
ProcessMatch "gnocchi-statsd" "python.+gnocchi-statsd" # 10,11,12,13
ProcessMatch "gnocchi_wsgi" "gnocchi_wsgi.*-DFOREGROUND" # 11,12,13
# Heat (OpenStack Installed)
ProcessMatch "heat-api" "python.+heat-api --config-file" # 10,11,-12,-13
ProcessMatch "heat-api-cfn" "python.+heat-api-cfn" # 10,11,-12,-13
ProcessMatch "heat-api-cloudwatch" "python.+heat-api-cloudwatch" # 10,11,-12,-123
ProcessMatch "heat_api_cfn" "heat_api_cfn_ws" # 12,13
ProcessMatch "heat_api_cloudwatch" "heat_api_cloudw" # 12,-13
ProcessMatch "heat_api_wsgi" "heat_api_wsgi" # 12,13
ProcessMatch "heat-engine" "python.+heat-engine" # 10,11,12,13
# Horizon (OpenStack Installed)
ProcessMatch "horizon" "horizon" # 13
# Keystone (OpenStack Installed)
ProcessMatch "keystone-admin" "keystone-admin.*-DFOREGROUND" # 10,11,12,13
ProcessMatch "keystone-main" "keystone-main.*-DFOREGROUND" # 10,11,12,13
ProcessMatch "keystone" "keystone.*-DFOREGROUND" # 16
# Starting Pike, fernet tokens are default thus token_flush not needed
ProcessMatch "keystone-token-flush" "keystone-manage.*token_flush" # 10,11,-12,-13
# Neutron (OpenStack Installed)
ProcessMatch "neutron-dhcp-agent" "python.+neutron-dhcp-agent" # 10,11,12,13
ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent" # 10,11,12,13
ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent" # 10,11,12,13
ProcessMatch "neutron-ns-metadata-proxy" "python.+neutron-ns-metadata-proxy" # 10,11
ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 10,11,12,13
ProcessMatch "neutron-rootwrap-daemon" "python.+neutron-rootwrap-daemon" # 10,11,12,13
ProcessMatch "neutron-server" "python.+neutron-server" # 10,11,12,13
ProcessMatch "neutron-keepalived-state-change" "python.+neutron-keepalived-state-change" #For HA router
# Nova (OpenStack Installed)
ProcessMatch "nova-api" "python.+nova-api$" # 10,11,-12,-13
ProcessMatch "nova-api-metadata" "python.+nova-api-metadata" # 12,13
ProcessMatch "nova_api_wsgi" "nova_api_wsgi" # 12,13
ProcessMatch "nova-conductor" "python.+nova-conductor" # 10,11,12,13
ProcessMatch "nova-consoleauth" "python.+nova-consoleauth" # 10,11,12,13
ProcessMatch "nova-novncproxy" "python.+nova-novncproxy" # 10,11,12,13
ProcessMatch "nova-scheduler" "python.+nova-scheduler" # 10,11,12,13
ProcessMatch "placement_wsgi" "placement_wsgi.*-DFOREGROUND" # 11,12,13
ProcessMatch "nova_metadata_w" "nova_metadata_w.*-DFOREGROUND" # 16
ProcessMatch "octavia-housekeeping" "python.+octavia-housekeeping" # 13
ProcessMatch "octavia-health-manager" "python.+octavia-health-manager" # 13
ProcessMatch "octavia-api" "python.+octavia-api" # 13
ProcessMatch "octavia-worker" "octavia-worker --config-file" # 13
ProcessMatch "octavia_wsgi" "octavia_wsgi.*-DFOREGROUND" # 16
# OVS (OpenStack Installed)
ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11,12,13
ProcessMatch "ovsdb-client" "ovsdb-client" # 10,11,12,13
ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11,12,13
ProcessMatch "ovn-northd" "ovn-northd.+openvswitch" # 9,10
ProcessMatch "ovn-controller" "ovn-controller.+openvswitch" # 9,10
ProcessMatch "ovn-controller-vtep" "ovn-controller-vtep.+openvswitch" # 9,10
# Panko (OpenStack Installed)
ProcessMatch "panko_wsgi" "panko_wsgi.*-DFOREGROUND" # 11,12,13
# Swift (OpenStack Installed)
ProcessMatch "swift-account-auditor" "python.+swift-account-auditor" # 10,11,12,13
ProcessMatch "swift-account-reaper" "python.+swift-account-reaper" # 10,11,12,13
ProcessMatch "swift-account-replicator" "python.+swift-account-replicator" # 10,11,12,13
ProcessMatch "swift-account-server" "python.+swift-account-server" # 10,11,12,13
ProcessMatch "swift-container-auditor" "python.+swift-container-auditor" # 10,11,12,13
ProcessMatch "swift-container-replicator" "python.+swift-container-replicator" # 10,11,12,13
ProcessMatch "swift-container-server" "python.+swift-container-server" # 10,11,12,13
ProcessMatch "swift-container-updater" "python.+swift-container-updater" # 10,11,12,13
ProcessMatch "swift-object-auditor" "python.+swift-object-auditor" # 10,11,12,13
ProcessMatch "swift-object-expirer" "python.+swift-object-expirer" # 11,12,13
ProcessMatch "swift-object-replicator" "python.+swift-object-replicator" # 10,11,12,13
ProcessMatch "swift-object-server" "python.+swift-object-server" # 10,11,12,13
ProcessMatch "swift-object-updater" "python.+swift-object-updater" # 10,11,12,13
ProcessMatch "swift-proxy-server" "python.+swift-proxy-server" # 10,11,12,13
{%if rabbitmq_controller_collectd_plugin %}
{%if inventory_hostname == groups['Controller'][0] %}
ModulePath "/usr/local/bin/"
LogTraces true
Interactive false
Import "collectd_rabbitmq_monitoring"
interval {{rabbitmq_controller_collectd_interval}}
host "{{inventory_hostname}}.internalapi.localdomain"
port 15672
username {{controller0_rabbitmq_username.stdout}}
password {{controller0_rabbitmq_password.stdout}}
message_count {% for a_queue in controller_monitored_queues %}"{{a_queue}}" {% endfor %}
{% else %}
# Rabbitmq plugin installed and enabled on {{groups['Controller'][0]}}
{% endif %}
{% endif %}
{%if swift_stat_controller_collectd_plugin %}
{%if inventory_hostname == groups['Controller'][0] %}
ModulePath "/usr/local/bin/"
LogTraces true
Interactive false
Import "collectd_swift_stat"
Interval {{swift_stat_controller_collectd_interval}}
Prefix "gnocchi"
AuthURL "{{controller0_gnocchi_swift_authurl.stdout}}"
AuthVersion "{{controller0_gnocchi_swift_authversion.stdout}}"
User "{{controller0_gnocchi_swift_user.stdout}}"
Password "{{controller0_gnocchi_swift_auth_key.stdout}}"
Project "service"
{% else %}
# swift_stat plugin installed and enabled on {{groups['Controller'][0]}}
{% endif %}
{% endif %}
ReportBytes true
ValuesPercentage true
# ping plugin
{% if ping_plugin %}
{% if groups['Controller'] | length > 1 %}
{% if inventory_hostname == groups['Controller'][0] %}
Host "{{groups['Controller'][1]}}"
Host "{{groups['Controller'][2]}}"
{% elif inventory_hostname == groups['Controller'][1] %}
Host "{{groups['Controller'][0]}}"
Host "{{groups['Controller'][2]}}"
{% elif inventory_hostname == groups['Controller'][2] %}
Host "{{groups['Controller'][0]}}"
Host "{{groups['Controller'][1]}}"
{% endif %}
Interval {{ping_interval}}
{% endif %}
{% endif %}
# Tail plugin configuration
{%if inventory_hostname == groups['Controller'][0] or inventory_hostname == groups['Controller'][1] or inventory_hostname == groups['Controller'][2] %}
Instance "ovnnbdb"
Regex "Unreasonably long ([0-9]*)ms poll interval"
DSType "GaugeLast"
Type "count"
Instance "poll"
Instance "ovnsbdb"
Regex "Unreasonably long ([0-9]*)ms poll interval"
DSType "GaugeLast"
Type "count"
Instance "poll"
Instance "ovnnorthd"
Regex "Unreasonably long ([0-9]*)ms poll interval"
DSType "GaugeLast"
Type "count"
Instance "poll"
Instance "ovncontroller"
Regex "Unreasonably long ([0-9]*)ms poll interval"
DSType "GaugeLast"
Type "count"
Instance "poll"
{% endif %}
{%if inventory_hostname == groups['Controller'][0] or inventory_hostname == groups['Controller'][1] or inventory_hostname == groups['Controller'][2] %}
Instance "nova_resources"
Regex "POST /v2.1"
DSType "CounterInc"
Type "counter"
Instance "post"
Regex "PUT /v2.1"
DSType "CounterInc"
Type "counter"
Instance "put"
Regex "GET /v2.1"
DSType "CounterInc"
Type "counter"
Instance "get"
Regex "DELETE /v2.1"
DSType "CounterInc"
Type "counter"
Instance "delete"
Instance "neutron_resources"
Regex "POST /v2.0"
DSType "CounterInc"
Type "counter"
Instance "post"
Regex "PUT /v2.0"
DSType "CounterInc"
Type "counter"
Instance "put"
Regex "GET /v2.0"
DSType "CounterInc"
Type "counter"
Instance "get"
Regex "DELETE /v2.0"
DSType "CounterInc"
Type "counter"
Instance "delete"
Instance "neutron_avg_response_time"
Regex "POST /v2.0.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "post"
Regex "PUT /v2.0.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "put"
Regex "GET /v2.0.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "get"
Regex "DELETE /v2.0.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "delete"
{% if osp_individual_resources_response_time %}
Regex "POST /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "post_networks"
Regex "PUT /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "put_networks"
Regex "GET /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "get_networks"
Regex "DELETE /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "delete_networks"
Regex "POST /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "post_routers"
Regex "PUT /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "put_routers"
Regex "GET /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "get_routers"
Regex "DELETE /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "delete_routers"
Regex "POST /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "post_subnets"
Regex "PUT /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "put_subnets"
Regex "GET /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "get_subnets"
Regex "DELETE /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "delete_subnets"
Regex "POST /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "post_ports"
Regex "PUT /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "put_ports"
Regex "GET /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "get_ports"
Regex "DELETE /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "delete_ports"
Regex "POST /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "post_trunks"
Regex "PUT /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "put_trunks"
Regex "GET /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "get_trunks"
Regex "DELETE /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "delete_trunks"
{% endif %}
Instance "neutron_min_response_time"
Regex "POST /v2.0.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "post"
Regex "PUT /v2.0.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "put"
Regex "GET /v2.0.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "get"
Regex "DELETE /v2.0.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "delete"
{% if osp_individual_resources_response_time %}
Regex "POST /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "post_networks"
Regex "PUT /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "put_networks"
Regex "GET /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "get_networks"
Regex "DELETE /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "delete_networks"
Regex "POST /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "post_routers"
Regex "PUT /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "put_routers"
Regex "GET /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "get_routers"
Regex "DELETE /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "delete_routers"
Regex "POST /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "post_subnets"
Regex "PUT /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "put_subnets"
Regex "GET /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "get_subnets"
Regex "DELETE /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "delete_subnets"
Regex "POST /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "post_ports"
Regex "PUT /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "put_ports"
Regex "GET /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "get_ports"
Regex "DELETE /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "delete_ports"
Regex "POST /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "post_trunks"
Regex "PUT /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "put_trunks"
Regex "GET /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "get_trunks"
Regex "DELETE /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "delete_trunks"
{% endif %}
Instance "neutron_max_response_time"
Regex "POST /v2.0.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "post"
Regex "PUT /v2.0.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "put"
Regex "GET /v2.0.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "get"
Regex "DELETE /v2.0.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "delete"
{% if osp_individual_resources_response_time %}
Regex "POST /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "post_networks"
Regex "PUT /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "put_networks"
Regex "GET /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "get_networks"
Regex "DELETE /v2.0/networks.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "delete_networks"
Regex "POST /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "post_routers"
Regex "PUT /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "put_routers"
Regex "GET /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "get_routers"
Regex "DELETE /v2.0/routers.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "delete_routers"
Regex "POST /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "post_subnets"
Regex "PUT /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "put_subnets"
Regex "GET /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "get_subnets"
Regex "DELETE /v2.0/subnets.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "delete_subnets"
Regex "POST /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "post_ports"
Regex "PUT /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "put_ports"
Regex "GET /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "get_ports"
Regex "DELETE /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "delete_ports"
Regex "POST /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "post_trunks"
Regex "PUT /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "put_trunks"
Regex "GET /v2.0/trunks.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "get_trunks"
Regex "DELETE /v2.0/ports.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "delete_trunks"
{% endif %}
Instance "nova_avg_response_time"
Regex "POST /v2.1.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "post"
Regex "PUT /v2.1.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "put"
Regex "GET /v2.1.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "get"
Regex "DELETE /v2.1.*time: ([0-9.]+)"
DSType "GaugeAverage"
Type "response_time"
Instance "delete"
Instance "nova_min_response_time"
Regex "POST /v2.1.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "post"
Regex "PUT /v2.1.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "put"
Regex "GET /v2.1.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "get"
Regex "DELETE /v2.1.*time: ([0-9.]+)"
DSType "GaugeMin"
Type "response_time"
Instance "delete"
Instance "nova_max_response_time"
Regex "POST /v2.1.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "post"
Regex "PUT /v2.1.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "put"
Regex "GET /v2.1.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "get"
Regex "DELETE /v2.1.*time: ([0-9.]+)"
DSType "GaugeMax"
Type "response_time"
Instance "delete"
{% endif %}
# Tail httpd request time
{%if apache_controller_collectd_request_time %}
{% if osp_version is version ('12.0.0', '>=') and osp_version is version ('14.0.0', '<') %}
{% else %}
{% endif %}
Instance "gnocchi-api"
# Gnocchi API Post
Regex "RT:([0-9]+).*POST"
DSType "CounterInc"
Type "counter"
Instance "post"
Regex "RT:([0-9]+).*POST"
DSType "GaugeMax"
Type "latency"
Instance "post-max"
Regex "RT:([0-9]+).*POST"
Percentile 99
Bucket 0 100
Type "latency"
Instance "post"
Regex "RT:([0-9]+).*POST"
DSType "GaugeAverage"
Type "latency"
Instance "post-avg"
Regex "RT:([0-9]+).*POST"
DSType "GaugeMin"
Type "latency"
Instance "post-min"
# Gnocchi API Patch
Regex "RT:([0-9]+).*PATCH"
DSType "CounterInc"
Type "counter"
Instance "patch"
Regex "RT:([0-9]+).*PATCH"
DSType "GaugeMax"
Type "latency"
Instance "patch-max"
Regex "RT:([0-9]+).*PATCH"
Percentile 99
Bucket 0 100
Type "latency"
Instance "patch"
Regex "RT:([0-9]+).*PATCH"
DSType "GaugeAverage"
Type "latency"
Instance "patch-avg"
Regex "RT:([0-9]+).*PATCH"
DSType "GaugeMin"
Type "latency"
Instance "patch-min"
# Gnocchi API Get
Regex "RT:([0-9]+).*GET"
DSType "CounterInc"
Type "counter"
Instance "get"
Regex "RT:([0-9]+).*GET"
DSType "GaugeMax"
Type "latency"
Instance "get-max"
Regex "RT:([0-9]+).*GET"
Percentile 99
Bucket 0 100
Type "latency"
Instance "get"
Regex "RT:([0-9]+).*GET"
DSType "GaugeAverage"
Type "latency"
Instance "get-avg"
Regex "RT:([0-9]+).*GET"
DSType "GaugeMin"
Type "latency"
Instance "get-min"
{% if osp_version | version_compare('12.0.0', '>=') and osp_version | version_compare('14.0.0', '<') %}
{% else %}
{% endif %}
Instance "keystone-admin-api"
# Keystone Admin Post
Regex "RT:([0-9]+).*POST"
DSType "CounterInc"
Type "counter"
Instance "post"
Regex "RT:([0-9]+).*POST"
DSType "GaugeMax"
Type "latency"
Instance "post-max"
Regex "RT:([0-9]+).*POST"
Percentile 99
Bucket 0 100
Type "latency"
Instance "post"
Regex "RT:([0-9]+).*POST"
DSType "GaugeAverage"
Type "latency"
Instance "post-avg"
Regex "RT:([0-9]+).*POST"
DSType "GaugeMin"
Type "latency"
Instance "post-min"
# Keystone Admin Get
Regex "RT:([0-9]+).*GET"
DSType "CounterInc"
Type "counter"
Instance "get"
Regex "RT:([0-9]+).*GET"
DSType "GaugeMax"
Type "latency"
Instance "get-max"
Regex "RT:([0-9]+).*GET"
Percentile 99
Bucket 0 100
Type "latency"
Instance "get"
Regex "RT:([0-9]+).*GET"
DSType "GaugeAverage"
Type "latency"
Instance "get-avg"
Regex "RT:([0-9]+).*GET"
DSType "GaugeMin"
Type "latency"
Instance "get-min"
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "keystone-main-api"
# Keystone Main Post
Regex "RT:([0-9]+).*POST"
DSType "CounterInc"
Type "counter"
Instance "post"
Regex "RT:([0-9]+).*POST"
DSType "GaugeMax"
Type "latency"
Instance "post-max"
Regex "RT:([0-9]+).*POST"
Percentile 99
Bucket 0 100
Type "latency"
Instance "post"
Regex "RT:([0-9]+).*POST"
DSType "GaugeAverage"
Type "latency"
Instance "post-avg"
Regex "RT:([0-9]+).*POST"
DSType "GaugeMin"
Type "latency"
Instance "post-min"
# Keystone Main Get
Regex "RT:([0-9]+).*GET"
DSType "CounterInc"
Type "counter"
Instance "get"
Regex "RT:([0-9]+).*GET"
DSType "GaugeMax"
Type "latency"
Instance "get-max"
Regex "RT:([0-9]+).*GET"
Percentile 99
Bucket 0 100
Type "latency"
Instance "get"
Regex "RT:([0-9]+).*GET"
DSType "GaugeAverage"
Type "latency"
Instance "get-avg"
Regex "RT:([0-9]+).*GET"
DSType "GaugeMin"
Type "latency"
Instance "get-min"
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "nova-placement-api"
# Nova Placement Post
Regex "RT:([0-9]+).*POST"
DSType "CounterInc"
Type "counter"
Instance "post"
Regex "RT:([0-9]+).*POST"
DSType "GaugeMax"
Type "latency"
Instance "post-max"
Regex "RT:([0-9]+).*POST"
Percentile 99
Bucket 0 100
Type "latency"
Instance "post"
Regex "RT:([0-9]+).*POST"
DSType "GaugeAverage"
Type "latency"
Instance "post-avg"
Regex "RT:([0-9]+).*POST"
DSType "GaugeMin"
Type "latency"
Instance "post-min"
# Nova Placement Put
Regex "RT:([0-9]+).*PUT"
DSType "CounterInc"
Type "counter"
Instance "put"
Regex "RT:([0-9]+).*PUT"
DSType "GaugeMax"
Type "latency"
Instance "put-max"
Regex "RT:([0-9]+).*PUT"
Percentile 99
Bucket 0 100
Type "latency"
Instance "put"
Regex "RT:([0-9]+).*PUT"
DSType "GaugeAverage"
Type "latency"
Instance "put-avg"
Regex "RT:([0-9]+).*PUT"
DSType "GaugeMin"
Type "latency"
Instance "put-min"
# Nova Placement Get
Regex "RT:([0-9]+).*GET"
DSType "CounterInc"
Type "counter"
Instance "get"
Regex "RT:([0-9]+).*GET"
DSType "GaugeMax"
Type "latency"
Instance "get-max"
Regex "RT:([0-9]+).*GET"
Percentile 99
Bucket 0 100
Type "latency"
Instance "get"
Regex "RT:([0-9]+).*GET"
DSType "GaugeAverage"
Type "latency"
Instance "get-avg"
Regex "RT:([0-9]+).*GET"
DSType "GaugeMin"
Type "latency"
Instance "get-min"
{% endif %}
# End Tail httpd request time
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "aodh-evaluator"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "aodh-listener"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "aodh-notifier"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "aodh-wsgi-api"
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "ceilometer-agent-notification"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "ceilometer-central"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
# No need to tail for ceilometer-collector/ceilometer_wsgi in Queens/Pike
{% else %}
Instance "ceilometer-collector"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
Instance "ceilometer-wsgi-api"
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
{% endif %}
Instance "ceph"
Regex "\\[ERR\\]"
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex "\\[WRN\\]"
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex "\\[INF\\]"
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if ('Queens' in osp_version['content'] | b64decode) %}
{%elif 'Pike' in osp_version['content'] | b64decode or 'Ocata' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "cinder-api"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if ('Queens' in osp_version['content'] | b64decode) %}
{% else %}
{% endif %}
Instance "cinder-scheduler"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if ('Queens' in osp_version['content'] | b64decode) %}
{% else %}
{% endif %}
Instance "cinder-volume"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "glance-api"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
# No Glance registry in Queens/Pike
{% else %}
Instance "glance-registry"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "gnocchi-app"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "gnocchi-metricd"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "gnocchi-statsd"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "gnocchi-wsgi-api"
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "heat-api-cfn"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "heat-api-cloudwatch"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "heat-api"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "heat-engine"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "keystone"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "keystone-wsgi-admin"
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "keystone-wsgi-main"
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "mysqld"
Regex "\\[ERROR\\]"
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex "\\[Warning\\]"
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex "\\[Note\\]"
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "neutron-dhcp-agent"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "neutron-l3-agent"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "neutron-metadata-agent"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "neutron-openvswitch-agent"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "neutron-server"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "nova-api"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
Instance "nova-api-metadata"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "nova-conductor"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "nova-consoleauth"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "nova-novncproxy"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "nova-placement-api"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "nova-scheduler"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "nova-placement-wsgi-api"
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "panko"
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
{%if 'Pike' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "panko-wsgi-api"
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
{%if 'Queens' in osp_version['content'] | b64decode or 'Pike' in osp_version['content'] | b64decode %}
{% else %}
{% endif %}
Instance "rabbitmq"
Regex "ERROR REPORT"
DSType "CounterInc"
Type "counter"
Instance "error"
{%if regex_warn %}
Regex "WARNING REPORT"
DSType "CounterInc"
Type "counter"
Instance "warn"
{% endif %}
{%if regex_info %}
Regex "INFO REPORT"
DSType "CounterInc"
Type "counter"
Instance "info"
{% endif %}
# Swift logs all into the same file
Instance "swift"
Regex "account-server: ERROR "
DSType "CounterInc"
Type "counter"
Instance "account-server-error"
Regex "container-server: ERROR "
DSType "CounterInc"
Type "counter"
Instance "container-server-error"
Regex "object-server: ERROR "
DSType "CounterInc"
Type "counter"
Instance "object-server-error"
{%if regex_warn %}
Regex "account-server: WARNING "
DSType "CounterInc"
Type "counter"
Instance "account-server-warn"
Regex "container-server: WARNING "
DSType "CounterInc"
Type "counter"
Instance "container-server-warn"
Regex "object-server: WARNING "
DSType "CounterInc"
Type "counter"
Instance "object-server-warn"
{% endif %}
{%if regex_info %}
Regex "account-server: INFO "
DSType "CounterInc"
Type "counter"
Instance "account-server-info"
Regex "container-server: INFO "
DSType "CounterInc"
Type "counter"
Instance "container-server-info"
Regex "object-server: INFO "
DSType "CounterInc"
Type "counter"
Instance "object-server-info"
{% endif %}
{% if ovsagent_controller_monitor %}
ModulePath "/usr/local/bin/"
LogTraces true
Interactive false
Import "collectd_ovsagent"
interval 10
prefix ovsagent
interfaces {% for int in controller_monitored_ints %} {{int}} {% endfor %}
namespaces {% for ns in controller_monitored_ns %} {{ns}} {% endfor %}
{% endif %}
# Include other collectd configuration files
Include "/etc/collectd.d"