このセクションでは、テレメトリーの通知を使ってオブジェクトストレージメーターを収集する方法について紹介します。この作業は、オブジェクトストレージノードで実施します。

事前準備

テレメトリサービスでは、ResellerAdminロールを使用してObject Storageサービスにアクセスする必要があります。 この作業は、コントローラノードで実施します。

admin クレデンシャルを読み込み、管理者専用 CLI コマンドへのアクセス権を取得します。

[root@controller ~]# . openrc/admin-openrc 
[root@controller ~]# 

CResellerAdmin ロールを作成します。

[root@controller ~]# openstack role create ResellerAdmin
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | None                             |
| id        | b7794aa1560d48c58de39abef61aacfb |
| name      | ResellerAdmin                    |
+-----------+----------------------------------+
[root@controller ~]# 

ceilometer ユーザーに ResellerAdmin ロールを追加します。

[root@controller ~]# openstack role add --project service --user ceilometer ResellerAdmin
[root@controller ~]# 

コンポーネントのインストール

パッケージをインストールします。

[root@controller ~]# yum --enablerepo=centos-openstack-rocky -y install python-ceilometermiddleware
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.fairway.ne.jp
 * extras: mirror.fairway.ne.jp
 * updates: mirror.fairway.ne.jp
base                                                             | 3.6 kB  00:00:00     
centos-ceph-luminous                                             | 2.9 kB  00:00:00     
centos-openstack-rocky                                           | 2.9 kB  00:00:00     
centos-qemu-ev                                                   | 2.9 kB  00:00:00     
extras                                                           | 3.4 kB  00:00:00     
updates                                                          | 3.4 kB  00:00:00     
パッケージ python2-ceilometermiddleware-1.3.0-1.el7.noarch はインストール済みか最新バージョンです
何もしません
[root@controller ~]# 

テレメトリーの設定

コントローラおよびオブジェクトストレージプロキシサービスを実行するその他のノードで、以下作業を実施します。

コントローラーノードで、プロキシサービスの設定ファイル( /etc/swift/proxy-server.conf )ファイルを編集し、以下の設定をします。

[root@controller ~]# vi /etc/swift/proxy-server.conf

[ filter:keystoneauth ]セクションで、ResellerAdmin ロールを追加します。

[filter:keystoneauth]
...
(変更前)
operator_roles = admin,myrole
(変更後) operator_roles = admin,myrole,user,ResellerAdmin

[ pipeline:main ]セクションで、pipline に ceilometer を追加します。

[pipeline:main]
(変更前)
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
(変更後) pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging ceilometer proxy-server

[ filter:ceilometer ]セクションで、通知を設定します。

※ filter:ceilometer セクションがないため、全て新規で追加
[filter:ceilometer]
paste.filter_factory = ceilometermiddleware.swift:filter_factory
control_exchange = swift
url = rabbit://openstack:RMQopst01@controller:5672/
driver = messagingv2
topic = notifications
log_level = WARN

インストールの最後

オブジェクトストレージプロキシサービスを再起動します。

■ 再起動
[root@controller ~]# systemctl restart openstack-swift-proxy.service
[root@controller ~]# 

■ 起動状態の確認 
[root@controller ~]# systemctl status openstack-swift-proxy.service
● openstack-swift-proxy.service - OpenStack Object Storage (swift) - Proxy Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-swift-proxy.service; enabled; vendor preset: disabled)
   Active: active (running) since 土 2018-11-24 03:36:30 JST; 6s ago
 Main PID: 32451 (swift-proxy-ser)
   CGroup: /system.slice/openstack-swift-proxy.service
           ├─32451 /usr/bin/python2 /usr/bin/swift-proxy-server /etc/swift/proxy-serv...
           ├─32468 /usr/bin/python2 /usr/bin/swift-proxy-server /etc/swift/proxy-serv...
           └─32469 /usr/bin/python2 /usr/bin/swift-proxy-server /etc/swift/proxy-serv...

11月 24 03:36:30 controller proxy-server[32469]: Adding required filter copy to pip...0
11月 24 03:36:30 controller proxy-server[32469]: Adding required filter listing_for...5
11月 24 03:36:30 controller proxy-server[32468]: Adding required filter copy to pip...0
11月 24 03:36:30 controller proxy-server[32469]: Pipeline was modified. New pipelin....
11月 24 03:36:30 controller proxy-server[32468]: Adding required filter listing_for...5
11月 24 03:36:30 controller proxy-server[32468]: Pipeline was modified. New pipelin....
11月 24 03:36:30 controller proxy-server[32469]: Starting Keystone auth_token middl...e
11月 24 03:36:30 controller proxy-server[32469]: AuthToken middleware is set with k....
11月 24 03:36:30 controller proxy-server[32468]: Starting Keystone auth_token middl...e
11月 24 03:36:30 controller proxy-server[32468]: AuthToken middleware is set with k....
Hint: Some lines were ellipsized, use -l to show in full.
[root@controller ~]#