Alex Krzos 966106905e Improve/Consolidate Collectd Configs & Grafana Dashboards
Collectd Configs:
+ Improvements to the maintainability of these config files
  + Versions appended to end of each per-process captured that
    the specific process was used in OpenStack
+ Collect on for Gnocchi, Aodh, and Sahara
+ Remove Satellite6 and OSE collectd configurations
+ Cleaned up Undercloud, Controller, Compute and Ceph Collectd
  Configurations to contain "mostly" processes that exist on
  machines of that type

Dashboards:
+ Add Gnocchi, Aodh, and Sahara per-process graphs
+ s/glance-agent/glance-api/ "bug"
+ Remove non-OpenStack Dashboards (OSE, Satellite 6) from Repo
+ Consolidate Guest, Baremetal, and Graphite Dashboards with OpenStack
  Dashboards in single playbook grafana-dashboards.yml
+ Update the Cloud System Performance Dashboard to allow comparsion
  with timeshifting
+ Add several comments to clarify the three types of dashboards
+ Removed DivideSeries from Graphite, Baremetal, and Guest Dashboards
  to match behavior of the OpenStack Dashboards for per-process
  graphs

Change-Id: I0c5c994324bd202b02a6175b261b84b183499d0e
2016-07-15 16:06:16 -04:00

