Observability¶
This document describes the Ansible Collection containing deployment and configuration of observability tools and the which might be used together with deployments managed by OpenStack-Ansible.
Installing the Collection¶
To install the collection, define it in your region deployment configuration file, located at /etc/openstack_deploy/user-collection-requirements.yml, as shown below:
collections:
- name: osa_ops.observability
type: git
version: master
source: https://opendev.org/openstack/openstack-ansible-ops#/observability
Warning
Please, make sure to also add all content from the collection requirements.yml to your user-collection-requirements.yml.
Then, run ./scripts/bootstrap-ansible.sh to install the collection.
Grafana¶
For Grafana deployment we are leveraging grafana.grafana <https://github.com/grafana/grafana-ansible-collection> collection. Within this repository we maintain only a playbook and a set of variables that will be used as defaults during deployment.
Deployment Process¶
Copy the
env.dcontent into/etc/openstack_deploy/env.d/grafana.yml:--- component_skel: grafana: belongs_to: - grafana_all container_skel: grafana_container: belongs_to: - grafana_containers contains: - grafana physical_skel: grafana_containers: belongs_to: - all_containers grafana_hosts: belongs_to: - hosts
Define hosts where Grafana should be deployed by placing definition to
/etc/openstack_deploy/conf.d/grafana.ymlor youropenstack_user_config.yml. Example:--- grafana_hosts: infra01: ip: 172.29.236.100
Define the Grafana database and administrator passwords in
/etc/openstack_deploy/user_secrets.ymlbefore proceeding with the installation:grafana_db_password: <password> grafana_admin_password: <password>
Define overrides if needed. Following defaults are being used:
--- grafana_version: 13.1.0 grafana_rhsm_repo: false grafana_rhsm_subscription: false grafana_tls: "{{ haproxy_ssl | default(false) }}" grafana_proto: "{{ grafana_tls | ternary('https', 'http') }}" grafana_ini: database: type: mysql host: "{{ grafana_db_address }}:3306" name: "{{ grafana_db_database }}" user: "{{ grafana_db_user }}" password: "{{ grafana_db_password }}" users: allow_sign_up: false allow_org_create: false auto_assign_org: true auto_assign_org_role: Viewer default_theme: dark security: admin_user: admin admin_password: "{{ grafana_admin_password }}" server: http_addr: "{{ management_address | default('127.0.0.1') }}" http_port: "{{ grafana_service_port }}" http_proto: "{{ grafana_proto }}" root_url: >- {{ grafana_proto }}://{{ grafana_public_bind | ternary( external_lb_vip_address, internal_lb_vip_address) }}:{{ grafana_ini_default.server.http_port }}/ grafana_plugins: []
Create LXC containers for Grafana deployment
openstack-ansible openstack.osa.containers_lxc_create --limit grafana_allDeploy Grafana
openstack-ansible openstack.osa_ops.grafana