OpenStackのGnocchiについて

従来Ceilometerは仮想マシン等のステータス情報をMongo DB等の各種DBを利用していました。このCeilometerの時系列データーを保存する先として従来のDBではスケール上の問題点を抱えていたとの事で、専用のDB ProjectがCeilometer Projectから独立しました。このProjectがGnocchiです。GnocchiはRDOでPackstackを使ってインストールする場合も選択可能となっています。また、RHOSP 9からもRHOSP Directorを利用してのインストールでも利用出来る用になってます。

RHOSP9 Release Note

Gnocchiについて

Gnocchiは時系列データーを保存するデーターベースです。OpenStackが必須ではなく独立してインストールする事も可能です。データーの保存先は、2016年8月時点でFile / Swift / Cephから選択可能です。データーはRESTを使って保存が可能となっています。

Gnocchi Storage Driver

 Gnocchiのインストールについて

GnocchiはRDOで簡単に利用してみることが出来ます。PackstackのAnswer Fileで以下の項目を変更する事で、Ceilometerの情報がGnocchiに保存されます。

CONFIG_GNOCCHI_INSTALL=y
CONFIG_CEILOMETER_METERING_BACKEND=gnocchi

データーの保存について

Gnocchiではインデックスデーターと、時系列データーの保存先を選択出来ます。インデックスデーターはMariaDBやMySQL等に保存します。時系列データーは2016年8月時点では File / Swift / Cephから選択可能です。ファイルの形式は、Gnocchi用に作成されたcarbonara形式となっています。FIleで冗長構成を取る場合はGnocchiが動作しているノード間でNFSで保存先のフォルダの共有が必要になります。ファイルの場合は実データーは/var/lib/gnocchiにファイルとしてデーターが保存されます。実際のデーターは以下の用に保存されます。

# ls -la
total 56
drwxr-xr-x. 17 gnocchi gnocchi 4096 Aug 27 19:21 .
drwxr-xr-x. 56 root root 4096 Aug 27 19:36 ..
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 02fc50b4-95c4-463f-8e5a-c74f142c5931
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 1af707c0-59dd-4eaf-a53a-f4589624818f
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 34c1d5cf-e3c2-41fc-8434-32e8254f7013
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 3d0c4f61-de35-433b-881f-8d5726536c4c
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 3e56d049-e8df-46dd-ba7b-9be24641f057
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 434056ec-2ce8-4257-ac4b-bdfb570f792e
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 613c399e-7267-48f3-8690-f8d06bf4fe97
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 6d472998-5ba0-4b0d-a1cc-8b735eb8c237
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 949b11c5-7385-4d0f-9b37-9070d2694449
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 a14151c5-aa9d-47a4-996a-f7cfa20c5fc9
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 a2ebaaa5-05d6-4825-b88c-dfdf329d4058
drwxr-x---. 10 gnocchi gnocchi 4096 Aug 27 19:21 ce74fcee-efd0-41af-a1ce-8a7c785e6d46
drwxr-xr-x. 2 gnocchi gnocchi 6 Aug 27 19:42 .matplotlib
drwxr-xr-x. 2 gnocchi gnocchi 6 Aug 27 19:21 measure
drwxr-xr-x. 2 gnocchi gnocchi 6 Aug 27 19:21 tmp

大規模環境ではCephへの保存が推奨されています。データーの保存期間や形式はArchiving Policyによって指定されます。Archive PolicyはDefaultではLow / Medium / Highが設定されていますが、自作することも出来ます。Ceilometerの生成するデーターのArchive Policyはceilometer.confで指定する事が出来ます。

コマンドラインでの操作

GnocchiはCLIが用意されてます。GnocchiをKeystoneの認証を連携させている場合は設定ファイルをsourceしてコマンドを実行します。RDOの場合はkeystonerc_adminのファイルをsourceします。gnocchiでは以下のようにコマンドを発行します。

# gnocchi resource list
+------------------------+------------------------+------------------------+------------------------+------------------------+------------------------+----------+-----------------------------+--------------+
| id | type | project_id | user_id | original_resource_id | started_at | ended_at | revision_start | revision_end |
+------------------------+------------------------+------------------------+------------------------+------------------------+------------------------+----------+-----------------------------+--------------+
| 5e3fcbe2-7aab-475d- | generic | None | None | None | 2016-08-26T03:15:03.33 | None | 2016-08-26T03:15:03.335031+ | None |
| b42c-a440aa42e5ad | | | | | 5006+00:00 | | 00:00 | |

+------------------------+------------------------+------------------------+------------------------+------------------------+------------------------+----------+-----------------------------+--------------+

詳しくは以下に記載されています。

http://gnocchi.xyz/gnocchiclient/shell.html

Grafanaでの可視化

Gnocchiに保存されているデーターはGrafanaで可視化出来ます。Grafanaで可視化する場合はGnocchi用のプラグインがリリースされているためそれをインストールして連携を行います。

$ sudo grafana-cli plugins install sileht-gnocchi-datasource

プラグインをインストールするとGrafana上のデーターソースにGnocchiが出てきます。データーソースとしてGnocchi IPを指定するか、Keystone経由でGnocchiを見つける事が出来ます。データーはブラウザから直接Gnocchiに接続して取得するdirectか、一度Grafanaサーバーで受けるかのproxy指定が出来ます。proxyの時はGrafanaの制約で複数のサーバーに問い合わせが出来ないとの事でKeystoneが利用出来ません。

screencapture-10-44-58-140-3000-datasources-new-1472448833970

DataソースとしてGnocchiを指定してQueryを発行すると、取得したデーターからグラフの作成が出来ます。以下は特定のホストに載っている仮想マシンのCPU使用率を表示しています。

screencapture-10-44-58-140-3000-dashboard-db-new-dashboard-1472535027549

まとめ

Gnocchiは、Projectが発足して時間が経っていないので、まだまだ採用されないと思っていました。RedHatが積極的に採用していく流れのようなので、今後とも注目していきたいと思っています。

OpenStackのGnocchiについて

OpenStack Ceilometerについて

Ceilometerについて

Ceilometerは将来の目的として課金機能の実装がありますが、課金を行う前段階の測定部分にとどまっています。Ceilometerでは以下の機能を提供しています。
  • 各種データーを計測
  • 送られてきたデータをDBに保存
  • 閾値を設定してWeb Hookを行う
Ceilometerの詳細は以下に記述されています。
課金して、レポートティングを行うのはProjecのCloud Kittytが立ち上がっていますが、今後本体に取り込まれるかはまだわかりません。

Ceilometerへのデーターの送信について

MQを経由した送信が推奨されています。それが不可能な場合は
APIを利用して、データー送信元からCeilometerに対して
Pushで送信する事が推奨されます。非推奨はCeilometerから
データーをPoolingする事になります。

計測可能な値

以下のページにある値が標準機能で取得可能です。CollectorをCeilometerに送る事も出来ます。

バックエンドのDatabase

以下の通りMongoDB/MySQL/PostgreSQL/HBase/DB2を
サポートしています。MongoDB以外は十分テストされていない場合があるためあくまでMongo DBが推奨とされています。

“OpenStack Ceilometerについて” の続きを読む

OpenStack Ceilometerについて