Break out collectd config files.
+ Trimmed down Ceph Process list + Added Graphite host type, consolidated all generic host types to single playbook collectd-generic (baremetal, guest, cfme, graphite, satellite6) Change-Id: I2af61fc8dc507407dd7983e44cd3302713fd3ddd
This commit is contained in:
parent
9067be0953
commit
f54470ee9d
52
ansible/README.collectd-generic.md
Normal file
52
ansible/README.collectd-generic.md
Normal file
@ -0,0 +1,52 @@
|
||||
# Installing and configuring collectd agent on other machines
|
||||
|
||||
Collectd configurations are built for these types of machines:
|
||||
* baremetal
|
||||
* guest
|
||||
* cfme
|
||||
* graphite/grafana
|
||||
* satellite6
|
||||
|
||||
To install collectd agent and configure collectd to send metrics to your Graphite server, simply add the host to your ansible inventory file under the correct group.
|
||||
|
||||
Complete Example Inventory file:
|
||||
```
|
||||
[undercloud]
|
||||
undercloud
|
||||
|
||||
[controller]
|
||||
overcloud-controller-0
|
||||
overcloud-controller-1
|
||||
overcloud-controller-2
|
||||
|
||||
[compute]
|
||||
overcloud-compute-0
|
||||
overcloud-compute-1
|
||||
|
||||
[ceph]
|
||||
overcloud-cephstorage-0
|
||||
|
||||
[baremetal]
|
||||
x.x.x.x # An ip adddress or fqdn or specificed host in ~/.ssh/config
|
||||
|
||||
[guest]
|
||||
x.x.x.x # An ip adddress or fqdn or specificed vm in ~/.ssh/config
|
||||
|
||||
[cfme]
|
||||
x.x.x.x # An ip address of a Red Hat Cloud Forms appliance or ManageIQ appliance
|
||||
|
||||
[graphite]
|
||||
x.x.x.x # An ip address of a Graphite/Grafana Server
|
||||
|
||||
[satellite6]
|
||||
x.x.x.x # An ip address of a Red Hat Satellite 6 Server
|
||||
```
|
||||
|
||||
Example run the collectd-generic playbook on the above specified cfme machine:
|
||||
```
|
||||
# ansible-playbook -i hosts install/collectd-generic.yml --tags "cfme"
|
||||
```
|
||||
Replace "cfme" with whatever machines you intend to install collectd on.
|
||||
|
||||
|
||||
Note: Openstack host groups (undercloud, controller, compute, ceph) are ignored with the collectd-generic.yml playbook.
|
@ -1,15 +1,19 @@
|
||||
Table of Contents
|
||||
=================
|
||||
|
||||
- [Ansible for Browbeat](#)
|
||||
- [To use](#)
|
||||
- [Ansible Installers](#)
|
||||
- [Performance Check](#)
|
||||
- [Performance Tune](#)
|
||||
- [Adjust your overcloud](#)
|
||||
|
||||
# Ansible for Browbeat
|
||||
|
||||
Currently we only support Ansible 1.9.4.
|
||||
Currently we support Ansible 1.9.4 within browbeat-venv and ansible 2.0 for installation.
|
||||
|
||||
Playbooks for:
|
||||
* Install Browbeat
|
||||
* Install collectd
|
||||
* Install connmon
|
||||
* Install graphite service
|
||||
* Install grafana service
|
||||
* Install grafana dashboards
|
||||
* Install shaker
|
||||
* Installing Browbeat, collectd, connmon, graphite, grafana, and grafana dashboards
|
||||
* Check overcloud for performance issues
|
||||
* Tune overcloud for performance (Experimental)
|
||||
* Adjust number of workers for cinder/keystone/neutron/nova
|
||||
@ -30,65 +34,64 @@ Then run gen_hosts.sh script to generate your overcloud's hosts file for ansible
|
||||
```
|
||||
# ./gen_hostfile.sh <undercloud-ip> ~/.ssh/config
|
||||
```
|
||||
**Review the hosts file the script generates.
|
||||
*Review the hosts file the script generates.
|
||||
|
||||
|
||||
## Ansible Installers:
|
||||
## Ansible Installers
|
||||
|
||||
Install Browbeat
|
||||
##### Install Browbeat
|
||||
Image upload requires Ansible 2.0
|
||||
```
|
||||
# vi install/group_vars/all # Edit ansible vars file (Installation parameters)
|
||||
# ansible-playbook -i hosts install/browbeat.yml
|
||||
```
|
||||
|
||||
Install Collectd Agent (Requires a Graphite Server)
|
||||
##### Install Collectd Agent (Requires a Graphite Server)
|
||||
Prior to installing the agent, please review the install/group_vars/all to ensure the
|
||||
correct params are passed
|
||||
correct parameters are passed
|
||||
```
|
||||
# ansible-playbook -i hosts install/collectd
|
||||
# ansible-playbook -i hosts install/collectd-openstack.yml
|
||||
```
|
||||
To install collectd on everything other than Openstack machines, view the [README for collectd-generic](README.collectd-generic.md).
|
||||
|
||||
Install Connmon
|
||||
##### Install Connmon
|
||||
Requires Ansible 2.0
|
||||
```
|
||||
# ansible-playbook -i hosts install/connmon.yml
|
||||
```
|
||||
|
||||
Install graphite service
|
||||
##### Install graphite service
|
||||
```
|
||||
# ansible-playbook -i hosts install/graphite.yml
|
||||
```
|
||||
|
||||
Install grafana service
|
||||
* Default user is admin/admin and the graphite data source will need to be defined.
|
||||
##### Install grafana service
|
||||
Default user is admin/admin and the graphite data source will need to be defined.
|
||||
```
|
||||
# ansible-playbook -i hosts install/grafana.yml
|
||||
```
|
||||
|
||||
Install Grafana Dashboards (Requires a Grafana Server)
|
||||
* Review install/group_vars/all before deploying the grafana dashboards
|
||||
##### Install Grafana Dashboards (Requires a Grafana Server)
|
||||
Review install/group_vars/all before deploying the grafana dashboards
|
||||
```
|
||||
# ansible-playbook -i hosts install/dashboards.yml
|
||||
```
|
||||
|
||||
Install Shaker
|
||||
```
|
||||
# ansible-playbook -i hosts install/shaker.yml
|
||||
```
|
||||
|
||||
## Performance Checks:
|
||||
## Performance Check
|
||||
|
||||
Run the check playbook to identify common performance issues:
|
||||
```
|
||||
# ansible-playbook -i hosts check/site.yml
|
||||
```
|
||||
|
||||
## Performance Tune:
|
||||
## Performance Tune
|
||||
|
||||
Run the tune playbook to tune your OSPd deployed cloud for performance:
|
||||
```
|
||||
# ansible-playbook -i hosts tune/tune.yml
|
||||
```
|
||||
|
||||
## Adjust your overcloud:
|
||||
## Adjust your overcloud
|
||||
|
||||
To modify the number of workers each service is running:
|
||||
```
|
||||
|
@ -1,10 +1,53 @@
|
||||
---
|
||||
#
|
||||
# Generic Playbook to install collectd on generic machines
|
||||
# Generic Playbook to install collectd on generic machine types, use tags to seperate machine type:
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# ansible-playbook -i hosts install/collectd-generic.yml --tags="baremetal"
|
||||
# ansible-playbook -i hosts install/collectd-generic.yml --tags="guest"
|
||||
# ansible-playbook -i hosts install/collectd-generic.yml --tags="cfme"
|
||||
# ansible-playbook -i hosts install/collectd-generic.yml --tags="graphite"
|
||||
# ansible-playbook -i hosts install/collectd-generic.yml --tags="satellite6"
|
||||
# ansible-playbook -i hosts install/collectd-generic.yml --tags="baremetal,guest"
|
||||
#
|
||||
|
||||
- hosts: nodes
|
||||
- hosts: baremetal
|
||||
remote_user: root
|
||||
vars:
|
||||
config_type: baremetal
|
||||
roles:
|
||||
- common
|
||||
- collectd-generic
|
||||
tags: baremetal
|
||||
|
||||
- hosts: guest
|
||||
remote_user: root
|
||||
vars:
|
||||
config_type: guest
|
||||
roles:
|
||||
- collectd-generic
|
||||
tags: guest
|
||||
|
||||
- hosts: cfme
|
||||
remote_user: root
|
||||
vars:
|
||||
config_type: cfme
|
||||
roles:
|
||||
- collectd-generic
|
||||
tags: cfme
|
||||
|
||||
- hosts: graphite
|
||||
remote_user: root
|
||||
vars:
|
||||
config_type: graphite
|
||||
roles:
|
||||
- collectd-generic
|
||||
tags: graphite
|
||||
|
||||
- hosts: satellite6
|
||||
remote_user: root
|
||||
vars:
|
||||
config_type: satellite6
|
||||
roles:
|
||||
- collectd-generic
|
||||
tags: satellite6
|
||||
|
@ -5,6 +5,8 @@
|
||||
|
||||
- hosts: undercloud
|
||||
remote_user: "{{ local_remote_user }}"
|
||||
vars:
|
||||
config_type: undercloud
|
||||
roles:
|
||||
- { role: common, when: collectd_undercloud }
|
||||
- { role: collectd-openstack, when: collectd_undercloud }
|
||||
@ -16,6 +18,8 @@
|
||||
|
||||
- hosts: controller
|
||||
remote_user: "{{ host_remote_user }}"
|
||||
vars:
|
||||
config_type: controller
|
||||
roles:
|
||||
- { role: common, when: collectd_controller }
|
||||
- { role: collectd-openstack, when: collectd_controller }
|
||||
@ -27,6 +31,8 @@
|
||||
|
||||
- hosts: ceph
|
||||
remote_user: "{{ host_remote_user }}"
|
||||
vars:
|
||||
config_type: ceph
|
||||
roles:
|
||||
- { role: common, when: collectd_ceph }
|
||||
- { role: collectd-openstack, when: collectd_ceph }
|
||||
@ -38,6 +44,8 @@
|
||||
|
||||
- hosts: compute
|
||||
remote_user: "{{ host_remote_user }}"
|
||||
vars:
|
||||
config_type: compute
|
||||
roles:
|
||||
- { role: common, when: collectd_compute }
|
||||
- { role: collectd-openstack, when: collectd_compute }
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
#
|
||||
# Install/run collectd for browbeat
|
||||
# Install/run collectd for browbeat (Generic)
|
||||
#
|
||||
|
||||
- name: Check for epel
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
- name: Configure collectd.conf
|
||||
template:
|
||||
src=collectd.conf.j2
|
||||
src={{config_type}}.collectd.conf.j2
|
||||
dest=/etc/collectd.conf
|
||||
owner=root
|
||||
group=root
|
||||
@ -39,10 +39,12 @@
|
||||
ignore_errors: true
|
||||
changed_when: false
|
||||
|
||||
# This command is not always found?
|
||||
- name: Set permissive for collectd
|
||||
shell: semanage permissive -a collectd_t
|
||||
become: true
|
||||
when: collectd_permissive.rc != 0
|
||||
ignore_errors: true
|
||||
|
||||
#
|
||||
# Additional policy bits may be needed for exec
|
||||
|
@ -1,4 +1,5 @@
|
||||
# Installed by Browbeat Ansible Installer
|
||||
# Config type: {{config_type}}
|
||||
|
||||
# Interval default is 10s
|
||||
Interval {{collectd_interval}}
|
||||
@ -17,7 +18,6 @@ LoadPlugin disk
|
||||
LoadPlugin interface
|
||||
LoadPlugin irq
|
||||
LoadPlugin load
|
||||
LoadPlugin match_regex
|
||||
LoadPlugin memory
|
||||
LoadPlugin numa
|
||||
LoadPlugin processes
|
||||
@ -25,25 +25,6 @@ LoadPlugin swap
|
||||
LoadPlugin turbostat
|
||||
LoadPlugin uptime
|
||||
|
||||
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>
|
||||
@ -80,6 +61,5 @@ PreCacheChain "PreCache"
|
||||
ValuesPercentage true
|
||||
</Plugin>
|
||||
|
||||
|
||||
# Include other collectd configuration files
|
||||
Include "/etc/collectd.d"
|
@ -0,0 +1,256 @@
|
||||
# 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 df
|
||||
LoadPlugin disk
|
||||
LoadPlugin interface
|
||||
LoadPlugin irq
|
||||
LoadPlugin load
|
||||
LoadPlugin memory
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin tail
|
||||
LoadPlugin uptime
|
||||
|
||||
# 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 processes>
|
||||
ProcessMatch "evm_server.rb" ".*evm_server\.rb$"
|
||||
ProcessMatch "evm_watchdog.rb" "/bin/evm_watchdog.rb"
|
||||
Process "evm:dbsync:replicate"
|
||||
Process "appliance_console.rb"
|
||||
|
||||
# Workers
|
||||
ProcessMatch "MiqEventHandler" ".*MiqEventHandler.*"
|
||||
ProcessMatch "MiqGenericWorker" "MiqGenericWorker.*"
|
||||
ProcessMatch "MiqPriorityWorker" "MiqPriorityWorker.*"
|
||||
ProcessMatch "MiqReportingWorker" "MiqReportingWorker.*"
|
||||
ProcessMatch "MiqScheduleWorker" "MiqScheduleWorker.*"
|
||||
ProcessMatch "MiqUiWorker" "MiqUiWorker.*"
|
||||
ProcessMatch "MiqWebServiceWorker" "MiqWebServiceWorker.*"
|
||||
ProcessMatch "MiqReplicationWorker" "MiqReplicationWorker.*"
|
||||
ProcessMatch "MiqEmsMetricsProcessorWorker" "MiqEmsMetricsProcessorWorker.*"
|
||||
Processmatch "MiqSmartProxyWorker" "MiqSmartProxyWorker.*"
|
||||
Processmatch "MiqVimBrokerWorker" "MiqVimBrokerWorker.*"
|
||||
Processmatch "MiqEmsRefreshCoreWorker" "MiqEmsRefreshCoreWorker.*"
|
||||
|
||||
# Provider Refresh Workers:
|
||||
ProcessMatch "Vmware::InfraManager::RefreshWorker" "Vmware::InfraManager::RefreshWorker.*"
|
||||
ProcessMatch "Redhat::InfraManager::RefreshWorker" "Redhat::InfraManager::RefreshWorker.*"
|
||||
ProcessMatch "Microsoft::InfraManager::RefreshWorker" "Microsoft::InfraManager::RefreshWorker.*"
|
||||
ProcessMatch "Openstack::InfraManager::RefreshWorker" "Openstack::InfraManager::RefreshWorker.*"
|
||||
ProcessMatch "MiqEmsRefreshWorkerVmware" "MiqEmsRefreshWorkerVmware.*"
|
||||
ProcessMatch "MiqEmsRefreshWorkerRedhat" "MiqEmsRefreshWorkerRedhat.*"
|
||||
ProcessMatch "MiqEmsRefreshWorkerMicrosoft" "MiqEmsRefreshWorkerMicrosoft.*"
|
||||
ProcessMatch "Foreman::ConfigurationManager::RefreshWorker" "Foreman::ConfigurationManager::RefreshWorker.*"
|
||||
ProcessMatch "Foreman::ProvisioningManager::RefreshWorker" "Foreman::ProvisioningManager::RefreshWorker.*"
|
||||
ProcessMatch "MiqEmsRefreshWorkerForemanConfiguration" "MiqEmsRefreshWorkerForemanConfiguration.*"
|
||||
ProcessMatch "MiqEmsRefreshWorkerForemanProvisioning" "MiqEmsRefreshWorkerForemanProvisioning.*"
|
||||
ProcessMatch "Amazon::CloudManager::RefreshWorker" "Amazon::CloudManager::RefreshWorker.*"
|
||||
ProcessMatch "Azure::CloudManager::RefreshWorker" "Azure::CloudManager::RefreshWorker.*"
|
||||
ProcessMatch "Openstack::CloudManager::RefreshWorker" "Openstack::CloudManager::RefreshWorker.*"
|
||||
ProcessMatch "MiqEmsRefreshWorkerAmazon" "MiqEmsRefreshWorkerAmazon.*"
|
||||
ProcessMatch "MiqEmsRefreshWorkerOpenstack" "MiqEmsRefreshWorkerOpenstack.*"
|
||||
ProcessMatch "Atomic::ContainerManager::RefreshWorker" "Atomic::ContainerManager::RefreshWorker.*"
|
||||
ProcessMatch "Kubernetes::ContainerManager::RefreshWorker" "Kubernetes::ContainerManager::RefreshWorker.*"
|
||||
ProcessMatch "Openshift::ContainerManager::RefreshWorker" "Openshift::ContainerManager::RefreshWorker.*"
|
||||
ProcessMatch "OpenshiftEnterprise::ContainerManager::RefreshWorker" "OpenshiftEnterprise::ContainerManager::RefreshWorker.*"
|
||||
|
||||
# Provider EventCatcher Workers:
|
||||
ProcessMatch "Vmware::InfraManager::EventCatcher" "Vmware::InfraManager::EventCatcher.*"
|
||||
ProcessMatch "Redhat::InfraManager::EventCatcher" "Redhat::InfraManager::EventCatcher.*"
|
||||
ProcessMatch "Openstack::InfraManager::EventCatcher" "Openstack::InfraManager::EventCatcher.*"
|
||||
ProcessMatch "MiqEventCatcherVmware" "MiqEventCatcherVmware.*"
|
||||
ProcessMatch "MiqEventCatcherRedhat" "MiqEventCatcherRedhat.*"
|
||||
ProcessMatch "Amazon::CloudManager::EventCatcher" "Amazon::CloudManager::EventCatcher.*"
|
||||
ProcessMatch "Azure::CloudManager::EventCatcher" "Azure::CloudManager::EventCatcher.*"
|
||||
ProcessMatch "Openstack::CloudManager::EventCatcher" "Openstack::CloudManager::EventCatcher.*"
|
||||
ProcessMatch "MiqEventCatcherAmazon" "MiqEventCatcherAmazon.*"
|
||||
ProcessMatch "MiqEventCatcherOpenstack" "MiqEventCatcherOpenstack.*"
|
||||
ProcessMatch "Atomic::ContainerManager::EventCatcher" "Atomic::ContainerManager::EventCatcher.*"
|
||||
ProcessMatch "Kubernetes::ContainerManager::EventCatcher" "Kubernetes::ContainerManager::EventCatcher.*"
|
||||
ProcessMatch "Openshift::ContainerManager::EventCatcher" "Openshift::ContainerManager::EventCatcher.*"
|
||||
ProcessMatch "OpenshiftEnterprise::ContainerManager::EventCatcher" "OpenshiftEnterprise::ContainerManager::EventCatcher.*"
|
||||
|
||||
# Provider MetricsCollector Workers:
|
||||
ProcessMatch "Vmware::InfraManager::MetricsCollectorWorker" "Vmware::InfraManager::MetricsCollectorWorker.*"
|
||||
ProcessMatch "Redhat::InfraManager::MetricsCollectorWorker" "Redhat::InfraManager::MetricsCollectorWorker.*"
|
||||
ProcessMatch "MiqEmsMetricsCollectorWorkerVmware" "MiqEmsMetricsCollectorWorkerVmware.*"
|
||||
ProcessMatch "MiqEmsMetricsCollectorWorkerRedhat" "MiqEmsMetricsCollectorWorkerRedhat.*"
|
||||
ProcessMatch "Amazon::CloudManager::MetricsCollectorWorker" "Amazon::CloudManager::MetricsCollectorWorker.*"
|
||||
ProcessMatch "Openstack::CloudManager::MetricsCollectorWorker" "Openstack::CloudManager::MetricsCollectorWorker.*"
|
||||
ProcessMatch "MiqEmsMetricsCollectorWorkerAmazon" "MiqEmsMetricsCollectorWorkerAmazon.*"
|
||||
ProcessMatch "MiqEmsMetricsCollectorWorkerOpenstack" "MiqEmsMetricsCollectorWorkerOpenstack.*"
|
||||
ProcessMatch "Atomic::ContainerManager::MetricsCollectorWorker" "Atomic::ContainerManager::MetricsCollectorWorker.*"
|
||||
ProcessMatch "Kubernetes::ContainerManager::MetricsCollectorWorker" "Kubernetes::ContainerManager::MetricsCollectorWorker.*"
|
||||
ProcessMatch "Openshift::ContainerManager::MetricsCollectorWorker" "Openshift::ContainerManager::MetricsCollectorWorker.*"
|
||||
ProcessMatch "OpenshiftEnterprise::ContainerManager::MetricsCollectorWorker" "OpenshiftEnterprise::ContainerManager::MetricsCollectorWorker.*"
|
||||
|
||||
ProcessMatch "collectd" "/usr/sbin/collectd.+-C.+/etc/collectd.conf"
|
||||
Process "httpd"
|
||||
Process "memcached"
|
||||
ProcessMatch "postgres" "postgres.*"
|
||||
# Catch all-other ruby processes:
|
||||
Process "ruby"
|
||||
</Plugin>
|
||||
|
||||
<Plugin swap>
|
||||
ReportBytes true
|
||||
ValuesPercentage true
|
||||
</Plugin>
|
||||
|
||||
<Plugin "tail">
|
||||
<File "/var/www/miq/vmdb/log/api.log">
|
||||
Instance "api"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/appliance_console.log">
|
||||
Instance "appliance_console"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/audit.log">
|
||||
Instance "audit"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/automation.log">
|
||||
Instance "automation"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/aws.log">
|
||||
Instance "aws"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/evm.log">
|
||||
Instance "evm"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/fog.log">
|
||||
Instance "fog"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/kubernetes.log">
|
||||
Instance "kubernetes"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/policy.log">
|
||||
Instance "policy"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/production.log">
|
||||
Instance "production"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/rhevm.log">
|
||||
Instance "rhevm"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/scvmm.log">
|
||||
Instance "scvmm"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
<File "/var/www/miq/vmdb/log/vim.log">
|
||||
Instance "vim"
|
||||
<Match>
|
||||
Regex " ERROR "
|
||||
DSType "CounterInc"
|
||||
Type "counter"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
</Plugin>
|
||||
|
||||
# Include other collectd configuration files
|
||||
Include "/etc/collectd.d"
|
@ -0,0 +1,65 @@
|
||||
# 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 df
|
||||
LoadPlugin disk
|
||||
LoadPlugin interface
|
||||
LoadPlugin irq
|
||||
LoadPlugin load
|
||||
LoadPlugin memory
|
||||
LoadPlugin numa
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin turbostat
|
||||
LoadPlugin uptime
|
||||
|
||||
# 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 processes>
|
||||
ProcessMatch "carbon-cache" "python.+carbon-cache"
|
||||
Process "grafana-server"
|
||||
Process "httpd"
|
||||
# Collect on collectd process
|
||||
ProcessMatch "collectd" "/usr/sbin/collectd.+-C.+/etc/collectd.conf"
|
||||
</Plugin>
|
||||
|
||||
<Plugin swap>
|
||||
ReportBytes true
|
||||
ValuesPercentage true
|
||||
</Plugin>
|
||||
|
||||
# Include other collectd configuration files
|
||||
Include "/etc/collectd.d"
|
@ -0,0 +1,63 @@
|
||||
# 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 df
|
||||
LoadPlugin disk
|
||||
LoadPlugin interface
|
||||
LoadPlugin irq
|
||||
LoadPlugin load
|
||||
LoadPlugin memory
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin uptime
|
||||
|
||||
# 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 processes>
|
||||
# Example, collect on all httpd processes:
|
||||
Process "httpd"
|
||||
|
||||
# Collect on collectd process
|
||||
ProcessMatch "collectd" "/usr/sbin/collectd.+-C.+/etc/collectd.conf"
|
||||
</Plugin>
|
||||
|
||||
<Plugin swap>
|
||||
ReportBytes true
|
||||
ValuesPercentage true
|
||||
</Plugin>
|
||||
|
||||
# Include other collectd configuration files
|
||||
Include "/etc/collectd.d"
|
@ -0,0 +1,105 @@
|
||||
# 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 df
|
||||
LoadPlugin disk
|
||||
LoadPlugin interface
|
||||
LoadPlugin irq
|
||||
LoadPlugin load
|
||||
LoadPlugin memory
|
||||
LoadPlugin numa
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin turbostat
|
||||
LoadPlugin uptime
|
||||
|
||||
# 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 processes>
|
||||
# DynFlow
|
||||
Process "dynflow_executor"
|
||||
Process "dynflow_executor_monitor"
|
||||
|
||||
# Elasticsearch
|
||||
ProcessMatch "Elasticsearch" ".*elasticsearch.*"
|
||||
|
||||
# Apache
|
||||
Process "httpd"
|
||||
|
||||
# Mongodb
|
||||
Process "mongod"
|
||||
|
||||
# Passenger
|
||||
ProcessMatch "Passenger-Forman" "Passenger.+RackApp:.+/usr/share/foreman"
|
||||
ProcessMatch "Passenger-Puppet" "Passenger.+RackApp:.+/etc/puppet/rack"
|
||||
Process "PassengerHelperAgent"
|
||||
Process "PassengerLoggingAgent"
|
||||
Process "PassengerWatchdog"
|
||||
|
||||
# Postgres database
|
||||
ProcessMatch "postgres" "postgres.*"
|
||||
|
||||
# Pulp
|
||||
ProcessMatch "Pulp-Scheduler" "/usr/bin/python.+/usr/bin/celery.+beat.+--scheduler=pulp.server.async.scheduler.Scheduler"
|
||||
ProcessMatch "Pulp-Resource-Manager" "/usr/bin/python.+/usr/bin/celery.+worker.+-A.+pulp.server.async.app.+-n.+resource_manager"
|
||||
ProcessMatch "Pulp-Resource-Worker" "/usr/bin/python.+/usr/bin/celery.+worker.+-n.+reserved_resource_worker"
|
||||
|
||||
# Puppet Agent
|
||||
ProcessMatch "Puppet-Agent" "/usr/bin/ruby.+/usr/bin/puppet.+agent.+--no-daemonize"
|
||||
|
||||
# Qpidd + dispatch router
|
||||
Process "qdrouterd"
|
||||
Process "qpidd"
|
||||
|
||||
# Foreman smart proxy
|
||||
ProcessMatch "Foreman-SmartProxy" "ruby.+/usr/share/foreman-proxy/bin/smart-proxy"
|
||||
|
||||
# Tomcat
|
||||
ProcessMatch "Tomcat" ".*tomcat.*"
|
||||
|
||||
Process "ruby"
|
||||
|
||||
# Collect on collectd process
|
||||
ProcessMatch "collectd" "/usr/sbin/collectd.+-C.+/etc/collectd.conf"
|
||||
</Plugin>
|
||||
|
||||
<Plugin swap>
|
||||
ReportBytes true
|
||||
ValuesPercentage true
|
||||
</Plugin>
|
||||
|
||||
# Include other collectd configuration files
|
||||
Include "/etc/collectd.d"
|
@ -22,7 +22,7 @@
|
||||
|
||||
- name: Configure collectd.conf
|
||||
template:
|
||||
src=collectd.conf.j2
|
||||
src={{config_type}}.collectd.conf.j2
|
||||
dest=/etc/collectd.conf
|
||||
owner=root
|
||||
group=root
|
||||
|
@ -0,0 +1,101 @@
|
||||
# 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 numa
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin tail
|
||||
LoadPlugin turbostat
|
||||
LoadPlugin uptime
|
||||
|
||||
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 processes>
|
||||
# Ceph
|
||||
ProcessMatch "ceph-mon" "^/usr/bin/ceph-mon"
|
||||
ProcessMatch "ceph-osd" "^/usr/bin/ceph-osd"
|
||||
ProcessMatch "diamond" "python.+diamond"
|
||||
ProcessMatch "salt-minion" "python.+salt-minion"
|
||||
|
||||
ProcessMatch "collectd" "/usr/sbin/collectd.+-C.+/etc/collectd.conf"
|
||||
Process "corosync"
|
||||
Process "httpd"
|
||||
Process "memcached"
|
||||
ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch"
|
||||
ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch"
|
||||
ProcessMatch "qemu-kvm" "/usr/libexec/qemu-kvm"
|
||||
</Plugin>
|
||||
|
||||
<Plugin swap>
|
||||
ReportBytes true
|
||||
ValuesPercentage true
|
||||
</Plugin>
|
||||
|
||||
# Tail plugin configuration
|
||||
<Plugin "tail">
|
||||
{# Add ceph logs to tail #}
|
||||
</Plugin>
|
||||
|
||||
# Include other collectd configuration files
|
||||
Include "/etc/collectd.d"
|
@ -0,0 +1,200 @@
|
||||
# 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 numa
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin tail
|
||||
LoadPlugin turbostat
|
||||
LoadPlugin uptime
|
||||
|
||||
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 processes>
|
||||
# Ceilometer
|
||||
ProcessMatch "ceilometer-agent-central" "python.+ceilometer-agent-central"
|
||||
ProcessMatch "ceilometer-agent-compute" "python.+ceilometer-agent-compute"
|
||||
ProcessMatch "ceilometer-agent-notification" "python.+ceilometer-agent-notification"
|
||||
ProcessMatch "ceilometer-alarm-evaluator" "python.+ceilometer-alarm-evaluator"
|
||||
ProcessMatch "ceilometer-alarm-notifier" "python.+ceilometer-alarm-notifier"
|
||||
ProcessMatch "ceilometer-api" "python.+ceilometer-api"
|
||||
ProcessMatch "ceilometer-collector" "python.+ceilometer-collector"
|
||||
|
||||
# Ceph
|
||||
ProcessMatch "ceph-mon" "^/usr/bin/ceph-mon"
|
||||
ProcessMatch "ceph-osd" "^/usr/bin/ceph-osd"
|
||||
ProcessMatch "diamond" "python.+diamond"
|
||||
ProcessMatch "salt-minion" "python.+salt-minion"
|
||||
|
||||
# Cinder
|
||||
ProcessMatch "cinder-api" "python.+cinder-api"
|
||||
ProcessMatch "cinder-scheduler" "python.+cinder-scheduler"
|
||||
ProcessMatch "cinder-volume" "python.+cinder-volume"
|
||||
|
||||
# Glance
|
||||
ProcessMatch "glance-api" "python.+glance-api"
|
||||
ProcessMatch "glance-registry" "python.+glance-registry"
|
||||
|
||||
# Heat
|
||||
ProcessMatch "heat-api" "python.+heat-api"
|
||||
ProcessMatch "heat-api-cfn" "python.+heat-api-cfn"
|
||||
ProcessMatch "heat-api-cloudwatch" "python.+heat-api-cloudwatch"
|
||||
ProcessMatch "heat-engine" "python.+heat-engine"
|
||||
|
||||
# Ironic
|
||||
ProcessMatch "ironic-api" "python.+ironic-api"
|
||||
ProcessMatch "ironic-conductor" "python.+ironic-conductor"
|
||||
|
||||
# Keystone
|
||||
ProcessMatch "keystone-all" "python.+keystone-all"
|
||||
|
||||
# Neutron
|
||||
ProcessMatch "neutron-dhcp-agent" "python.+neutron-dhcp-agent"
|
||||
ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent"
|
||||
ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent"
|
||||
ProcessMatch "neutron-ns-metadata-proxy" "python.+neutron-ns-metadata-proxy"
|
||||
ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent"
|
||||
ProcessMatch "neutron-server" "python.+neutron-server"
|
||||
|
||||
# Nova Processes
|
||||
ProcessMatch "nova-api" "python.+nova-api"
|
||||
ProcessMatch "nova-cert" "python.+nova-cert"
|
||||
ProcessMatch "nova-compute" "python.+nova-compute"
|
||||
ProcessMatch "nova-conductor" "python.+nova-conductor"
|
||||
ProcessMatch "nova-consoleauth" "python.+nova-consoleauth"
|
||||
ProcessMatch "nova-novncproxy" "python.+nova-novncproxy"
|
||||
ProcessMatch "nova-scheduler" "python.+nova-scheduler"
|
||||
|
||||
# Swift
|
||||
ProcessMatch "swift-account-auditor" "python.+swift-account-auditor"
|
||||
ProcessMatch "swift-account-reaper" "python.+swift-account-reaper"
|
||||
ProcessMatch "swift-account-replicator" "python.+swift-account-replicator"
|
||||
ProcessMatch "swift-account-server" "python.+swift-account-server"
|
||||
ProcessMatch "swift-container-auditor" "python.+swift-container-auditor"
|
||||
ProcessMatch "swift-container-updater" "python.+swift-container-updater"
|
||||
ProcessMatch "swift-container-replicator" "python.+swift-container-replicator"
|
||||
ProcessMatch "swift-container-server" "python.+swift-container-server"
|
||||
ProcessMatch "swift-object-auditor" "python.+swift-object-auditor"
|
||||
ProcessMatch "swift-object-updater" "python.+swift-object-updater"
|
||||
ProcessMatch "swift-object-replicator" "python.+swift-object-replicator"
|
||||
ProcessMatch "swift-object-server" "python.+swift-object-server"
|
||||
ProcessMatch "swift-proxy-server" "python.+swift-proxy-server"
|
||||
|
||||
# Pacemaker
|
||||
ProcessMatch "pacemakerd" "/usr/sbin/pacemakerd"
|
||||
ProcessMatch "cib" "/usr/libexec/pacemaker/cib"
|
||||
ProcessMatch "stonithd" "/usr/libexec/pacemaker/stonithd"
|
||||
ProcessMatch "attrd" "/usr/libexec/pacemaker/attrd"
|
||||
ProcessMatch "pengine" "/usr/libexec/pacemaker/pengine"
|
||||
ProcessMatch "crmd" "/usr/libexec/pacemaker/crmd"
|
||||
ProcessMatch "lrmd" "/usr/libexec/pacemaker/lrmd"
|
||||
ProcessMatch "pcsd" "^/usr/bin/ruby.+/usr/lib/pcsd"
|
||||
|
||||
ProcessMatch "collectd" "/usr/sbin/collectd.+-C.+/etc/collectd.conf"
|
||||
Process "corosync"
|
||||
ProcessMatch "dnsmasq" "^dnsmasq.+"
|
||||
ProcessMatch "dnsmasq-ironic" "/sbin/dnsmasq.+/etc/ironic-discoverd/dnsmasq.conf"
|
||||
ProcessMatch "haproxy" "/usr/sbin/haproxy.+/etc/haproxy/haproxy.cfg"
|
||||
Process "httpd"
|
||||
Process "memcached"
|
||||
Process "mongod"
|
||||
ProcessMatch "mysqld" "/usr/libexec/mysqld"
|
||||
ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch"
|
||||
ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch"
|
||||
ProcessMatch "qemu-kvm" "/usr/libexec/qemu-kvm"
|
||||
ProcessMatch "rabbitmq" "/usr/lib64/erlang/erts-.+/bin/beam.smp"
|
||||
Process "redis-server"
|
||||
ProcessMatch "tuskar-api" "python.+tuskar-api"
|
||||
</Plugin>
|
||||
|
||||
<Plugin swap>
|
||||
ReportBytes true
|
||||
ValuesPercentage true
|
||||
</Plugin>
|
||||
|
||||
# Tail plugin configuration
|
||||
<Plugin "tail">
|
||||
<File "/var/log/nova/nova-compute.log">
|
||||
Instance "nova-compute"
|
||||
<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>
|
||||
</Plugin>
|
||||
|
||||
# Include other collectd configuration files
|
||||
Include "/etc/collectd.d"
|
@ -0,0 +1,296 @@
|
||||
# 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 numa
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin tail
|
||||
LoadPlugin turbostat
|
||||
LoadPlugin uptime
|
||||
|
||||
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 processes>
|
||||
# Ceilometer
|
||||
ProcessMatch "ceilometer-agent-central" "python.+ceilometer-agent-central"
|
||||
ProcessMatch "ceilometer-agent-compute" "python.+ceilometer-agent-compute"
|
||||
ProcessMatch "ceilometer-agent-notification" "python.+ceilometer-agent-notification"
|
||||
ProcessMatch "ceilometer-alarm-evaluator" "python.+ceilometer-alarm-evaluator"
|
||||
ProcessMatch "ceilometer-alarm-notifier" "python.+ceilometer-alarm-notifier"
|
||||
ProcessMatch "ceilometer-api" "python.+ceilometer-api"
|
||||
ProcessMatch "ceilometer-collector" "python.+ceilometer-collector"
|
||||
|
||||
# Ceph
|
||||
ProcessMatch "ceph-mon" "^/usr/bin/ceph-mon"
|
||||
ProcessMatch "ceph-osd" "^/usr/bin/ceph-osd"
|
||||
ProcessMatch "diamond" "python.+diamond"
|
||||
ProcessMatch "salt-minion" "python.+salt-minion"
|
||||
|
||||
# Cinder
|
||||
ProcessMatch "cinder-api" "python.+cinder-api"
|
||||
ProcessMatch "cinder-scheduler" "python.+cinder-scheduler"
|
||||
ProcessMatch "cinder-volume" "python.+cinder-volume"
|
||||
|
||||
# Glance
|
||||
ProcessMatch "glance-api" "python.+glance-api"
|
||||
ProcessMatch "glance-registry" "python.+glance-registry"
|
||||
|
||||
# Heat
|
||||
ProcessMatch "heat-api" "python.+heat-api"
|
||||
ProcessMatch "heat-api-cfn" "python.+heat-api-cfn"
|
||||
ProcessMatch "heat-api-cloudwatch" "python.+heat-api-cloudwatch"
|
||||
ProcessMatch "heat-engine" "python.+heat-engine"
|
||||
|
||||
# Ironic
|
||||
ProcessMatch "ironic-api" "python.+ironic-api"
|
||||
ProcessMatch "ironic-conductor" "python.+ironic-conductor"
|
||||
|
||||
# Keystone
|
||||
ProcessMatch "keystone-all" "python.+keystone-all"
|
||||
|
||||
# Neutron
|
||||
ProcessMatch "neutron-dhcp-agent" "python.+neutron-dhcp-agent"
|
||||
ProcessMatch "neutron-l3-agent" "python.+neutron-l3-agent"
|
||||
ProcessMatch "neutron-metadata-agent" "python.+neutron-metadata-agent"
|
||||
ProcessMatch "neutron-ns-metadata-proxy" "python.+neutron-ns-metadata-proxy"
|
||||
ProcessMatch "neutron-openvswitch-agent" "python.+neutron-openvswitch-agent"
|
||||
ProcessMatch "neutron-server" "python.+neutron-server"
|
||||
|
||||
# Nova Processes
|
||||
ProcessMatch "nova-api" "python.+nova-api"
|
||||
ProcessMatch "nova-cert" "python.+nova-cert"
|
||||
ProcessMatch "nova-compute" "python.+nova-compute"
|
||||
ProcessMatch "nova-conductor" "python.+nova-conductor"
|
||||
ProcessMatch "nova-consoleauth" "python.+nova-consoleauth"
|
||||
ProcessMatch "nova-novncproxy" "python.+nova-novncproxy"
|
||||
ProcessMatch "nova-scheduler" "python.+nova-scheduler"
|
||||
|
||||
# Swift
|
||||
ProcessMatch "swift-account-auditor" "python.+swift-account-auditor"
|
||||
ProcessMatch "swift-account-reaper" "python.+swift-account-reaper"
|
||||
ProcessMatch "swift-account-replicator" "python.+swift-account-replicator"
|
||||
ProcessMatch "swift-account-server" "python.+swift-account-server"
|
||||
ProcessMatch "swift-container-auditor" "python.+swift-container-auditor"
|
||||
ProcessMatch "swift-container-updater" "python.+swift-container-updater"
|
||||
ProcessMatch "swift-container-replicator" "python.+swift-container-replicator"
|
||||
ProcessMatch "swift-container-server" "python.+swift-container-server"
|
||||
ProcessMatch "swift-object-auditor" "python.+swift-object-auditor"
|
||||
ProcessMatch "swift-object-updater" "python.+swift-object-updater"
|
||||
ProcessMatch "swift-object-replicator" "python.+swift-object-replicator"
|
||||
ProcessMatch "swift-object-server" "python.+swift-object-server"
|
||||
ProcessMatch "swift-proxy-server" "python.+swift-proxy-server"
|
||||
|
||||
# Pacemaker
|
||||
ProcessMatch "pacemakerd" "/usr/sbin/pacemakerd"
|
||||
ProcessMatch "cib" "/usr/libexec/pacemaker/cib"
|
||||
ProcessMatch "stonithd" "/usr/libexec/pacemaker/stonithd"
|
||||
ProcessMatch "attrd" "/usr/libexec/pacemaker/attrd"
|
||||
ProcessMatch "pengine" "/usr/libexec/pacemaker/pengine"
|
||||
ProcessMatch "crmd" "/usr/libexec/pacemaker/crmd"
|
||||
ProcessMatch "lrmd" "/usr/libexec/pacemaker/lrmd"
|
||||
ProcessMatch "pcsd" "^/usr/bin/ruby.+/usr/lib/pcsd"
|
||||
|
||||
ProcessMatch "collectd" "/usr/sbin/collectd.+-C.+/etc/collectd.conf"
|
||||
Process "corosync"
|
||||
ProcessMatch "dnsmasq" "^dnsmasq.+"
|
||||
ProcessMatch "dnsmasq-ironic" "/sbin/dnsmasq.+/etc/ironic-discoverd/dnsmasq.conf"
|
||||
ProcessMatch "haproxy" "/usr/sbin/haproxy.+/etc/haproxy/haproxy.cfg"
|
||||
Process "httpd"
|
||||
Process "memcached"
|
||||
Process "mongod"
|
||||
ProcessMatch "mysqld" "/usr/libexec/mysqld"
|
||||
ProcessMatch "ovs-vswitchd" "ovs-vswitchd.+openvswitch"
|
||||
ProcessMatch "ovsdb-server" "ovsdb-server.+openvswitch"
|
||||
ProcessMatch "qemu-kvm" "/usr/libexec/qemu-kvm"
|
||||
ProcessMatch "rabbitmq" "/usr/lib64/erlang/erts-.+/bin/beam.smp"
|
||||
Process "redis-server"
|
||||
ProcessMatch "tuskar-api" "python.+tuskar-api"
|
||||
</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"
|
@ -1,4 +1,5 @@
|
||||
# Installed by Browbeat Ansible Installer
|
||||
# Config type: {{config_type}}
|
||||
|
||||
# Interval default is 10s
|
||||
Interval {{collectd_interval}}
|
||||
@ -24,10 +25,7 @@ LoadPlugin memory
|
||||
LoadPlugin numa
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
{% if 'controller' in group_names or 'undercloud' in group_names %}
|
||||
LoadPlugin tail
|
||||
{% endif %}
|
||||
#LoadPlugin tcpconns
|
||||
LoadPlugin turbostat
|
||||
LoadPlugin uptime
|
||||
|
||||
@ -64,13 +62,6 @@ PreCacheChain "PreCache"
|
||||
</Carbon>
|
||||
</Plugin>
|
||||
|
||||
# Collectd to graphite uses derive type so no need for ValuesPercentage
|
||||
#<Plugin cpu>
|
||||
# ReportByCpu true
|
||||
# ReportByState true
|
||||
# ValuesPercentage true
|
||||
#</Plugin>
|
||||
|
||||
<Plugin df>
|
||||
ValuesPercentage true
|
||||
</Plugin>
|
||||
@ -80,10 +71,6 @@ PreCacheChain "PreCache"
|
||||
IgnoreSelected false
|
||||
</Plugin>
|
||||
|
||||
#<Plugin exec>
|
||||
# Exec nobody "/usr/local/bin/collectd-redis.sh"
|
||||
#</Plugin>
|
||||
|
||||
<Plugin processes>
|
||||
# Ceilometer
|
||||
ProcessMatch "ceilometer-agent-central" "python.+ceilometer-agent-central"
|
||||
@ -186,10 +173,8 @@ PreCacheChain "PreCache"
|
||||
ValuesPercentage true
|
||||
</Plugin>
|
||||
|
||||
|
||||
# Tail plugin configuration
|
||||
<Plugin "tail">
|
||||
{% if 'undercloud' in group_names %}
|
||||
<File "/var/log/keystone/keystone.log">
|
||||
Instance "keystone"
|
||||
<Match>
|
||||
@ -320,150 +305,7 @@ PreCacheChain "PreCache"
|
||||
Instance "total"
|
||||
</Match>
|
||||
</File>
|
||||
|
||||
{% endif %}
|
||||
{% if 'controller' in group_names %}
|
||||
<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>
|
||||
{% endif %}
|
||||
{% if 'compute' in group_names %}
|
||||
<File "/var/log/nova/nova-compute.log">
|
||||
Instance "nova-compute"
|
||||
<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>
|
||||
{% endif %}
|
||||
{% if 'ceph' in group_names %}
|
||||
{# Add ceph logs to tail #}
|
||||
{% endif %}
|
||||
</Plugin>
|
||||
|
||||
#<Plugin tcpconns>
|
||||
# ListeningPorts true
|
||||
#</Plugin>
|
||||
|
||||
# Include other collectd configuration files
|
||||
Include "/etc/collectd.d"
|
Loading…
Reference in New Issue
Block a user