Ceilometer - Telemetry asennus

controller.foo.bar

1. Asennetaan mongodb -tietokanta, Telemetry-palvelua varten.

# apt-get install mongodb-server mongodb-clients python-pymongo

2. Muokataan /etc/mongodb.conf -tiedostoa.

bind_ip = 10.0.0.11
smallfiles = true

3. Pysäytetään mongodb, poistetaan mahdolliset tietokannat ja käynnistetään mongodb uudelleen.

# service mongodb stop
# rm /var/lib/mongodb/journal/prealloc.*
# service mongodb start

4. Luodaan ceilometer-tunnus mongodb:lle.

# mongo --host 10.0.0.11 --eval '
  db = db.getSiblingDB("ceilometer");
  db.addUser({user: "ceilometer",
  pwd: "ceilometerdb",
  roles: [ "readWrite", "dbAdmin" ]})'

5. Luodaan ceilometer-käyttäjä, service ja endpoint Keystonelle:

# keystone user-create --name ceilometer --pass ceilometer
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|  email   |                                  |
| enabled  |               True               |
|    id    | 8ba52fed0a9f41a2be0773caf50aa430 |
|   name   |            ceilometer            |
| username |            ceilometer            |
+----------+----------------------------------+

6. Lisätään ceilometer-tunnukselle admin-rooli ja lisätään tunnus service tenant-ryhmään.

# keystone user-role-add --user ceilometer --tenant service --role admin
(Tämä komento ei oikeinkirjoitettuna tulosta mitään)

7. Luodaan ceilometer-service jonka tyypiksi laitetaan metering.

# keystone service-create --name ceilometer --type metering --description "Telemetry"
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
| description |            Telemetry             |
|   enabled   |               True               |
|      id     | 0b4574d6a9ba458e988c4be17c007e46 |
|     name    |            ceilometer            |
|     type    |             metering             |
+-------------+----------------------------------+

8. Luodaan endpoint ceilometerille.

# keystone endpoint-create --service-id $(keystone service-list | awk '/ metering / {print $2}') \
--publicurl http://10.0.0.11:8777 \
--internalurl http://10.0.0.11:8777 \
--adminurl http://10.0.0.11:8777 --region regionOne
+-------------+----------------------------------+
|   Property  |              Value               |
+-------------+----------------------------------+
|   adminurl  |      http://10.0.0.11:8777       |
|      id     | 923731931a204168af09087e87235d3c |
| internalurl |      http://10.0.0.11:8777       |
|  publicurl  |      http://10.0.0.11:8777       |
|    region   |            regionOne             |
|  service_id | 0b4574d6a9ba458e988c4be17c007e46 |
+-------------+----------------------------------+

9. Asennetaan Ceilometer-api ja agentit:

# apt-get install ceilometer-api ceilometer-collector \
ceilometer-agent-central ceilometer-agent-notification \
ceilometer-alarm-evaluator ceilometer-alarm-notifier \
python-ceilometerclient

10. Luodaan satunnaisjono metering_secret -arvolle.

# openssl rand -hex 10
f2181ad45e6afde66f94 

11. Muokataan /etc/ceilometer/ceilometer.conf -tiedostoa.

[database]
...
connection = mongodb://ceilometer:ceilometerdb@10.0.0.11:27017/ceilometer

[DEFAULT]
...
auth_strategy = keystone
rpc_backend = rabbit
rabbit_host = 10.0.0.11
rabbit_userid = openstack
rabbit_password = openstack

[keystone_authtoken]
...
auth_uri = http://10.0.0.11:5000/v2.0
identity_uri = http://10.0.0.11:35357
admin_tenant_name = service
admin_user = ceilometer
admin_password = ceilometer

[service_credentials]
...
os_auth_url = http://10.0.0.11:5000/v2.0
os_username = admin
os_tenant_name = service
os_password = ceilometer

[publisher]
...
metering_secret = f2181ad45e6afde66f94

12. Uudelleenkäynnistetään Ceilometerin palvelut.

# service ceilometer-agent-central restart
# service ceilometer-agent-notification restart
# service ceilometer-api restart
# service ceilometer-collector restart
# service ceilometer-alarm-evaluator restart
# service ceilometer-alarm-notifier restart


compute.foo.bar

13. Asennetaan ceilometer-agent compute.

