# 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"