# Interval default is 10s Interval {{collectd_interval}} # Loaded Plugins: LoadPlugin "logfile" File "/var/log/collectd.log" LogLevel "info" PrintSeverity true Timestamp true LoadPlugin write_prometheus {% if keystone_overcloud_collectd_plugin or osp_resources_collectd_plugin %} {% if db_conf %} LoadPlugin dbi {% endif %} {% endif %} LoadPlugin exec LoadPlugin match_regex LoadPlugin mysql LoadPlugin processes Globals true LoadPlugin tail LoadPlugin unixsock # Open unix domain socket for collectdctl SocketFile "/var/run/collectd-unixsock" SocketGroup "collectd" SocketPerms "0770" DeleteSocket true Port "9104" {% if db_conf %} {% 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 %} {%if ovn_raft_monitoring %} ModulePath "/usr/local/bin/" Import "collectd_ovn_raft_monitoring" Interval {{ovn_raft_controller_collectd_interval}} {% endif %} {% if osp_resources_collectd_plugin %} 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" "{{ mysql_cell1_host_ip }}" DriverOption "port" "{{ mysql_cell1_port }}" DriverOption "dbname" "nova_cell1" DriverOption "username" "root" DriverOption "password" "{{mysql_root_password}}" 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" "{{ mysql_host_ip }}" DriverOption "port" "{{ mysql_port }}" DriverOption "dbname" "neutron" DriverOption "username" "root" DriverOption "password" "{{mysql_root_password}}" 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" "{{ mysql_host_ip }}" DriverOption "port" "{{ mysql_port }}" DriverOption "dbname" "octavia" DriverOption "username" "root" DriverOption "password" "{{mysql_root_password}}" Query load_balancer_count Query amphora_count Query pool_count Query member_count {% endif %} {% if keystone_overcloud_collectd_plugin %} Statement "select count(*) as count from token" Type gauge InstancePrefix "token" ValuesFrom "count" Driver "mysql" DriverOption "host" "{{ mysql_host_ip }}" DriverOption "port" "{{ mysql_port }}" DriverOption "dbname" "keystone" DriverOption "username" "root" DriverOption "password" "{{mysql_root_password}}" Query token_count {% endif %} Alias "{{ db_config_node_hostname.stdout }}" Host "{{ mysql_host_ip }}" User "root" Port "{{ mysql_port }}" Password "{{mysql_root_password}}" InnodbStats true {%if rabbitmq_controller_collectd_plugin %} ModulePath "/usr/local/bin/" LogTraces true Interactive false Import "collectd_rabbitmq_monitoring" interval {{rabbitmq_controller_collectd_interval}} host "{{ rabbitmq_svc_ip }}" port "15671" username "{{ rabbitmq_username }}" password "{{ rabbitmq_password }}" message_count {% for a_queue in rhoso_ctlplane_monitored_queues %}"{{a_queue}}" {% endfor %} {% endif %} {% endif %} # db_conf end {%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 %} # 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) # Ansible ProcessMatch "ansible-playbook" "ansible-playbook" ProcessMatch "ansible-runner" "ansible-runner" # 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 # Octavia (OpenStack Installed) 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 "ovsdb-server-nb" "ovsdb-server.+ovsdb-server-nb" # 16 ProcessMatch "ovsdb-server-sb" "ovsdb-server.+ovsdb-server-sb" # 16 ProcessMatch "ovn-northd" "ovn-northd.+ovnnb_db" # 16 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 container_logs is not none and container_logs | length > 0 %} {% for instance, file in container_logs.items() if instance not in ["ovn-northd"] %} Instance "{{ instance }}" 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 %} {% endfor %} {% if 'ovsdb-server-nb' in container_logs %} Instance "ovnnbdb" Regex "Unreasonably long ([0-9]*)ms poll interval" DSType "GaugeLast" Type "count" Instance "poll" {% endif %} {% if 'ovsdb-server-sb' in container_logs %} Instance "ovnsbdb" Regex "Unreasonably long ([0-9]*)ms poll interval" DSType "GaugeLast" Type "count" Instance "poll" {% endif %} {% if 'ovn-northd' in container_logs %} Instance "ovnnorthd" Regex "Unreasonably long ([0-9]*)ms poll interval" DSType "GaugeLast" Type "count" Instance "poll" {% endif %} {% if 'ovn-controller' in container_logs %} Instance "ovncontroller" Regex "Unreasonably long ([0-9]*)ms poll interval" DSType "GaugeLast" Type "count" Instance "poll" {% endif %} {% if 'neutron-server' in container_logs %} 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 %} {% endif %} {% if 'nova-api' in container_logs %} 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 %} {% endif %}