OpenStackモニタコンポーネントCeilometerとFolsomを組み合わせた導入の心得

4857 ワード

これまでプロジェクトはOpenStackのFolsomバージョンを用いて二次開発が行われていたが,novaなどのモジュールに少なからぬ変更があったため,新しいバージョンのOpenStack(Grizzly)がリリースされた後,いくつかの新しい機能モジュールはすぐに新しい開発プロジェクトに移植できなかった.以前のバージョンのOpenStackのシステムモニタリング機能は相対的に弱いため、kanyun+gangliaとopenstackが提供した簡単なモニタリング機能を採用してシステムモニタリングを行い、パクリであるため、Gバージョンの発表がモニタリング機能モジュールceilometerをもたらした後、それを従来のシステムと結合する必要があり、以下は導入の心得を結合する.
1.githubに最新のceilometerコードをダウンロードする
2.mongodbをインストールします.ceilometerはmongodbをデフォルトデータとして永続化データベースとして採用しているため、mongodbを先にインストールする必要があります.
apt-get install mongodb
3.keystoneにceilometerユーザーを追加する
注意:追加したceilometerアカウントはadmin tenantに属する必要があります.そうしないと、インスタンス監視情報を取得できない場合があり、ResellerAdminロールでswift監視情報を取得しやすいようにアカウントを追加します.追加されたceilometerアカウントはadmin tenantに属し、役割はResellerAdminおよびAdminです.
userリストの表示
keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 user-list
roleリストの表示
keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 role-list
tanantリストの表示
keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 tenant-list
新規user
keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 user-create --name ceilometer --email [email protected] --tenant-id tid --pass pass --enabled true
userロールの追加
keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 user-role-add --user-id uid --tenant-id tid --role-id rid
4.ceilometerのインストール
1)モジュール依存パッケージの最初の表示
vim ceilometer/requirements.txt
d2to1>=0.2.10,<0.3
pbr>=0.5,<0.6
WebOb>=1.2
kombu
iso8601
argparse
SQLAlchemy>=0.7,<=0.7.99
sqlalchemy-migrate>=0.7.2
pymongo>=2.2
eventlet
anyjson>=0.2.4
Flask==0.9
pecan>=0.2.0
stevedore>=0.7
msgpack-python
python-glanceclient
python-novaclient>=2.6.10
python-keystoneclient>=0.2.3
python-swiftclient
lxml
requests>=1.1
wsme>=0.5b2
pyyaml
oslo.config>=1.1.0
happybase>=0.4

このバージョンのceilometerはGバージョンのOpenstackに新しく追加されたosloを使用します.configモジュールはプロファイル読み出しモジュールを完了します.
さらにWebObのバージョンは1.2以上で、FバージョンOpenstackで使用されているこのライブラリのバージョンは1.0.8であることを確認します.これは大きな衝突であり、このライブラリが以前のライブラリと互換性がないことを反映している人が多いことがわかります(https://bugs.launchpad.net/ceilometer/+bug/109227)実際のインストール中にもpython-novaclient、python-glanceclientなどのライブラリで使用できないことがわかりました.そこでvirtualenv(https://pypi.python.org/pypi/virtualenv)ceilometerおよび関連依存を実行するための独立したpython環境を構築しました.
2)virtualenvを取り付けて隔離砂箱を作る
sudo pip install virtualenv#インストール
virtualenv grizzlyenv#grizzzlyenvという隔離環境の構築
source grizzlyenv/bin/activate#grizzlyenv隔離環境に入る
入力するとプロンプトの前にプロンプトが表示されます.
(grizzlyenv)root@ceilotest:/opt# 
この環境では、pipとeasy_を使用してグローバルpythonとは独立した環境があります.Installインストールpythonパッケージは、グローバルなpython環境に影響を及ぼさず、使用が完了したらdeactivateコマンドを使用してグローバル環境に終了します.関連する使用方法はネット上で入手できます.ここでは説明しません.
3)隔離環境の設置が完了したら、その中にceilometerを設置することができる
#cd ceilometer
#python setup.py develop
インストールが完了すると、依存するパッケージがgrizzlyenv/lib/python 2にインストールされていることがわかります.7/site-packages/パスの下.
ceilometer/etc/ceilometer/下のすべてのファイルを/etc/ceilometer/ディレクトリにコピーし(なければ新規)、ceilometer.conf.sampleファイルを次のように変更します.
ceilometer.conf
[DEFAULT]
verbose=True
debug=True
os_auth_url = http://192.168.5.202:35357/v2.0
os_tenant_name = admin
os_password = admin
os_username = ceilometer
policy_file = /etc/ceilometer/policy.json
notification_topics = notifications,glance_notifications
rabbit_password = admin
rabbit_host = 127.0.0.1
rabbit_max_retries = 10
rpc_backend = ceilometer.openstack.common.rpc.impl_kombu

[keystone_authtoken]
signing_dir = /etc/ceilometer
admin_tenant_name = admin
admin_password = admin
admin_user = ceilometer
auth_protocol = http

4)ceilometerの起動
screenで4つのタブを開き、順次実行します.
ceilometer-collector
ceilometer-agent-central
ceilometer-agent-compute
ceilometer-api
それぞれceilometerアーキテクチャの4つの重要なモジュールに対応し、ceilometer-agent-computeの起動中にNo module named libvirtの問題が発生する可能性があります.これは、隔離環境にpython-libvirtがインストールされていないためですが、pipを使用してライブラリをインストールできないことがわかりますが、dpkg-lコマンドを使用して表示するとpython-libvirtがインストールされていることがわかります.次に、グローバル環境の関連ファイルを独立した環境に直接コピーし、適切な権限を変更します.
cp/usr/lib/python2.7/dist-packages/libvirt*/opt/stack/grizzlyenv/lib/python2.7/site-packages/
chown stack:stack /opt/stack/grizzlyenv/lib/python2.7/site-packages/libvirt*
これにより正常に起動できるはずで、起動後mongodbに対応するデータレコードを表示できます.
Ceilometerモジュール関連資料:
wiki - https://wiki.openstack.org/wiki/Ceilometer
doc - http://docs.openstack.org/developer/ceilometer/
src - https://github.com/openstack/ceilometer
Openstackモニタリングの汎用フレームワークを構築し、カスタムモニタリングプラグインの自主モニタリングをサポートすることを目的としています.
転載はGood luck:)と明記してください.