OpenNMS - 监控 VPN 隧道流量
OpenNMS - Monitor VPN Tunnel Traffic
是否可以生成一个列出所有活动 VPN tunnels/session 流量的单一图表? (每条隧道单线,例如,10 条隧道将由 10 条单独的线表示)
注:
- 在代理设备中,活动隧道及其流量'counter'是
存储在表中,我通过 'snmpwalk'.
检索它
- 我创建了 'resourceType' 并将其与 group/mibObj 相关联。
- OpenNMS 创建多个 'sub directories' 和相关的 rrd 文件。
- 每个子目录(针对每个会话)都有一个 'alias' rrd 文件。
- 我需要访问位于不同 '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.rrd
和 columnB.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
是否可以生成一个列出所有活动 VPN tunnels/session 流量的单一图表? (每条隧道单线,例如,10 条隧道将由 10 条单独的线表示)
注:
- 在代理设备中,活动隧道及其流量'counter'是 存储在表中,我通过 'snmpwalk'. 检索它
- 我创建了 'resourceType' 并将其与 group/mibObj 相关联。
- OpenNMS 创建多个 'sub directories' 和相关的 rrd 文件。
- 每个子目录(针对每个会话)都有一个 'alias' rrd 文件。
- 我需要访问位于不同 '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.rrd
和 columnB.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