简介
在安全恶意软件分析(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://<opadmin IP>/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
启动普罗米修斯。对于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'
从列表中选择Add New Datasource
和SelectPrometheus
。 输入“http://localhost:9090/”作为Prometheus服务器URL
在该页面底部,选择“保存并测试”
。测试成功后,我们可以创建控制面板。
14. 创建Grafana控制面板
转到Grafana UI中的控制面板
(Create Dashboard
>添加可视化
)。选择Prometheus
数据源。
在查询生成器selectCodeinput中,选择可视化类型(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设备连接和提取度量,您将在状态
> 目标
中看到此错误。 http://localhost:9090/targets?search=
如果存在anyError
,需要先修复此问题,然后才能提取数据。常见问题是SMA设备的SSL证书Opadmin不受本地计算机信任。确保使用IP和DNS SAN创建SMA管理员证书,并将签名根CA添加到本地计算机的信任存储中。