CentOS 7
Sponsored Link

OpenStack Newton : Ceilometer 設定#22016/11/01

 
OpenStack Metering Service(Ceilometer)を設定します。
ここでは以下のような構築済みの環境に Ceilometer を追加インストールして設定します。
例として、Network Node に Metering サービス一式をインストールして設定します。
                                |
+------------------+            |            +------------------------+
| [ Control Node ] |            |            |    [ Network Node ]    |
|     Keystone     |10.0.0.30   |   10.0.0.50|    DHCP,L3,L2 Agent    |
|      Glance      |------------+------------|     Metadata Agent     |
|     Nova API     |eth0        |        eth0| Ceilometer API/Service |
|  Neutron Server  |            |            |                        |
+------------------+            |            +------------------------+
                            eth0|10.0.0.51
                      +--------------------+
                      |  [ Compute Node ]  |
                      |    Nova Compute    |
                      |      L2 Agent      |
                      | Ceilometer-Compute |
                      +--------------------+

 
ここでは Ceilometer のインストールと設定をします。
[1] Ceilometer はバックエンドDBに MongoDB を使用するため、インストールしておきます。
# EPEL からインストール

[root@network ~]#
yum --enablerepo=epel -y install mongodb-server mongodb
[2] MongoDB を起動します。
[root@network ~]#
vi /etc/mongod.conf
# 6行目:リスンする範囲変更

bind_ip =
0.0.0.0
# 113行目:コメント解除

smallfiles = true
[root@network ~]#
systemctl start mongod

[root@network ~]#
systemctl enable mongod

# Ceilometer 用 DB作成 (password の箇所は任意のパスワードを設定)

[root@network ~]#
mongo --host 10.0.0.50 --eval '
db = db.getSiblingDB("ceilometer");
db.createUser({user: "ceilometer",
pwd: "password",
roles: [ "readWrite", "dbAdmin" ]})'

MongoDB shell version: 2.6.12
connecting to: 10.0.0.50:27017/test
Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] }
[3] Ceilometer をインストールします。
# Newton, EPEL からインストール

[root@network ~]#
yum --enablerepo=centos-openstack-newton,epel -y install openstack-ceilometer-api openstack-ceilometer-collector openstack-ceilometer-notification openstack-ceilometer-central openstack-ceilometer-alarm python2-ceilometerclient python2-oslo-policy httpd mod_wsgi
[4] Ceilometer を設定します。
[root@network ~]#
mv /etc/ceilometer/ceilometer.conf /etc/ceilometer/ceilometer.conf.org

[root@network ~]#
vi /etc/ceilometer/ceilometer.conf
# 新規作成

[DEFAULT]
rpc_backend = rabbit
auth_strategy = keystone
[api]
port = 8777
host = 0.0.0.0
# MongoDB 接続情報

[database]
connection = mongodb://ceilometer:password@10.0.0.50:27017/ceilometer
# RabbitMQ 認証情報

[oslo_messaging_rabbit]
rabbit_host = 10.0.0.30
rabbit_port = 5672
rabbit_userid = openstack
rabbit_password = password
# Keystone への接続情報

[keystone_authtoken]
auth_uri = http://10.0.0.30:5000
auth_url = http://10.0.0.30:35357
memcached_servers = 10.0.0.30:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = ceilometer
password = servicepassword
# Ceilometer 認証情報

[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 = ceilometer
password = servicepassword
interface = internalURL
region_name = RegionOne
[root@network ~]#
chgrp ceilometer /etc/ceilometer/ceilometer.conf

[root@network ~]#
chmod 640 /etc/ceilometer/ceilometer.conf

[5] SELinux を有効にしている場合は、ポリシーの変更が必要です。
[root@network ~]#
setsebool -P httpd_use_openstack on

[root@network ~]#
setsebool -P httpd_can_network_connect on

[root@network ~]#
setsebool -P httpd_can_network_connect_db on

[root@network ~]#
semanage port -a -t http_port_t -p tcp 8777

[6] Firewalld を有効にしている場合は、サービスポートの許可が必要です。
[root@network ~]#
firewall-cmd --add-port={8777/tcp,27017/tcp} --permanent

success
[root@network ~]#
firewall-cmd --reload

success
[7] httpd を設定します。
[root@network ~]#
vi /etc/httpd/conf.d/wsgi-ceilometer.conf
# 以下の内容で新規作成

Listen 8777

<VirtualHost *:8777>
    WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=ceilometer group=ceilometer display-name=%{GROUP}
    WSGIProcessGroup ceilometer-api
    WSGIScriptAlias / "/var/www/cgi-bin/ceilometer/app"
    WSGIApplicationGroup %{GLOBAL}
    ErrorLog /var/log/httpd/ceilometer_error.log
    CustomLog /var/log/httpd/ceilometer_access.log combined
</VirtualHost>

WSGISocketPrefix /var/run/httpd

[root@network ~]#
mkdir /var/www/cgi-bin/ceilometer

[root@network ~]#
cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app

[root@network ~]#
systemctl start httpd

[root@network ~]#
systemctl enable httpd
[8] Ceilometer を起動します。
[root@network ~]#
systemctl start openstack-ceilometer-notification \
openstack-ceilometer-central \
openstack-ceilometer-collector

[root@network ~]#
systemctl enable openstack-ceilometer-notification \
openstack-ceilometer-central \
openstack-ceilometer-collector

関連コンテンツ