# 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 LoadPlugin cpu LoadPlugin df {% if collectd_prometheus %} LoadPlugin network {% endif %} {% if not collectd_prometheus %} LoadPlugin conntrack {% endif %} LoadPlugin disk LoadPlugin exec LoadPlugin interface LoadPlugin irq LoadPlugin load LoadPlugin match_regex LoadPlugin memory LoadPlugin numa LoadPlugin processes {%if iostat_compute_collectd_plugin %} Globals true {% endif %} LoadPlugin swap LoadPlugin tail LoadPlugin uptime 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 %} 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_compute_collectd_plugin %} Disk "/^[hsv]d[a-z]+[0-9]?$/" Disk "/^nvm/" IgnoreSelected false {% endif %} {% if ovs_flows_monitoring %} Exec stack "/usr/local/bin/ovs_flows.sh" {% endif %} {%if iostat_compute_collectd_plugin %} ModulePath "/usr/local/bin/" Import "collectd_iostat_python" Path "/usr/bin/iostat" Interval {{iostat_compute_collectd_interval}} IostatInterval 2 Count 2 Verbose false NiceNames false PluginName collectd_iostat_python {% endif %} # (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) # Ceilometer (OpenStack Installed) ProcessMatch "ceilometer-polling" "ceilometer-polling" # 10,11,12,13 # Collectd (Browbeat Installed) ProcessMatch "collectd" "/usr/sbin/collectd" # Conmon (OpenStack Installed) ProcessMatch "conmon" "/usr/bin/conmon" # 16 # Neutron (OpenStack Installed) ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent" # 10 with DVR ProcessMatch "neutron-ns-metadata-proxy" "python.+neutron-ns-metadata-proxy" # 10 with DVR ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent" # 10 with DVR ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent" # 10,11,12,13 # Nova (OpenStack Installed) ProcessMatch "nova-compute" "python.+nova-compute" # 10,11,12,13 ProcessMatch "privsep-helper" "python.+/bin/privsep-helper" # 11,12,13 # 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-controller" "ovn-controller.+openvswitch" # 9,10 ProcessMatch "ovn-controller-vtep" "ovn-controller-vtep.+openvswitch" # 9,10 # QEMU / libvirt (OpenStack Installed) ProcessMatch "qemu-kvm" "/usr/libexec/qemu-kvm" # 10,11,12,13 ProcessMatch "libvirtd" "/usr/sbin/libvirtd" # 10,11,12,13 ProcessMatch "virtlockd" "/usr/sbin/virtlockd" # 10,11,-12,-13 ProcessMatch "virtlogd" "/usr/sbin/virtlogd" # 10,11,12,13 ReportBytes true ValuesPercentage true # Tail plugin configuration Instance "ovncontroller" Regex "Unreasonably long ([0-9]*)ms poll interval" DSType "GaugeLast" Type "count" Instance "poll" {% for item in collectd_logs[config_type] %} Instance "{{ item.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 ovsagent_compute_monitor %} ModulePath "/usr/local/bin/" LogTraces true Interactive false Import "collectd_ovsagent" prefix ovsagent interval 10 interfaces {% for int in compute_monitored_ints %} {{int}} {% endfor %} {% endif %} # Include other collectd configuration files Include "/etc/collectd.d"