2.21. 例:Python を使用したシステムイベントの確認
Red Hat Virtualization Manager は、多くのシステムイベントを記録およびログします。これらのイベントログには、ユーザーインターフェイス、システムログファイルからアクセスでき、API を使用してアクセスすることもできます。ovirtsdk ライブラリーは、events コレクションを使用して
イベント
を公開します。
例2.22 Python を使用したシステムイベントの確認
この例では、
events
コレクションが一覧表示されます。以下の点に留意してください。
list
メソッドのquery
パラメーターは、使用可能なすべての結果ページが返されるようにするために使用されます。デフォルトでは、list
メソッドは結果の最初のページのみを返します。デフォルトは最大100
レコードの長さになります。- 結果のリストが逆となり、発生した順序でイベントが出力に含まれるようにします。
from ovirtsdk.api import API from ovirtsdk.xml import params try: api = API (url="https://HOST", username="USER@DOMAIN", password="PASS", ca_file="ca.crt") event_list = [] event_page_index = 1 event_page_current = api.events.list(query="page %s" % event_page_index) while(len(event_page_current) != 0): event_list = event_list + event_page_current event_page_index = event_page_index + 1 try: event_page_current = api.events.list(query="page %s" % event_page_index) except Exception as ex: print "Error retrieving page %s of list: %s" % (event_page_index, ex) event_list.reverse() for event in event_list: print "%s %s CODE %s - %s" % (event.get_time(), event.get_severity().upper(), event.get_code(), event.get_description()) except Exception as ex: print "Unexpected error: %s" % ex
このスクリプトからの出力は、以下のようになります。環境の状態に応じて異なるイベントを持ちます。
2012-09-25T18:40:10.065-04:00 NORMAL CODE 30 - User admin@internal logged in. 2012-09-25T18:40:10.368-04:00 NORMAL CODE 153 - VM vm1 was started by admin@internal (Host: Atlantic). 2012-09-25T18:40:10.470-04:00 NORMAL CODE 30 - User admin@internal logged in.