akrzos 21d48c8236 Provide a count of Keystone Tokens
Uses a connection to the database to count the number of keystone
tokens. Can count tokens on Undercloud and Overcloud.  For Overcloud
you must provide a repo that provides "libdbi-dbd-mysql".

+ Collectd from EPEL to address when/if your OpenStack includes
  collectd installed already

Change-Id: I4da4c3b02cff661572de3852a33d26875cfcdc0d
2017-03-20 14:51:02 -04:00

1212 lines
31 KiB
Django/Jinja

# 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
Hostname "{{inventory_hostname}}"
# Loaded Plugins:
LoadPlugin "logfile"
<Plugin "logfile">
LogLevel "info"
File "/var/log/collectd.log"
Timestamp true
</Plugin>
LoadPlugin write_graphite
{% if apache_controller_collectd_plugin %}
LoadPlugin apache
{% endif %}
LoadPlugin cpu
LoadPlugin conntrack
{% if keystone_overcloud_collectd_plugin %}
LoadPlugin dbi
{% endif %}
LoadPlugin df
LoadPlugin disk
LoadPlugin exec
LoadPlugin interface
LoadPlugin irq
LoadPlugin load
LoadPlugin match_regex
LoadPlugin memory
LoadPlugin mysql
LoadPlugin numa
LoadPlugin processes
{%if gnocchi_status_python_plugin or rabbitmq_controller_collectd_plugin %}
<LoadPlugin python>
Globals true
</LoadPlugin>
{% endif %}
LoadPlugin swap
LoadPlugin tail
LoadPlugin turbostat
LoadPlugin unixsock
LoadPlugin uptime
# Open unix domain socket for collectdctl
<Plugin unixsock>
SocketFile "/var/run/collectd-unixsock"
SocketGroup "collectd"
SocketPerms "0770"
DeleteSocket true
</Plugin>
PreCacheChain "PreCache"
<Chain "PreCache">
<Rule "ignore_tap">
<Match "regex">
Plugin "^interface$"
PluginInstance "^tap*"
</Match>
Target "stop"
</Rule>
<Rule "ignore_interfaces_q">
<Match "regex">
Plugin "^interface$"
PluginInstance "^q.*"
</Match>
Target "stop"
</Rule>
Target "return"
</Chain>
# Graphite Host Configuration
<Plugin write_graphite>
<Carbon>
Host "{{graphite_host}}"
Port "2003"
Prefix "{{graphite_prefix}}."
Protocol "tcp"
LogSendErrors true
StoreRates true
AlwaysAppendDS false
EscapeCharacter "_"
</Carbon>
</Plugin>
{% if apache_controller_collectd_plugin %}
<Plugin apache>
<Instance "status">
URL "http://127.0.0.1:{{apache_controller_mod_status_port}}/mod_status?auto"
</Instance>
</Plugin>
{% endif %}
{% if keystone_overcloud_collectd_plugin %}
{%if inventory_hostname == groups['controller'][0] %}
<Plugin dbi>
<Query token_count>
Statement "select count(*) as count from token"
<Result>
Type gauge
InstancePrefix "token"
ValuesFrom "count"
</Result>
</Query>
<Database "keystone">
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
</Database>
</Plugin>
{% else %}
# Token Count plugin installed and enabled on {{groups['controller'][0]}}
{% endif %}
{% endif %}
<Plugin df>
ValuesPercentage true
</Plugin>
<Plugin disk>
Disk "/^[hsv]d[a-z]+[0-9]?$/"
IgnoreSelected false
</Plugin>
{%if gnocchi_status_python_plugin %}
{%if inventory_hostname == groups['controller'][0] %}
<Plugin python>
ModulePath "/usr/local/bin/"
LogTraces true
Interactive false
Import "collectd_gnocchi_status"
<Module collectd_gnocchi_status>
interval {{gnocchi_status_interval}}
</Module>
</Plugin>
{% else %}
# Gnocchi status plugin installed and enabled on {{groups['controller'][0]}}
{% endif %}
{% endif %}
<Plugin mysql>
<Database "overcloud">
Host "localhost"
User "root"
Password "{{mysql_root_password.stdout}}"
Socket "/var/lib/mysql/mysql.sock"
InnodbStats true
</Database>
</Plugin>
# (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)
<Plugin processes>
# Aodh (OpenStack Installed)
ProcessMatch "aodh-evaluator" "aodh-evaluator" # 10,11
ProcessMatch "aodh-listener" "aodh-listener" # 10,11
ProcessMatch "aodh-notifier" "aodh-notifier" # 10,11
ProcessMatch "aodh_wsgi" "aodh_wsgi.*-DFOREGROUND" # 11
# Ceilometer (OpenStack Installed)
ProcessMatch "ceilometer-agent-notification" "ceilometer-agent-notification" # 10,11
ProcessMatch "ceilometer-api" "python.+ceilometer-api" # -10(httpd),-11(httpd)
ProcessMatch "ceilometer-collector" "ceilometer-collector" # 10,11
ProcessMatch "ceilometer-polling" "ceilometer-polling" # 10,11
ProcessMatch "ceilometer_wsgi" "ceilometer_wsgi.*-DFOREGROUND" # 11
# Ceph (OpenStack Installed)
# When CephStorage nodes deployed
ProcessMatch "ceph-mon" "^/usr/bin/ceph-mon" # -10,-11
# Cinder (OpenStack Installed)
ProcessMatch "cinder-api" "python.+cinder-api" # 10,-11
ProcessMatch "cinder-scheduler" "python.+cinder-scheduler" # 10,11
ProcessMatch "cinder-volume" "python.+cinder-volume" # 10,11
ProcessMatch "cinder_wsgi" "cinder_wsgi.*-DFOREGROUND" # 11
# Collectd (Browbeat Installed)
ProcessMatch "collectd" "/usr/sbin/collectd"
# Pacemaker / Corosync (OpenStack Installed)
ProcessMatch "attrd" "/usr/libexec/pacemaker/attrd" # 10,11
ProcessMatch "cib" "/usr/libexec/pacemaker/cib" # 10,11
Process "corosync" # 10,11
ProcessMatch "crmd" "/usr/libexec/pacemaker/crmd" # 10,11
ProcessMatch "lrmd" "/usr/libexec/pacemaker/lrmd" # 10,11
ProcessMatch "pacemakerd" "/usr/sbin/pacemakerd" # 10,11
ProcessMatch "pcsd" "^/usr/bin/ruby.+/usr/lib/pcsd" # 10,11
ProcessMatch "pengine" "/usr/libexec/pacemaker/pengine" # 10,11
ProcessMatch "stonithd" "/usr/libexec/pacemaker/stonithd" # 10,11
# Glance (OpenStack Installed)
ProcessMatch "glance-api" "python.+glance-api" # 10,11
ProcessMatch "glance-registry" "python.+glance-registry" # 10,-11
# Gnocchi (OpenStack Installed)
ProcessMatch "gnocchi-metricd-master" "gnocchi-metricd.*master" # 11
ProcessMatch "gnocchi-metricd-scheduler" "gnocchi-metricd.*scheduler" # 10,11
ProcessMatch "gnocchi-metricd-processing" "gnocchi-metricd.*processing" # 10,11
ProcessMatch "gnocchi-metricd-reporting" "gnocchi-metricd.*reporting" # 10,11
ProcessMatch "gnocchi-metricd-janitor" "gnocchi-metricd.*janitor" # 10,11
ProcessMatch "gnocchi-metricd" "gnocchi-metricd " # 10(Old proctitle)
ProcessMatch "gnocchi-statsd" "python.+gnocchi-statsd" # 10,11
ProcessMatch "gnocchi_wsgi" "gnocchi_wsgi.*-DFOREGROUND" # 11
# Everything Else (OpenStack Installed)
# (Processes displayed under "Everything Else" on Grafana Dashboards)
ProcessMatch "dnsmasq" "^dnsmasq.+" # -9,-10
ProcessMatch "haproxy" "/usr/sbin/haproxy.+/etc/haproxy/haproxy.cfg" # 10,11
Process "httpd" # 10,11
Process "memcached" # 10,11
Process "mongod" # 10,11
ProcessMatch "mysqld" "/usr/libexec/mysqld" # 10,11
ProcessMatch "rabbitmq" "/usr/lib64/erlang/erts-.+/bin/beam.smp" # 10,11
Process "redis-server" # 10,11
# Heat (OpenStack Installed)
ProcessMatch "heat-api" "python.+heat-api --config-file" # 10,11
ProcessMatch "heat-api-cfn" "python.+heat-api-cfn" # 10,11
ProcessMatch "heat-api-cloudwatch" "python.+heat-api-cloudwatch" # 10,11
ProcessMatch "heat-engine" "python.+heat-engine" # 10,11
# Keystone (OpenStack Installed)
ProcessMatch "keystone-admin" "keystone-admin.*-DFOREGROUND" # 10,11
ProcessMatch "keystone-main" "keystone-main.*-DFOREGROUND" # 10,11
ProcessMatch "keystone-token-flush" "keystone-manage.*token_flush" # 10,11
# Neutron (OpenStack Installed)
ProcessMatch "neutron-dhcp-agent" "python.+neutron-dhcp-agent" # 10,11
ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent" # 10,11
ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent" # 10,11
ProcessMatch "neutron-ns-metadata-proxy" "python.+neutron-ns-metadata-proxy" # -10,-11
ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 10,11
ProcessMatch "neutron-server" "python.+neutron-server" # 10,11
# Nova (OpenStack Installed)
ProcessMatch "nova-api" "python.+nova-api" # 10,11
ProcessMatch "nova-cert" "python.+nova-cert" # -10,-11
ProcessMatch "nova-conductor" "python.+nova-conductor" # 10,11
ProcessMatch "nova-consoleauth" "python.+nova-consoleauth" # 10,11
ProcessMatch "nova-novncproxy" "python.+nova-novncproxy" # 10,11
ProcessMatch "nova-scheduler" "python.+nova-scheduler" # 10,11
ProcessMatch "nova_api_wsgi" "nova_api_wsgi.*-DFOREGROUND" # 11
ProcessMatch "placement_wsgi" "placement_wsgi.*-DFOREGROUND" # 11
# OVS (OpenStack Installed)
ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 10,11
ProcessMatch "ovsdb-client" "ovsdb-client" # 10,11
ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 10,11
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
# Sahara (OpenStack Installed)
ProcessMatch "sahara-api" "python.+sahara-api" # -10,-11
ProcessMatch "sahara-engine" "python.+sahara-engine" # -10,-11
# Swift (OpenStack Installed)
ProcessMatch "swift-account-auditor" "python.+swift-account-auditor" # 10,11
ProcessMatch "swift-account-reaper" "python.+swift-account-reaper" # 10,11
ProcessMatch "swift-account-replicator" "python.+swift-account-replicator" # 10,11
ProcessMatch "swift-account-server" "python.+swift-account-server" # 10,11
ProcessMatch "swift-container-auditor" "python.+swift-container-auditor" # 10,11
ProcessMatch "swift-container-replicator" "python.+swift-container-replicator" # 10,11
ProcessMatch "swift-container-server" "python.+swift-container-server" # 10,11
ProcessMatch "swift-container-updater" "python.+swift-container-updater" # 10,11
ProcessMatch "swift-object-auditor" "python.+swift-object-auditor" # 10,11
ProcessMatch "swift-object-expirer" "python.+swift-object-expirer" # 11
ProcessMatch "swift-object-replicator" "python.+swift-object-replicator" # 10,11
ProcessMatch "swift-object-server" "python.+swift-object-server" # 10,11
ProcessMatch "swift-object-updater" "python.+swift-object-updater" # 10,11
ProcessMatch "swift-proxy-server" "python.+swift-proxy-server" # 10,11
</Plugin>
{%if rabbitmq_controller_collectd_plugin %}
{%if inventory_hostname == groups['controller'][0] %}
<Plugin python>
ModulePath "/usr/local/bin/"
LogTraces true
Interactive false
Import "collectd_rabbitmq_monitoring"
<Module 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 %}
</Module>
</Plugin>
{% else %}
# Rabbitmq plugin installed and enabled on {{groups['controller'][0]}}
{% endif %}
{% endif %}
<Plugin swap>
ReportBytes true
ValuesPercentage true
</Plugin>
# Tail plugin configuration
<Plugin "tail">
<File "/var/log/mysqld.log">
Instance "mysqld"
<Match>
Regex "[ERROR]"
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex "[Warning]"
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex "[Note]"
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/rabbitmq/rabbit\@{{ansible_hostname}}.log">
Instance "rabbitmq"
<Match>
Regex "ERROR REPORT"
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex "WARNING REPORT"
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex "INFO REPORT"
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/aodh/evaluator.log">
Instance "aodh-evaluator"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/aodh/listener.log">
Instance "aodh-listener"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/aodh/notifier.log">
Instance "aodh-notifier"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/httpd/aodh_wsgi_error.log">
Instance "aodh-wsgi-api"
<Match>
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
</File>
<File "/var/log/heat/heat-api-cfn.log">
Instance "heat-api-cfn"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/heat/heat-api-cloudwatch.log">
Instance "heat-api-cloudwatch"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/heat/heat-api.log">
Instance "heat-api"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/heat/heat-engine.log">
Instance "heat-engine"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/keystone/keystone.log">
Instance "keystone"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/httpd/keystone_wsgi_admin_error.log">
Instance "keystone-wsgi-admin"
<Match>
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
</File>
<File "/var/log/httpd/keystone_wsgi_main_error.log">
Instance "keystone-wsgi-main"
<Match>
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
</File>
<File "/var/log/nova/nova-api.log">
Instance "nova-api"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/nova/nova-conductor.log">
Instance "nova-conductor"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/nova/nova-consoleauth.log">
Instance "nova-consoleauth"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/nova/nova-novncproxy.log">
Instance "nova-novncproxy"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/nova/nova-scheduler.log">
Instance "nova-scheduler"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/neutron/dhcp-agent.log">
Instance "neutron-dhcp-agent"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/neutron/l3-agent.log">
Instance "neutron-l3-agent"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/neutron/metadata-agent.log">
Instance "neutron-metadata-agent"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/neutron/openvswitch-agent.log">
Instance "neutron-openvswitch-agent"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/neutron/server.log">
Instance "neutron-server"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/cinder/api.log">
Instance "cinder-api"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/cinder/scheduler.log">
Instance "cinder-scheduler"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/cinder/volume.log">
Instance "cinder-volume"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/glance/api.log">
Instance "glance-api"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/glance/registry.log">
Instance "glance-registry"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
# Swift logs all into the same file
<File "/var/log/swift/swift.log">
Instance "swift"
<Match>
Regex "account-server: ERROR "
DSType "CounterInc"
Type "counter"
Instance "account-server-error"
</Match>
<Match>
Regex "container-server: ERROR "
DSType "CounterInc"
Type "counter"
Instance "container-server-error"
</Match>
<Match>
Regex "object-server: ERROR "
DSType "CounterInc"
Type "counter"
Instance "object-server-error"
</Match>
{%if regex_warn %}
<Match>
Regex "account-server: WARNING "
DSType "CounterInc"
Type "counter"
Instance "account-server-warn"
</Match>
<Match>
Regex "container-server: WARNING "
DSType "CounterInc"
Type "counter"
Instance "container-server-warn"
</Match>
<Match>
Regex "object-server: WARNING "
DSType "CounterInc"
Type "counter"
Instance "object-server-warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex "account-server: INFO "
DSType "CounterInc"
Type "counter"
Instance "account-server-info"
</Match>
<Match>
Regex "container-server: INFO "
DSType "CounterInc"
Type "counter"
Instance "container-server-info"
</Match>
<Match>
Regex "object-server: INFO "
DSType "CounterInc"
Type "counter"
Instance "object-server-info"
</Match>
{% endif %}
</File>
<File "/var/log/ceilometer/agent-notification.log">
Instance "ceilometer-agent-notification"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/ceilometer/central.log">
Instance "ceilometer-central"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/ceilometer/collector.log">
Instance "ceilometer-collector"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/httpd/ceilometer_wsgi_error.log">
Instance "ceilometer-wsgi-api"
<Match>
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
</File>
<File "/var/log/gnocchi/app.log">
Instance "gnocchi-app"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/gnocchi/metricd.log">
Instance "gnocchi-metricd"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/gnocchi/statsd.log">
Instance "gnocchi-statsd"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
{%if regex_warn %}
<Match>
Regex " WARNING "
DSType "CounterInc"
Type "counter"
Instance "warn"
</Match>
{% endif %}
{%if regex_info %}
<Match>
Regex " INFO "
DSType "CounterInc"
Type "counter"
Instance "info"
</Match>
{% endif %}
</File>
<File "/var/log/httpd/gnocchi_wsgi_error.log">
Instance "gnocchi-wsgi-api"
<Match>
Regex ":error"
DSType "CounterInc"
Type "counter"
Instance "error"
</Match>
</File>
</Plugin>
# Include other collectd configuration files
Include "/etc/collectd.d"