简介
在安全恶意软件分析(SMA)设备中,我们不提供SNMP协议来监控设备资源使用情况,而是提供Prometheus。
本文档将概述如何配置远程Prometheus实例并使用Grafanato可视化从设备提取的数据。
先决条件
将以下工具下载并安装到您的本地计算机/服务器:
要求
- 安全恶意软件分析(SMA)设备软件版本2.18及更高版本
- Windows计算机
- 对设备管理员(Opadmin)控制台的管理员访问权限
- 安全恶意软件分析(SMA)设备Opadmin SSL证书受本地计算机信任
使用的组件
配置
对于本文档,我们使用Windows 11 Pro作为远程主机,在该主机上安装了Prometheus和Grafana。这些工具也可用于Linux或MacOS。
1.在安全恶意软件分析(SMA)设备中生成API密钥以访问指标
登录SMA设备Opadmin。从Opadmin > Operation > Metrics为度量生成API密钥

2.将生成基本身份验证用户名和密码,我们需要在远程Prometheus配置中使用它们。

3.安装和配置Prometheus
如果使用Linux或MacOS,请按照Prometheus用户指南提供的说明安装实例。在本文档中,我们在Windows 11计算机上安装了Prometheus,在安装过程中,我们观看了此Youtube视频。
4.创建名称为prometheus.ymlwith
以下内容的配置文件 —
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中生成的基本身份验证用户名和密码。
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.启动普罗米修斯
启动普罗米修斯。对于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.转至状态
> 目标
- 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'
选择“添加新数据
源”并从列
表中选择SelectPrometheus
。请输入“http://localhost:9090/”作为Prometheus服务器URL

在该页面底部选择Save & test
。测试成功后,我们可以创建控制面板。
14.创建Grafana控制面板
转至Grafana UI中的Dashboards
,选择Create Dashboard
>Add visulization
。选择Prometheus
数据源。
在查询生成器中,选择Codeinput,选择可视化类型(I selected Gauge)
输入以下CPU利用率查询-
100-(avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
15.单击Run
查询,您应该会看到如下所示的CPU使用情况的可视化 —

16.保存面板,命名控制面板,然后保存。添加另一个内存
使用情况可视化 —

17.对于内存利用率,请使用以下查询
(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / (1024*1024*1024)

18.保存更改,您应该有一个这样的控制面板 —

19.其他硬件和软件指标可用,有关详细信息,请点击Opadmin
> Metrics
页中提供的
链接。

Grafana控制面板模板
Grafana网站上有许多可用于节点导出器的Grafana控制面板模板。其中一个是 — 节点导出器已满
1.要将此控制面板导入到Grafana实例下载JSON,请在Grafana中导入JSON文件

2.上传JSON文件并选择Prometheusdata source


3.这将创建一个包含大量硬件信息的控制面板(并非所有面板指标都可用) —

故障排除
如果Prometheus无法连接并从SMA设备提取度量,您将在Status
> Targets
中看到错误 http://localhost:9090/targets?search=
如果存在anyError
,则需要先修复该错误,然后才能提取数据。常见问题是SMA设备的SSL证书Opadmin不受本地计算机信任。确保使用IP和DNS SAN创建SMA管理员证书,并将签名根CA添加到本地计算机的信任存储中。