sflow实践

安装

java依赖安装

在这里插入图片描述

reference

编程

  • sflow-rt/get-app.sh sflow-rt browse-flows

  • 简单/快速地起一个连接了sflow collector的mininet

    sudo mn --custom sflow-rt/extras/sflow.py --link tc,bw=10 --topo tree,depth=2,fanout=3

    如果要完全在完全定制化的拓扑里面倒入sflow功能,可以看官方的blog : mininet-flow-analytics-with-custom scripts

常用接口

reference

real-time-network-and-system-metrics-as a service 列出了很多常用的API和大概用法

找custom的接口

metric是基于定时器的

  • 官网API罗列

  • curl http://localhost:8008/metrics/json

    在这里插入图片描述

  • 查找具有最高输入和输出利用率的交换机端口
    curl http://localhost:8008/metric/ALL/max:ifinutilization,max:ifoututilization/json
    /metric/{Agent=ALL}/{metric(逗号隔开)}/json – 没有max/min之类的statistic指定也可以,默认就是max (但这个any其实没有很搞懂)

  • 获取用于存储在里面的表查询
    curl http://localhost:8001/prometheus/metrics/ALL/ALL/txt
    会把全网所有switch的所有端口的所有指标都输出出来,可以过滤一下,e.g. 只看入口速度
    curl http://localhost:8001/prometheus/metrics/ALL/ifspeed/txt

    在这里插入图片描述

flowkeys的接口是基于包采样的

基本api

  • curl http://localhost:8008/flowkeys/json
    获取从采样包头中提取的属性列表。可用属性取决于网络中流动的流量类型。有关这些列表的含义,请参阅官网的define flow。

在这里插入图片描述

flow定义 (其实我觉得就是流表定义)

  • 定义session
    curl -H "Content-Type:application/json" -X PUT \
    --data '{"keys":"ipsource,ipdestination",value:"bytes"}' \
    http://localhost:8008/flow/srcdst/json
    
  • 可以基于新的流定义 进行metric获取 【实际上metric就是在流定义的时候用values定义了】
    curl http://localhost:8008/metric/ALL/max:srcdst/json
    不过这个流度量居然不是在所有端口都注册一遍??

找APP的接口

猜你喜欢

转载自blog.csdn.net/Hesy_H/article/details/121464763
今日推荐