OpenStack Rocky : Configure Gnocchi2018/09/18 |
Install TDBaaS (Time Series Database as a Service), Gnocchi.
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 Nova 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 | | | | Metadata Agent | | Heat API | | | | | | Heat Engine | | | | | | Gnocchi httpd | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | Add users and others for Gnocchi in Keystone. |
# add gnocchi user (set in service project) root@dlp ~(keystone)# openstack user create --domain default --project service --password servicepassword gnocchi +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | default_project_id | aaeee626080841a491235fb06e77f10c | | domain_id | default | | enabled | True | | id | a9dde9d04a14416a9b4d277a57962758 | | name | gnocchi | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+ # add gnocchi user in admin role root@dlp ~(keystone)# openstack role add --project service --user gnocchi admin
# add service entry for gnocchi root@dlp ~(keystone)# openstack service create --name gnocchi --description "Metric Service" metric +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | Metric Service | | enabled | True | | id | ac7f1e9c0cce41c7902dc28ef8e2a065 | | name | gnocchi | | type | metric | +-------------+----------------------------------+ # define Gnocchi API Host root@dlp ~(keystone)# export controller=10.0.0.50
# add endpoint for gnocchi (public) root@dlp ~(keystone)# openstack endpoint create --region RegionOne metric public http://$controller:8041 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 7b1b01918a204d49ab1c14bdd024cd1e | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | ac7f1e9c0cce41c7902dc28ef8e2a065 | | service_name | gnocchi | | service_type | metric | | url | http://10.0.0.50:8041 | +--------------+----------------------------------+ # add endpoint for gnocchi (internal) root@dlp ~(keystone)# openstack endpoint create --region RegionOne metric internal http://$controller:8041 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | b11728e02cb749e7bc730c2940a9c08a | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | ac7f1e9c0cce41c7902dc28ef8e2a065 | | service_name | gnocchi | | service_type | metric | | url | http://10.0.0.50:8041 | +--------------+----------------------------------+ # add endpoint for gnocchi (admin) root@dlp ~(keystone)# openstack endpoint create --region RegionOne metric admin http://$controller:8041 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 7d107094625541d1a43aa4545247924e | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | ac7f1e9c0cce41c7902dc28ef8e2a065 | | service_name | gnocchi | | service_type | metric | | url | http://10.0.0.50:8041 | +--------------+----------------------------------+ |
[2] | Add a User and Database on MariaDB for Gnocchi. |
root@dlp ~(keystone)# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 131 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 gnocchi; Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on gnocchi.* to gnocchi@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on gnocchi.* to gnocchi@'%' 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 |
[3] | Install Gnocchi. For selection during installation, it's OK with [No] all. |
root@network:~# apt -y install gnocchi-api gnocchi-metricd python-gnocchiclient
|
[4] | Configure Gnocchi. |
root@network:~# mv /etc/gnocchi/gnocchi.conf /etc/gnocchi/gnocchi.conf.org
root@network:~#
vi /etc/gnocchi/gnocchi.conf # create new [DEFAULT] log_dir = /var/log/gnocchi [api] auth_mode = keystone [database] backend = sqlalchemy # MariaDB connection info [indexer] url = mysql+pymysql://gnocchi:password@10.0.0.30/gnocchi [storage] driver = file file_basepath = /var/lib/gnocchi # 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 = gnocchi password = servicepassword service_token_roles_required = true chmod 644 /etc/gnocchi/gnocchi.conf root@network:~# chgrp gnocchi /etc/gnocchi/gnocchi.conf
root@network:~#
su -s /bin/bash gnocchi -c "gnocchi-upgrade" root@network:~# systemctl restart gnocchi-metricd apache2 root@network:~# systemctl enable gnocchi-metricd # show status on Control Node root@dlp ~(keystone)# apt -y install python-gnocchiclient root@dlp ~(keystone)# export OS_AUTH_TYPE=password root@dlp ~(keystone)# gnocchi resource list
# OK if no error is shown |
Sponsored Link |