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 | +--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+