335 lines
12 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}}"
# Allow collectd to log
LoadPlugin syslog
# Loaded Plugins:
LoadPlugin write_graphite
LoadPlugin cpu
LoadPlugin conntrack
LoadPlugin df
LoadPlugin disk
LoadPlugin exec
LoadPlugin interface
LoadPlugin irq
LoadPlugin load
LoadPlugin match_regex
LoadPlugin memory
LoadPlugin mysql
LoadPlugin numa
LoadPlugin processes
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>
<Plugin df>
ValuesPercentage true
</Plugin>
<Plugin disk>
Disk "/^[hsv]d[a-z]+[0-9]?$/"
IgnoreSelected false
</Plugin>
#<Plugin exec>
# Exec nobody "/usr/local/bin/collectd-redis.sh"
#</Plugin>
<Plugin mysql>
<Database "overcloud">
Host "localhost"
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/ProcessMath statement.
# A Minus before the version means the process was not found in that version. (Ex -9)
<Plugin processes>
# Aodh (OpenStack Installed)
ProcessMatch "aodh-evaluator" "python.+aodh-evaluator" # 9
ProcessMatch "aodh-listener" "python.+aodh-listener" # 9
ProcessMatch "aodh-notifier" "python.+aodh-notifier" # 9
# Ceilometer (OpenStack Installed)
ProcessMatch "ceilometer-agent-central" "python.+ceilometer-agent-central" # -9
ProcessMatch "ceilometer-agent-compute" "python.+ceilometer-agent-compute" # -9
ProcessMatch "ceilometer-agent-notification" "python.+ceilometer-agent-notification" # 9
ProcessMatch "ceilometer-alarm-evaluator" "python.+ceilometer-alarm-evaluator" # -9
ProcessMatch "ceilometer-alarm-notifier" "python.+ceilometer-alarm-notifier" # -9
ProcessMatch "ceilometer-api" "python.+ceilometer-api" # 9
ProcessMatch "ceilometer-collector" "python.+ceilometer-collector" # 9
ProcessMatch "ceilometer-polling" "python.+ceilometer-polling" # 9
# Ceph (OpenStack Installed)
ProcessMatch "ceph-mon" "^/usr/bin/ceph-mon" # -9
ProcessMatch "ceph-osd" "^/usr/bin/ceph-osd" # -9
ProcessMatch "diamond" "python.+diamond" # -9
ProcessMatch "salt-minion" "python.+salt-minion" # -9
# Cinder (OpenStack Installed)
ProcessMatch "cinder-api" "python.+cinder-api" # 9
ProcessMatch "cinder-scheduler" "python.+cinder-scheduler" # 9
ProcessMatch "cinder-volume" "python.+cinder-volume" # 9
# Collectd (Browbeat Installed)
ProcessMatch "collectd" "/usr/sbin/collectd.+-C.+/etc/collectd.conf"
# Glance (OpenStack Installed)
ProcessMatch "glance-api" "python.+glance-api" # 9
ProcessMatch "glance-registry" "python.+glance-registry" # 9
# Gnocchi (OpenStack Installed)
ProcessMatch "gnocchi-metricd" "python.+gnocchi-metricd" # 9
ProcessMatch "gnocchi-statsd" "python.+gnocchi-statsd" # 9
# Everything Else (OpenStack Installed)
# (Processes displayed under "Everything Else" on Grafana Dashboards)
ProcessMatch "dnsmasq" "^dnsmasq.+" # -9
ProcessMatch "haproxy" "/usr/sbin/haproxy.+/etc/haproxy/haproxy.cfg" # 9
Process "httpd" # 9
Process "memcached" # 9
Process "mongod" # 9
ProcessMatch "mysqld" "/usr/libexec/mysqld" # 9
ProcessMatch "rabbitmq" "/usr/lib64/erlang/erts-.+/bin/beam.smp" # 9
Process "redis-server" # 9
ProcessMatch "tuskar-api" "python.+tuskar-api" # -9
# Heat (OpenStack Installed)
ProcessMatch "heat-api" "python.+heat-api" # 9
ProcessMatch "heat-api-cfn" "python.+heat-api-cfn" # 9
ProcessMatch "heat-api-cloudwatch" "python.+heat-api-cloudwatch" # 9
ProcessMatch "heat-engine" "python.+heat-engine" # 9
# Keystone (OpenStack Installed)
ProcessMatch "keystone-all" "python.+keystone-all" # 7,8,-9
ProcessMatch "keystone-admin" "keystone-admin.*-DFOREGROUND" # 9
ProcessMatch "keystone-main" "keystone-main.*-DFOREGROUND" # 9
# Neutron (OpenStack Installed)
ProcessMatch "neutron-dhcp-agent" "python.+neutron-dhcp-agent" # 9
ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent" # 9
ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent" # 9
ProcessMatch "neutron-ns-metadata-proxy" "python.+neutron-ns-metadata-proxy" # -9
ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 9
ProcessMatch "neutron-server" "python.+neutron-server" # 9
# Nova (OpenStack Installed)
ProcessMatch "nova-api" "python.+nova-api" # 9
ProcessMatch "nova-cert" "python.+nova-cert" # -9
ProcessMatch "nova-compute" "python.+nova-compute" # -9
ProcessMatch "nova-conductor" "python.+nova-conductor" # 9
ProcessMatch "nova-consoleauth" "python.+nova-consoleauth" # 9
ProcessMatch "nova-novncproxy" "python.+nova-novncproxy" # 9
ProcessMatch "nova-scheduler" "python.+nova-scheduler" # 9
# OVS (OpenStack Installed)
ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch" # 9
ProcessMatch "ovsdb-client" "/bin/ovsdb-client" # 9
ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch" # 9
# Sahara (OpenStack Installed)
ProcessMatch "sahara-api" "python.+sahara-api" # 9
ProcessMatch "sahara-engine" "python.+sahara-engine" # 9
# Swift (OpenStack Installed)
ProcessMatch "swift-account-auditor" "python.+swift-account-auditor" # 9
ProcessMatch "swift-account-reaper" "python.+swift-account-reaper" # 9
ProcessMatch "swift-account-replicator" "python.+swift-account-replicator" # 9
ProcessMatch "swift-account-server" "python.+swift-account-server" # 9
ProcessMatch "swift-container-auditor" "python.+swift-container-auditor" # 9
ProcessMatch "swift-container-updater" "python.+swift-container-updater" # 9
ProcessMatch "swift-container-replicator" "python.+swift-container-replicator" # 9
ProcessMatch "swift-container-server" "python.+swift-container-server" # 9
ProcessMatch "swift-object-auditor" "python.+swift-object-auditor" # 9
ProcessMatch "swift-object-updater" "python.+swift-object-updater" # 9
ProcessMatch "swift-object-replicator" "python.+swift-object-replicator" # 9
ProcessMatch "swift-object-server" "python.+swift-object-server" # 9
ProcessMatch "swift-proxy-server" "python.+swift-proxy-server" # 9
# Pacemaker / Corosync (OpenStack Installed)
ProcessMatch "attrd" "/usr/libexec/pacemaker/attrd" # 9
ProcessMatch "cib" "/usr/libexec/pacemaker/cib" # 9
Process "corosync" # 9
ProcessMatch "crmd" "/usr/libexec/pacemaker/crmd" # 9
ProcessMatch "lrmd" "/usr/libexec/pacemaker/lrmd" # 9
ProcessMatch "pacemakerd" "/usr/sbin/pacemakerd" # 9
ProcessMatch "pcsd" "^/usr/bin/ruby.+/usr/lib/pcsd" # 9
ProcessMatch "pengine" "/usr/libexec/pacemaker/pengine" # 9
ProcessMatch "stonithd" "/usr/libexec/pacemaker/stonithd" # 9
</Plugin>
<Plugin swap>
ReportBytes true
ValuesPercentage true
</Plugin>
# Tail plugin configuration
<Plugin "tail">
<File "/var/log/keystone/keystone.log">
Instance "keystone"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/nova/nova-api.log">
Instance "nova-api"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/nova/nova-conductor.log">
Instance "nova-conductor"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/nova/nova-scheduler.log">
Instance "nova-scheduler"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/neutron/dhcp-agent.log">
Instance "neutron-dhcp-agent"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/neutron/l3-agent.log">
Instance "neutron-l3-agent"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/neutron/metadata-agent.log">
Instance "neutron-metadata-agent"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/neutron/openvswitch-agent.log">
Instance "neutron-openvswitch-agent"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/neutron/server.log">
Instance "neutron-server"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/cinder/api.log">
Instance "cinder-api"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/cinder/scheduler.log">
Instance "cinder-scheduler"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
<File "/var/log/cinder/volume.log">
Instance "cinder-volume"
<Match>
Regex " ERROR "
DSType "CounterInc"
Type "counter"
Instance "total"
</Match>
</File>
</Plugin>
# Include other collectd configuration files
Include "/etc/collectd.d"