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
- Introduction
- Preparing your system for setup
- Setting up the hosts file
- Creating your own personalized configuration for monitoring
- Deploying your monitoring setup
- Installing optional statsd module
Satellite-monitoring package provides a way through which Satellite 6 users can install Monitoring tools for their Satellite and Capsule installation.
The following setup is currently provided by the satellite-monitoring:
- collectd
- statsd
- grafana
- graphite If you want to setup a monitoring for your Satellite installation, follow on with the guide.
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 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, follow the instruction in this article to enable the correct repository.# subscription-manager repos --enable rhel-7-server-ansible-VERSION-rpms # yum install -y ansible
-
Create an inventory file named
inventory
(by copyingansible/hosts.ini.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
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini ansible/graphite.yaml
$ ansible-playbook --private-key conf/id_rsa -i conf/hosts.ini ansible/dashboard-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.
http://:11202