# apt-get install ceilometer-agent-compute

14. Muokataan /etc/ceilometer/ceilometer.conf -tiedostoa.

[DEFAULT]
...
rabbit_host = 10.0.0.11
rabbit_password = openstack
rabbit_userid = openstack

[keystone_authtoken]
...
auth_uri = http://10.0.0.11:5000/v2.0
identity_uri = http://10.0.0.11:35357
admin_tenant_name = service
admin_user = ceilometer
admin_password = ceilometer

[service_credentials]
...
os_auth_url = http://10.0.0.11:5000/v2.0
os_username = ceilometer
os_tenant_name = service
os_password = ceilometer

[publisher]
...
metering_secret = f2181ad45e6afde66f94

15. Muokataan /etc/nova/nova.conf -tiedostoa.

[DEFAULT]
...
instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state
notification_driver = messagingv2

16. Uudelleenkäynnistetään palvelut.

# service ceilometer-agent-compute restart
# service nova-compute restart


controller.foo.bar


17. Muokataan /etc/glance/glance-api.conf ja /etc/glance/glance-registry.conf -tiedostoja.

[DEFAULT]
notification_driver = messagingv2
rpc_backend = rabbit
rabbit_host = 10.0.0.11
rabbit_password = openstack

18. Uudelleenkäynnistetään Glancen palvelut.

# service glance-registry restart
# service glance-api restart


controller.foo.bar ja block.foo.bar

19. Muokataan controller- ja block-palvelimien /etc/cinder/cinder.conf -tiedostoja.

[DEFAULT]
...
control_exchange = cinder
notification_driver = messagingv2

20. Uudelleenkäynnistetään Cinderin palvelut.

controller:
# service cinder-api restart
# service cinder-scheduler restart

block1:
# service cinder-volume restart

21. Jatketaan controller-palvelimella luomalla uusi Keystone-rooli.

# keystone role-create --name ResellerAdmin
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|    id    | 8390d128d2de48c9a1423e043daf307e |
|   name   |          ResellerAdmin           |
+----------+----------------------------------+

22. Lisätään ceilometer-tunnukselle ResellerAdmin-rooli ja lisätään tunnus service tenant-ryhmään.

# keystone user-role-add --user ceilometer --tenant service --role ResellerAdmin
(Tämä komento ei oikeinkirjoitettuna tulosta mitään)

23. Muokataan /etc/swift/proxy-server.conf -tiedostoa.

[filter:keystoneauth]
...
operator_roles = admin,_member_,ResellerAdmin

[pipeline:main]
...
pipeline = authtoken cache healthcheck keystoneauth proxy-logging ceilometer proxy-server

[filter:ceilometer]
...
use = egg:ceilometer#swift
log_level = WARN

24. Lisätään ceilometer-tunnus swift-ryhmään.

# usermod -a -G ceilometer swift
# chmod 770 /var/log/ceilometer

25. Uudelleenkäynnistetään swift-proxy.

# service swift-proxy restart

26. Testataan statistiikan toimintaa.

# glance image-download "cirros-0.3.3-x86_64" > cirros.img
# ceilometer meter-list
+----------------+-------+------+--------------------------------------+---------+----------------------------------+
| Name           | Type  | Unit | Resource ID                          | User ID | Project ID                       |
+----------------+-------+------+--------------------------------------+---------+----------------------------------+
| image.download | delta | B    | 70cf802e-7f3c-4d09-af30-f62315f43601 | None    | a64f6481dbfe48d49f778bced20ca0f5 |
| image.serve    | delta | B    | 70cf802e-7f3c-4d09-af30-f62315f43601 | None    | a64f6481dbfe48d49f778bced20ca0f5 |
+----------------+-------+------+--------------------------------------+---------+----------------------------------+

# ceilometer statistics -m image.download -p 60
+--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+
| Period | Period Start        | Period End          | Max        | Min        | Avg        | Sum        | Count | Duration | Duration Start             | Duration End               |
+--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+
| 60     | 2016-10-15T11:08:57 | 2016-10-15T11:09:57 | 13200896.0 | 13200896.0 | 13200896.0 | 13200896.0 | 1     | 0.0      | 2016-10-15T11:08:57.351000 | 2016-10-15T11:08:57.351000 |
+--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+