従来Ceilometerは仮想マシン等のステータス情報をMongo DB等の各種DBを利用していました。このCeilometerの時系列データーを保存する先として従来のDBではスケール上の問題点を抱えていたとの事で、専用のDB ProjectがCeilometer Projectから独立しました。このProjectがGnocchiです。GnocchiはRDOでPackstackを使ってインストールする場合も選択可能となっています。また、RHOSP 9からもRHOSP Directorを利用してのインストールでも利用出来る用になってます。
Gnocchiについて
Gnocchiは時系列データーを保存するデーターベースです。OpenStackが必須ではなく独立してインストールする事も可能です。データーの保存先は、2016年8月時点でFile / Swift / Cephから選択可能です。データーはRESTを使って保存が可能となっています。
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が利用出来ません。
DataソースとしてGnocchiを指定してQueryを発行すると、取得したデーターからグラフの作成が出来ます。以下は特定のホストに載っている仮想マシンのCPU使用率を表示しています。
まとめ
Gnocchiは、Projectが発足して時間が経っていないので、まだまだ採用されないと思っていました。RedHatが積極的に採用していく流れのようなので、今後とも注目していきたいと思っています。
私もCeilometer、Gnocchi、Grafanaの環境を構築したのですが、Grafana上で表示されるデータが5分間隔のみとなっています。Ceilometerのpollingのintervalは2分に設定しているのですが、他にどこを変更したらいいのかご存知でしたら、お教えいただくと幸いです。。
いいねいいね