Ubuntu 22.04
Sponsored Link

OpenStack Caracal : Configure Ceilometer (Network Node)2024/04/11

 
Install OpenStack Telemetry Service (Ceilometer).
This example is based on the environment like follows.
------------+--------------------------+--------------------------+------------
            |                          |                          |
        eth0|10.0.0.30             eth0|10.0.0.50             eth0|10.0.0.51
+-----------+-----------+  +-----------+-----------+  +-----------+-----------+
|   [ dlp.srv.world ]   |  | [ network.srv.world ] |  |  [ node01.srv.world ] |
|     (Control Node)    |  |     (Network Node)    |  |     (Compute Node)    |
|                       |  |                       |  |                       |
|  MariaDB    RabbitMQ  |  |  Neutron L2/L3 Agent  |  |        Libvirt        |
|  Memcached  Nginx     |  |   Neutron Metadata    |  |      Nova Compute     |
|  Keystone   httpd     |  |     Open vSwitch      |  |    Neutron L2 Agent   |
|  Glance     Nova API  |  |     iSCSI Target      |  |      Open vSwitch     |
|  Neutron Server       |  |     Cinder Volume     |  |   Ceilometer Compute  |
|  Neutron Metadata     |  |     httpd  Gnocchi    |  |                       |
|  Cinder API           |  |   Ceilometer Central  |  |                       |
+-----------------------+  +-----------------------+  +-----------------------+

[1]
[2] Add users and others for Ceilometer in Keystone.
# create [ceilometer] user in [service] project

root@dlp ~(keystone)#
openstack user create --domain default --project service --password servicepassword ceilometer

+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| default_project_id  | c9a28e6f0f794ccf889c115bb9c2872c |
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 26a6469e67684ce18fde7b0b5b59efb6 |
| name                | ceilometer                       |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

# add [ceilometer] user in [admin] role

root@dlp ~(keystone)#
openstack role add --project service --user ceilometer admin
# create service entry for [ceilometer]

root@dlp ~(keystone)#
openstack service create --name ceilometer --description "OpenStack Telemetry Service" metering

+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Telemetry Service      |
| enabled     | True                             |
| id          | e5d2b067f56f4a2694d8aadb3db0e945 |
| name        | ceilometer                       |
| type        | metering                         |
+-------------+----------------------------------+
[3] Install Ceilometer services on Network Node.
root@network:~#
apt -y install ceilometer-agent-central ceilometer-agent-notification
[4] Configure Ceilometer.
root@network:~#
mv /etc/ceilometer/ceilometer.conf /etc/ceilometer/ceilometer.conf.org

root@network:~#
vi /etc/ceilometer/ceilometer.conf
# create new

[DEFAULT]
# RabbitMQ connection info
transport_url = rabbit://openstack:password@dlp.srv.world:5672

[api]
auth_mode = keystone

[dispatcher_gnocchi]
filter_service_activity = False

# Keystone auth info (with gnocchi user)
[keystone_authtoken]
www_authenticate_uri = https://dlp.srv.world:5000
auth_url = https://dlp.srv.world:5000
memcached_servers = dlp.srv.world:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = gnocchi
password = servicepassword
# if using self-signed certs on Apache2 Keystone, turn to [true]
insecure = false

# Keystone auth info (with ceilometer user)
[service_credentials]
auth_url = https://dlp.srv.world:5000
memcached_servers = dlp.srv.world:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = ceilometer
password = servicepassword
# if using self-signed certs on Apache2 Keystone, turn to [true]
insecure = false

root@network:~#
mkdir /usr/lib/python3/dist-packages/ceilometer/pipeline/data

root@network:~#
mkdir /usr/lib/python3/dist-packages/ceilometer/publisher/data

root@network:~#
wget https://raw.githubusercontent.com/openstack/ceilometer/master/ceilometer/pipeline/data/pipeline.yaml \
https://raw.githubusercontent.com/openstack/ceilometer/master/ceilometer/pipeline/data/event_pipeline.yaml \
https://raw.githubusercontent.com/openstack/ceilometer/master/ceilometer/pipeline/data/event_definitions.yaml \
-P /usr/lib/python3/dist-packages/ceilometer/pipeline/data

root@network:~#
wget https://raw.githubusercontent.com/openstack/ceilometer/master/ceilometer/publisher/data/gnocchi_resources.yaml \
-P /usr/lib/python3/dist-packages/ceilometer/publisher/data
root@network:~#
chmod 640 /etc/ceilometer/ceilometer.conf

root@network:~#
chgrp ceilometer /etc/ceilometer/ceilometer.conf

root@network:~#
su -s /bin/bash ceilometer -c "ceilometer-upgrade"

root@network:~#
systemctl restart ceilometer-agent-central ceilometer-agent-notification

root@network:~#
systemctl enable ceilometer-agent-central ceilometer-agent-notification

Matched Content