OpenNMS - 监控 VPN 隧道流量

OpenNMS - Monitor VPN Tunnel Traffic

是否可以生成一个列出所有活动 VPN tunnels/session 流量的单一图表? (每条隧道单线,例如,10 条隧道将由 10 条单独的线表示)

注:

  1. 在代理设备中,活动隧道及其流量'counter'是 存储在表中,我通过 'snmpwalk'.
  2. 检索它
  3. 我创建了 'resourceType' 并将其与 group/mibObj 相关联。
  4. OpenNMS 创建多个 'sub directories' 和相关的 rrd 文件。
  5. 每个子目录(针对每个会话)都有一个 'alias' rrd 文件。
  6. 我需要访问位于不同 'paths' 中的 'alias' 文件(顺便说一句,所有这些文件都具有相同的名称)以生成这样的图表,OpenNMS 是否有办法这样做?

谢谢。

有几种方法可以做到这一点。

1) 传统方式

首先,它有助于理解 OpenNMS 如何将数据存储在 RRD 文件中。通常它们存储在从 /opt/opennms/share/rrd/snmp 开始的目录结构中。下一个目录通常是设备的 nodeid。任何 "node" 级别值(即每个设备只出现一次)都存储在那里。接口级数据存储在由接口描述及其 MAC 地址组成的子目录中。通用资源类型(如您创建的资源类型)存储在以资源类型名称开头的子目录中。

OpenNMS 在 snmp-graph.properties.d 中找到的文件中定义了图表。此讨论感兴趣的两个值是 "type" 和 "columns"。 "type" 告诉 OpenNMS 在哪里寻找 RRD 文件:nodeSnmp 是 nodeid 目录,interfaceSnmp 是接口目录,"resourceType" 是通用资源的名称。 "columns" 值告诉 OpenNMS 查找具有该名称的文件。

例如,如果我有:

report.name.type=nodeSnmp report.name.columns=columnA,columnB

然后 OpenNMS 正在设备的节点目录中查找两个文件,名为 columnA.rrdcolumnB.rrd。如果它们存在,它将尝试 运行 报告。

因此,一个问题是您可以创建符号链接,然后使用这些名称创建 RRD 报告。

我通常只对已知或重要的值执行此操作。例如,假设我有三个对等点:纽约、芝加哥和旧金山。然后我可以转到一个特定的节点目录,并将 NYC 路由器的 ifHCInOctets.rrd 文件符号链接到 NYC-in.rrd,并将该路由器的 ifHCOutOctets.rrd 符号链接到 NYC-out.rrd。冲洗并重复 ORD 和 SFO。然后,您只需创建一个类型为 "nodeSnmp" 且列为 NYC-in、NYC-out、ORD-in、ORD-out、SFO-in 和 SFO-out 的报告。

正如我所提到的,这是一个拼凑,这就是为什么你可以使用:

2) Grafana 方法

OpenNMS 是 Grafana 数据可视化工具的第一个第三方插件。如果您设置 Grafana 并将其绑定到您的 OpenNMS 实例,您可以创建一个模板来执行您想要的操作。关于如何做到这一点,这里有一个很好的post:http://www.jessewhite.ca/opennms/grafana/2016/04/15/opennms-grafana-template-queries.html