Satellite-monitoring contains simple Ansible playbooks that can be used to perform following tasks:
*System Resources*
- cpu, Memory, Disk, Network, Turbostat, Numa, IRQ, Load time
*Satellite processes Memory, cpu, pagefaults, IOPS, IO throuhput*
- Dynflow, Forman-smartproxy, Mongodb, Passenger, Postgres, Pulp, Puppet-agent, Qpidd, Qpid Dispatch Router, Tomcat,
* Satellite Database Operations*
- Foreman, Candlepin
Ideally, you need Three hosts to run this project:
- Ansible Control node (referred to as
Control node
in the rest of this document) is the host from which satellite-monitoring ansible playbooks are run. Could be user laptop - Destination node - Ansible playbooks install collectd on below nodes
- A Satellite server
- Capsule servers
- Monitoring server - Ansible playbooks install below services
- Grafana
- Graphite
- Carbon
Note
- You can get away with using one host by optionally choosing to use
Destination node
as theControl node
. - Make sure that the
Control node
can connect to theDestination node
&Monitirng Server
via paswordless ssh.
Supported versions
- RHEL 6
- RHEL 7
-
git clone this project.
# git clone https://github.com/redhat-performance/satellite-monitoring.git
NOTE: Optionally you may utilize the script [control_node_setup.sh] (adhoc-scripts/control_node_setup.sh) to perform step 2 below. The instructions to use this script are documented in the script itself.
-
Install
ansible
package on the Control node. For RHEL boxes, [access to EPEL] (https://access.redhat.com/solutions/3358) is required.# yum install -y ansible
-
Create an inventory file named
inventory
(by copyingansible/inventory.sample
) and update satellite, capsule, grafana, graphite it as necessary:
# cp conf/hosts.ini.sample conf/hosts.ini
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini ansible/collectd-generic.yaml --tags "satellite6"
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini ansible/collectd-generic.yaml --tags "capsules"
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini ansible/grafana.yaml --tags "grafana"
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini ansible/graphite.yaml --tags "graphite"
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini ansible/dashboards-generic.yaml
You might wanna check the selinux policies. Try one of the following to counter "Permission Denied" log statement:
# setsebool -P collectd_tcp_network_connect 1
OR
# audit2allow -a
# audit2allow -a -M collectd_t
# semodule -i collectd_t.pp
OR
# semanage permissive -a httpd_t
..or all.