【Hinemos】マネージャのDBに直接アクセスして監視結果を確認してみた
投稿日: / 更新日:

■はじめに
今回は、普段クライアントから確認しているHinemosの監視結果を直接DBにアクセスして確認する方法についてご紹介します。
1.DBへの接続
●前提
本記事ではDBへの接続にA5:SQL Mk-2というツールを使用します。
A5:SQL Mk-2については以下を参照ください。
https://a5m2.mmatsubara.com/
接続設定
A5:SQLからデータベースの追加を選択し、必要な情報を登録します。
ポート番号、パスワードについてはデフォルトでの設定値の記載となりますので、ご利用の環境に合わせて変更してください。
- データベースの種類:PostgreSQL
- サーバー名:マネージャのIPアドレス
- ポート番号:24001
- ユーザID:hinemos
- パスワード:hinemos
設定値を入力後テスト接続を行い、通信に成功したのを確認後に設定を登録してください。
登録されたデータベースにアクセスし、以下のようにツリーが表示されればA5:SQLでの設定は完了となります。
2.監視結果の表示
DBの設定が完了しましたので、実際にDBから監視結果を確認します。
今回の方法では、監視結果を確認するためにイベント履歴のテーブルを利用します。
そのため、監視設定へのイベント通知の設定が必要となります。
今回はエージェントノードのuptime(起動時間)を取得するカスタム監視を設定しています
DBの値確認
A5:SQLからlogスキーマのテーブル「cc_event_log」を開きます。
このテーブルにはクライアントの監視履歴[イベント]ビューで表示されるデータが格納されています。
そのため監視の履歴以外にもHinemos内部スコープ(INTERNAL)などからの通知も含まれており、そのままでは見づらいかと思います。
目的の監視結果だけを表示させるために、SQLを使用してデータを抽出することができます。
SQLの作成、実行
先ほど開いた「cc_event_log」のタブにある、SQLボタン(画像赤丸)をクリックすることでSQLの作成に移れます。
SQLの作成画面では実行するSQLの種別や出力させたいカラムを選ぶことで、簡単にSQLの雛形を作成することもできます。
作成画面でOKを押すと先ほどの設定から作成されたSQLのエディタに移ります。
ここで画像赤丸で示した実行ボタンをクリックすることでSQLを実行できます。
今回は先に説明した監視設定「Custom_uptime」の結果だけを抽出したいと思いますので、以下のようなSQLを実行します。
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT * FROM log.cc_event_log WHERE monitor_id = 'Custom_uptime' ORDER BY monitor_id , monitor_detail_id , plugin_id , output_date , facility_id |
SQLを実行することで、目的の監視設定「Custom_uptime」の結果だけを出力することができました。
先ほどご紹介したSQLはWHEREの条件を変更して特定の日時の範囲を出力したり、SELECTを*からmessageに変更して実行結果だけを表示することも可能です。
SQLを使用することでクライアントからの絞り込みと同じように目的の監視結果だけを抽出したり、さらに細かく絞った特定の情報だけを出力することができます。
■おわりに
この記事ではDBに直接アクセスして監視結果を確認する方法についてご紹介いたしました。
今回は監視結果に焦点を当ててご紹介いたしましたが、ジョブや収集についても同じようにDBから確認することが可能です。
Hinemosの運用のご参考になれば幸いです。