
The deployment guide is currently pointed at triplo-docs but it has been requested that we actually publish a deployment guide. This change extracts many of the installation doc pages and moves them into the deploy-guide source tree. Once the deploy-guide is published, we will follow up to reference the deployment guide from tripleo-docs. Change-Id: I0ebd26f014180a92c6cf4ab0929d99b2d860796f
6.2 KiB
Deploying Operational Tools
TripleO comes with an optional suite of tools designed to help operators maintain an OpenStack environment. The tools perform the following functions:
- Availability Monitoring
- Centralized Logging
- Performance Monitoring
This document will go through the presentation and installation of these tools.
Architecture
- Operational Tool Server:
- Monitoring Relay/proxy (RabbitMQ)
- Monitoring Controller/Server (Sensu)
- Data Store (Redis)
- API/Presentation Layer (Uchiwa)
- Log relay/transformer (Fluentd)
- Data store (Elastic)
- API/Presentation Layer (Kibana)
- Performance receptor (Collectd)
- Aggregator/Relay (Graphite)
- An API/Presentation Layer (Grafana)
- Undercloud:
- There is no operational tools installed by default on the undercloud
- Overcloud:
Deploying the Operational Tool Server
There is an ansible project called opstools-ansible (OpsTools) on github that helps to install the Operator Server, further documentation of the operational tool server instalation can be founded at (OpsToolsDoc).
Deploying the Undercloud
As there is nothing to install on the undercloud nothing needs to be done.
Before deploying the Overcloud
Note
The ../deployment/template_deploy
document has a more
detailed explanation of the following steps.
Install client packages on overcloud-full image:
Prepare installation script:
cat >install.sh<<EOF #!/usr/bin/sh yum install -y centos-release-opstools yum install -y sensu fluentd collectd EOF
Run the script using virt-customize:
LIBGUESTFS_BACKEND=direct virt-customize -a /path/to/overcloud-full.qcow2 \ --upload install.sh:/tmp/install.sh \ --run-command "sh /tmp/install.sh" \ --selinux-relabel
Upload new image to undercloud image registry:
openstack overcloud image upload --update-existing
Operational tools configuration files:
The files have some documentation about the parameters that need to be configured
Availability Monitoring:
/usr/share/openstack-tripleo-heat-templates/environments/monitoring-environment.yaml
Centralized Logging:
/usr/share/openstack-tripleo-heat-templates/environments/logging-environment.yaml
Performance Monitoring:
/usr/share/openstack-tripleo-heat-templates/environments/collectd-environment.yaml
Configure the environment
The easiest way to configure our environment will be to create a parameter file, let's called paramters.yaml with all the paramteres defined.
Availability Monitoring:
MonitoringRabbitHost: server_ip # Server were the rabbitmq was installed MonitoringRabbitPort: 5672 # Rabbitmq port MonitoringRabbitUserName: sensu_user # the rabbitmq user to be used by sensu MonitoringRabbitPassword: sensu_password # The password of the sensu user MonitoringRabbitUseSSL: false # Set to false MonitoringRabbitVhost: "/sensu_vhost" # The virtual host of the rabbitmq
Centralized Logging:
LoggingServers: # The servers - host: server_ip # The ip of the server port: 24224 # Port to send the logs [ 24224 plain & 24284 SSL ] LoggingUsesSSL: false # Plain or SSL connections # If LoggingUsesSSL is set to false the following lines can # be deleted LoggingSharedKey: secret # The key LoggingSSLCertificate: | # The content of the SSL Certificate -----BEGIN CERTIFICATE----- ...contens of server.pem here... -----END CERTIFICATE-----
Performance Monitoring:
CollectdServer: collectd0.example.com # Collectd server, where the data is going to be sent CollectdServerPort: 25826 # Collectd port # CollectdSecurityLevel: None # Security by default None the other values are # Encrypt & Sign, but the two following parameters # need to be set too # CollectdUsername: user # User to connect to the server # CollectdPassword: password # Password to connect to the server # Collectd, by default, comes with several plugins # extra plugins can added on this parameter CollectdExtraPlugins: - disk # disk plugin - df # df plugin ExtraConfig: # If the plugins need to be set, this is the location collectd::plugin::disk::disks: - "/^[vhs]d[a-f][0-9]?$/" collectd::plugin::df::mountpoints: - "/" collectd::plugin::df::ignoreselected: false
Continue following the TripleO instructions for deploying an overcloud:
openstack overcloud deploy --templates \ [-e /usr/share/openstack-tripleo-heat-templates/environments/monitoring-environment.yaml] \ [-e /usr/share/openstack-tripleo-heat-templates/environments/logging-environment.yaml] \ [-e /usr/share/openstack-tripleo-heat-templates/environments/collectd-environment.yaml] \ -e parameters.yaml
Wait for the completion of the overcloud deployment process.