HinemosDBに直接アクセスする

投稿日: / 更新日:

HinemosのDBはPostgreSQLですが、クライアント上から見ることのできる情報は、実はほとんどそのままの形でDBに蓄積されています。例えば、Hinemosクライアント上から、条件を細かく絞り込んでイベント履歴を抽出したい場合、あるいは監視のスコープをノードに分解して、ノード毎の監視の割り当てを見たい場合など、Hinemosクライアント上では難しい場合でも、DBへ直接アクセスすれば案外簡単に取得できたりします。

とはいえ、本番稼働中のHinemosDBに直接アクセスするのは、オペミスの危険性や余計な負荷の上昇につながりますので避けるべきです。このような場合には、別のマシン上にやはりPostgreSQLを構築し、そちらへHinemosDBをインポートして使用することができます。

HinemosにはDBダンプ用のツールが用意されていますが、それを使用してダンプしたファイルは、実際のところPostgreSQLのダンプファイルですので、PostgreSQLの流儀でインポートすることが可能です。以下はその例です。

上記の例では、あらかじめ別マシン上に構築しておいたPostgreSQL上に、HinemosDBと同じく”hinemos”ユーザと”hinemos”データベースを作成し、それへ向けてダンプファイルをインポートしている様子です。インポートが完了しても、単なるデータベースですので、監視やジョブが始まることはなく、じっくりとデータを確認することができます。例えば以下のSQLでは、イベント履歴(cc_event_log)から”MON-PING”という監視項目ID(monitor_id)のレコードを抽出し、出力日時(generation_date)の順にソートして出力しています。

SQLを実行すると、以下のような感じで出力されます。

あるいは、次のようなSQLを発行すると、現在有効になっている全ての監視項目の一覧を出力できるかもしれません(まだ検証が十分でないため、このSQLをそのまま業務で使用しないでください)。

Hinemosクライアント上のパーツとHinemosDBのカラムを細かく突き合わせてみると、何となく関連性が見えてきたりして、面白いかもしれません。

Hinemos導入はアトミテックにお任せください

見積もりを依頼する

最新情報発信中

Xやメルマガでも、Hinemosの保守、
開発、導入、構築やカスタマイズ等の
お役立ち情報を発信しています。
是非ご登録ください。