OpenStack Rocky : Configure Aodh2018/09/19 |
Install OpenStack Alarming Service (Aodh).
This example is based on the emvironment like follows.
Gnocchi package of Ubuntu OpenStack uses WSGI with Python3, but other OpenStack components like Keystone or Aodh uses WSGI with Python2, so their WSGI package conflicts and cannot install them all on a Node. ------------+---------------------------+---------------------------+------------ | | | eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ Control Node ] | | [ Network Node ] | | [ Compute Node ] | | | | | | | | MariaDB RabbitMQ | | Linux Bridge | | Libvirt | | Memcached httpd | | L2 Agent | | Nova Compute | | Keystone Glance | | L3 Agent | | Linux Bridge | | Nova API Cinder API | | Metadata Agent | | L2 Agent | | Neutron Server | | Cinder Volume | | Ceilometer Compute | | Metadata Agent | | Heat API | | | | Aodh API,Evaluator | | Heat Engine | | | | | | Gnocchi httpd | | | | | | Ceilometer Central | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] |
Install Gnocchi and
Ceilometer first.
|
[2] | Add users and others for Aodh in Keystone. |
# add aodh user (set in service project) root@dlp ~(keystone)# openstack user create --domain default --project service --password servicepassword aodh +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | default_project_id | aaeee626080841a491235fb06e77f10c | | domain_id | default | | enabled | True | | id | 75d98e9fb85d4094962a2c966cda8484 | | name | aodh | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+ # add aodh user in admin role root@dlp ~(keystone)# openstack role add --project service --user aodh admin
# add service entry for aodh root@dlp ~(keystone)# openstack service create --name aodh --description "Telemetry Alarming" alarming +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Telemetry Alarming | | enabled | True | | id | 0765a18f3f3c4a189a3e03e564154bff | | name | aodh | | type | alarming | +-------------+----------------------------------+ # define Aodh API Host root@dlp ~(keystone)# export controller=10.0.0.30
# add endpoint for aodh (public) root@dlp ~(keystone)# openstack endpoint create --region RegionOne alarming public http://$controller:8042 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | bc86c39494754091a3c91355b8eba85b | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 0765a18f3f3c4a189a3e03e564154bff | | service_name | aodh | | service_type | alarming | | url | http://10.0.0.30:8042 | +--------------+----------------------------------+ # add endpoint for aodh (internal) root@dlp ~(keystone)# openstack endpoint create --region RegionOne alarming internal http://$controller:8042 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | de926c4a5621441c9b49483d04a4a8a7 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 0765a18f3f3c4a189a3e03e564154bff | | service_name | aodh | | service_type | alarming | | url | http://10.0.0.30:8042 | +--------------+----------------------------------+ # add endpoint for aodh (admin) root@dlp ~(keystone)# openstack endpoint create --region RegionOne alarming admin http://$controller:8042 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | f776d267299c413daeaa186617f1809c | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 0765a18f3f3c4a189a3e03e564154bff | | service_name | aodh | | service_type | alarming | | url | http://10.0.0.30:8042 | +--------------+----------------------------------+ |
[3] | Add a User and Database on MariaDB for Aodh. |
root@dlp ~(keystone)# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3718 Server version: 10.1.34-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
create database aodh; Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on aodh.* to aodh@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on aodh.* to aodh@'%' identified by 'password'; Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) exit Bye |
[4] | Install Aodh services. |
root@dlp ~(keystone)# apt -y install aodh-api aodh-evaluator aodh-notifier aodh-listener aodh-expirer python-aodhclient
|
[5] | Configure Aodh. |
root@dlp ~(keystone)# mv /etc/aodh/aodh.conf /etc/aodh/aodh.conf.org
root@dlp ~(keystone)#
vi /etc/aodh/aodh.conf # create new [DEFAULT] log_dir = /var/log/aodh # RabbitMQ connection info transport_url = rabbit://openstack:password@10.0.0.30 [api] auth_mode = keystone gnocchi_external_project_owner = service [database] # MariaDB connection info connection = mysql+pymysql://aodh:password@10.0.0.30/aodh # Keystone auth info [keystone_authtoken] www_authenticate_uri = http://10.0.0.30:5000 auth_url = http://10.0.0.30:5000 memcached_servers = 10.0.0.30:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = aodh password = servicepassword [service_credentials] auth_url = http://10.0.0.30:5000/v3 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = aodh password = servicepassword interface = internalURL chmod 644 /etc/aodh/aodh.conf root@dlp ~(keystone)# chgrp aodh /etc/aodh/aodh.conf root@dlp ~(keystone)# su -s /bin/bash aodh -c "aodh-dbsync" root@dlp ~(keystone)# systemctl restart aodh-evaluator aodh-notifier aodh-listener root@dlp ~(keystone)# systemctl enable aodh-evaluator aodh-notifier aodh-listener root@dlp ~(keystone)# systemctl restart apache2 |
Sponsored Link |