はじめに
Secure Malware Analytics(SMA)アプライアンスでは、アプライアンスリソースの使用状況を監視するSNMPプロトコルは提供されず、アプライアンスがPrometheusを提供します。
このドキュメントでは、リモートのPrometheusインスタンスを設定し、アプライアンスから取得したデータをGrafanatoを使用して視覚化する方法の概要を説明します。
前提条件
ローカルマシン/サーバに次のツールをダウンロードしてインストールします。
要件
- Secure Malware Analytics(SMA)アプライアンスソフトウェアバージョン2.18以降
- Windowsマシン
- アプライアンス管理者(Opadmin)コンソールへの管理者アクセス
- Secure Malware Analytics(SMA)アプライアンスOpadmin SSL証明書がローカルマシンで信頼されている
使用するコンポーネント
- Secure Malware Analytics(SMA)アプライアンス
- Windows 11 Proマシン
- プロメテウス
- グラファナ
設定
このドキュメントでは、Windows 11 Proをリモートホストとして使用し、PrometheusとGrafanaをインストールしました。これらのツールは、LinuxまたはMacOSでも使用できます。
1. メトリックにアクセスするためのSecure Malware Analytics(SMA)アプライアンスでのAPIキーの生成
SMAアプライアンスOpadminにログインします。 Opadmin > Operation > MetricsからメトリックのAPIキーを生成

2. 基本的な認証ユーザ名とパスワードが生成されます。これはRemote Prometheusの設定で使用する必要があります。

3. Prometheusのインストールと設定
LinuxまたはMacOSを使用している場合は、Prometheusのユーザーガイドの指示に従ってインスタンスをインストールします。このドキュメントでは、Windows 11マシンにPrometheusをインストールしました。インストールプロセスでは、このYoutubeビデオに従いました。
4. 次の内容で、prometheus.yml
という名前の設定ファイルを作成します。
scrape_configs:
- job_name: metrics
scheme: https
file_sd_configs:
- files:
- 'targets.json'
relabel_configs:
- source_labels: [__address__]
regex: '[^/]+(/.*)' # capture '/...' part
target_label: __metrics_path__ # change metrics path
- source_labels: [__address__]
regex: '([^/]+)/.*' # capture host:port
target_label: __address__ # change target
basic_auth:
username: "API_KEY"
password: "2024-04-22T15:32:14.082689318Z xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
5. basic_auth
セクションで、ステップ1で生成されたBasic Authのユーザ名とパスワードを使用します。
6. Opadminにログインした後、UIで次のように入力して、メトリックを取得できるサービスの設定を取得します。
https:///metrics/v1/config
次のような結果になります
[{"labels":{"service":"classifier"},"targets":["192.168.97.111:443/metrics/v1/service/classifier"]},{"labels":{"service":"dictator"},"targets":["192.168.97.111:443/metrics/v1/service/dictator"]},{"labels":{"service":"fav2"},"targets":["192.168.97.111:443/metrics/v1/service/fav2"]},{"labels":{"service":"monbox"},"targets":["192.168.97.111:443/metrics/v1/service/monbox"]},{"labels":{"service":"node-exporter"},"targets":["192.168.97.111:443/metrics/v1/service/node-exporter"]},{"labels":{"service":"observer"},"targets":["192.168.97.111:443/metrics/v1/service/observer"]},{"labels":{"service":"supervisor"},"targets":["192.168.97.111:443/metrics/v1/service/supervisor"]},{"labels":{"service":"ven-entrance"},"targets":["192.168.97.111:443/metrics/v1/service/ven-entrance"]}]
ここで、192.168.97.111
はSMAアプライアンスの管理IPです。
7.targets.json
という名前のファイルを作成し、上記のコンテンツをそのファイルにコピーします。
8. prometheus.yml
とtargets.json
をPrometheusディレクトリにコピーします(インストールガイドに従ってください)。Windowsの場合、C:\ドライブにフォルダを作成し、そこにPrometheusインストールファイルを抽出しました。次に、prometheus.yml
とtargets.json
を同じフォルダにコピーします。

9. Prometheusを起動します
Prometheusを起動します。Windowsの場合は、コマンドラインからprometheus.exe
を実行します。
C:\Prometheus\prometheus-2.51.2.windows-amd64\prometheus-2.51.2.windows-amd64>prometheus.exe
これにより、Prometheusが起動し、SMAアプライアンスからメトリックの取得が開始されます。注:コマンドラインを閉じないでください。閉じると、Prometheusがシャットダウンします。
10. ローカルのPrometheusインスタンスがSMAアプライアンスからメトリックをプルできるかどうかを確認するには、Prometheus UI - 'http://localhost:9090/'をロードします。
11. Status
> Targets
の順に移動します。 http://localhost:9090/targets?search=
数分以内に、すべてのターゲットとステータスがUP
であることが表示されます。

12. Grafanaのインストールと設定
Grafana LabsからGrafana実行可能ファイルをダウンロードします。 Granafaをインストールし、インストーラの指示に従います。
13. ブラウザにGrafanaアクセスUIをインストールした後 – http://localhost:3000/
Home > Connections > Data sources - 'http://localhost:3000/connections/datasources'の順に選択します。
リストからAdd New Datasource
とSelectPrometheus
を選択します。 PrometheusサーバURLとして「http://localhost:9090/」を入力します

そのページの下部で、Save & test
を選択します。テストに成功したら、ダッシュボードを作成できます。
14. Grafanaダッシュボードの作成
Grafana UIのDashboards
に移動し、Create Dashboard
>Add visulization
を選択します。Prometheus
データソースを選択
します。
クエリービルダーselectCodeinputで、ビジュアライゼーションのタイプを選択(I selected Gauge)
CPU使用率に関する次のクエリを入力します。
100-(avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
15. Run
Queriesandをクリックすると、次のようなCPU使用率のビジュアライゼーションが表示されます。

16. パネルを保存し、ダッシュボードに名前を付けて「保存」をクリックします。 メモリ使用量の別の可視化
の追加:

17. メモリー使用率については、次の問合せを使用します
(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / (1024*1024*1024)

18. 変更を保存すると、次のようなダッシュボードが表示されます。

19. その他のハードウェアおよびソフトウェアのメトリックも表示されます。詳細については、Opadmin
> Metrics
ページに表示されるリンクをクリックしてください。

Grafanaダッシュボードテンプレート
GrafanaのWebサイトには、ノードエクスポータで使用できる多数のGrafanaダッシュボードテンプレートがあります。その1つは、ノードエクスポータ(NDE)がいっぱいです。
1. このダッシュボードをGrafanaインスタンスにインポートするにはJSONをダウンロードし、GrafanaにJSONファイルをインポートします

2. JSONファイルをアップロードし、Prometheusdataソースを選択します


3. これにより、多くのハードウェア情報を含むダッシュボードが作成されます(すべてのパネルメトリックを使用できるわけではありません)。

トラブルシュート
Prometheusが接続に失敗し、SMAアプライアンスからメトリックを取得できなかった場合、Status
> Targets
にエラーが表示されます。 http://localhost:9090/targets?search=
anyError
がある場合は、データをプルする前にそれを修正する必要があります。一般的な問題は、SMAアプライアンスOpadminのSSL証明書がローカルマシンで信頼されていないことです。IPおよびDNS SANを使用してSMA管理証明書を作成し、署名ルートCAをローカルマシンの信頼ストアに追加します。