kubeovn / kube-ovn

A Bridge between SDN and Cloud Native (Project under CNCF)
https://kubeovn.github.io/docs/stable/en/
Apache License 2.0
1.92k stars 438 forks source link

More metrics and events about gateway status #2233

Closed oilbeater closed 1 year ago

oilbeater commented 1 year ago

Metrics:

Events:

changluyi commented 1 year ago

Gateway packet count/size: 实现方式: 每个subnet创建后 在本地node上创建一个iptables,获取iptables上的计数pkts和bytes:

subnet net1 ipset
ovn40net1: 10.0.0.0/24

# iptables 
iptables -I FORWARD -m set --match-set ovn40net1 dst 
iptables -I FORWARD -m set --match-set ovn40net1 src

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
  100  6216            all  --  *      *       10.0.0.0/24         0.0.0.0/0
   86  5432            all  --  *      *       0.0.0.0/0            10.0.0.0/24

Gateway packet retransmission 实现方式: 在node上获取计数:

# netstat -s | grep retransmitted
     368644 segments retransmitted

(感觉这种获取整个node上计数好像对客户来说意义不大,目前好像没找到什么办法去获取ip之间点到点的重传计数,我持续找下)

Subnet gateway type changes Subnet gateway node changes 这两个需求,我理解是客户在修改spec.gateWayType 或者spec.gateWayNode后在status上有个记录, 所以应该在updatesubnet的时候下查看gateWayType和 gateWayNode字段变动,如果变动发一个event就好了

Gateway status changes to not ready 在pinger里面加上逻辑去 ping 默认vpc ovn-cluster下的subnet的网关。如果ping网关不通,就在pinger这边触发patchSubnetStatus这个行为。 (自定义vpc的subnet就得单独创建一个pinger pod去 ping网关,这个看需不需要做)

changluyi commented 1 year ago

node上的tcp重传计数 ,在node exporter有收集。

node_netstat_Tcp_RetransSegs 714