使用 RPC 调用的 OpenDaylight Flow 统计

OpenDaylight Flow statistics using RPC call

我正在尝试使用以下 RPC 调用而不是通过默认统计管理器获取统计信息。

POST / restconf / operations / opendaylight - flow - statistics: get - all - flows - statistics - from - all - flow - tables {
    "input": {
        "node": "/opendaylight-inventory:nodes/opendaylight-inventory:node[opendaylight-inventory:id=\"openflow:1000\"]"
    }
}

然而,这个请求的响应只是transaction-id。虽然我可以看到 OpenFlow Flow Stat RequestFlow Stat Reply 消息在控制器和交换机之间交换,但由于调用上述 RPC,操作数据存储似乎没有更新。我使用以下方法检查操作数据存储:

GET /restconf/operational/opendaylight-inventory:nodes/node/openflow:1000/table/0

我的问题是:

谢谢!迈克尔.

使用 Boron,您尝试使用的已弃用,因此您应该使用以下内容:

  1. 安装odl-openflowplugin-flow-services
  2. 连接你的开关
  3. 发送以下请求:
    POST /restconf/operations/opendaylight-direct-statistics:get-node-connector-statistics
    Host: localhost:8181
    Content-Type: application/json
    Authorization: Basic YWRtaW46YWRtaW4=

    {
        "input": 
        { 
            "node" : "/opendaylight-inventory:nodes/opendaylight-inventory:node[opendaylight-inventory:id=\"openflow:187811733353539\"]" ,
            "store-stats" : false
        } 
    }
  1. 如果您想将它们保留在数据存储中,请将 store-stats 设置为 true

您也可以只获取指定端口的统计信息,但尝试时似乎效果不佳 将其添加到上面的有效负载中:

    "node-connector-id" : "/opendaylight-inventory:nodes/opendaylight-inventory:node[opendaylight-inventory:id=\"openflow:187811733353539\"]/opendaylight-inventory:node-connector[opendaylight-inventory:id='openflow:187811733353539:LOCAL']",

而不是 LOCAL,指定您想要的端口。

希望这对您有所帮助, 亚历克西斯