首页 / 平台管理 / 网络管理 / 子网 / Calico 网络监控

Calico 网络监控

通过监控面板可查看 IPAM、Felix 及 BGP 路由监控。

监控面板

通过监控面板可以查看各项监控指标。

操作步骤

  1. 在左侧导航栏中,单击 运维中心 > 监控 > 监控面板

  2. 单击页面顶端的 集群,切换至需要监控的集群。

  3. 单击页面右上角 切换

  4. 可通过下述两种方式进入监控面板。

    • 方式一:单击 calico 卡片展开监控目录,单击 Calico IPAM and BGP Route 进入 IPAM 和 BGP 路由监控面板;单击 Calico/Felix Dashboard 进入 Felix 监控面板,可按需将监控面板设置为主面板。

    • 方式二:在搜索框中输入并搜索关键字(例如:calico、felix 等),单击 Calico IPAM and BGP Route 进入 IPAM 和 BGP 路由监控面板;单击 Calico/Felix Dashboard 进入 Felix 监控面板,可按需将监控面板设置为主面板。

  5. 通过面板查看各项监控指标。

图例参数及说明

监控指标

Calico 的监控指标一共分为三个部分,分别是 IPAM 监控,Felix 监控 和 BGP 路由监控。

IPAM 监控

Calico 提供了 IP 地址管理(IPAM)功能,帮助管理和分配容器工作负载的 IP 地址,关键概念如下:

监控指标

界面展示名称 指标名称 标签 说明
ipam blocks on each node ipam_blocks ippool, node 用于监控 IPAM 为当前节点动态分配的 IP 地址块的数量。
IP allocations on each node ipam_allocations_in_use ippool, node 用于监控当前节点分配和使用的 IP 地址数量,用于反映由 IPAM 分配的 IP 地址的实际使用情况。
IP borrowed on each node ipam_allocations_borrowed ippool, node 用于监控当前节点从其他节点的地址块中借用的 IP 地址数量。
ipam allocations leaks on each node ipam_allocations_gc_candidates ippool, node 用于监控当前被 GC(垃圾回收)标记为已分配且存在潜在泄漏风险的 IP 地址数量。泄露风险可能源于错误的网络配置或操作等,从而导致未正常释放 IP 地址,在正常的 GC 操作下,此指标会返回零。

标签说明

标签名称 说明
ippool IP 地址块所在的 IP 地址池。如果没有与该块匹配的地址池,则值为 no_ippool。

Felix 监控指标

界面展示名称 指标名称 描述
Active hosts on each node felix_cluster_num_hosts 用于监控集群节点的数量。
ipset errors felix_ipset_errors 用于监控 ipset 命令失败的次数。当 Felix 尝试通过 ipset 命令创建、更新或删除 IP 集合(一种数据结构,用于存储一组 IP 地址,以便于管理和匹配)时,如果发生错误,这些错误次数会被记录在该指标中,这个指标帮助管理员追踪 IP 集合的管理操作是否成功执行,以及在操作过程中是否发生了错误。
iptables restore errors felix_iptables_restore_errors 用于监控 iptables-restore 错误的次数。Felix 组件负责管理节点上的 iptables 规则,这些规则用于实现容器网络的连接和流量控制等。当 iptables 规则需要还原(例如:由于配置更改、重新启动、竞争失败等情况),Felix 将尝试重新加载这些规则,该指标记录了尝试恢复 iptables 规则过程中发生的错误次数。
iptables save errors felix_iptables_save_errors 用于监控 iptables-save 错误的次数,即在尝试保存 iptables 规则时,Calico 的 Felix 组件遇到的错误次数。
Felix ipsets total felix_ipsets_total 用于监控活动的 IP 集合的总数量。
Felix cluster policies felix_active_local_policies 用于监控主机上活动的策略的数量。在容器网络中,策略通常用于定义网络通信的规则,例如允许或拒绝特定来源和目标之间的流量。
Active calico nodes felix_active_local_endpoints 用于监控主机上活动的终端节点的数量。在容器网络中,终端节点通常是指运行在主机上的容器或虚拟机实例。
Felix resync started felix_resyncs_started 用于监控同步 ETCD 数据的次数。
calico active ipsets num felix_ipsets_calico 用于监控活动 Calico IP 集合的数量。
Errors plot
  • iptables restore errors
  • ipset errors
  • iptables save errors
用于监控 Calico 遇到的所有错误,偶现的错误是可以接受的。然而,错误或恒定错误计数器数量的增加意味着 Calico 可能无法正常工作。
Felix iptables chains felix_iptables_chains 用于监控 iptables 中创建的链(chains)的数量。在容器网络中,iptables 链用于实现网络策略、安全组规则等功能,通过监控该指标,管理员可以了解节点上 iptables 链的规模,评估和调整网络策略、流量控制规则等,较大的链数量可能会影响性能,因此可以基于这个指标进行优化和调整。
Felix iptables rules felix_iptables_rules 用于监控 iptables 规则的数量。在容器网络中,iptables 规则用于定义网络策略、安全组规则和流量控制规则。通过监控该指标,管理员可以了解节点上 iptables 规则的规模,有助于评估和调整网络策略、流量控制规则等,优化和调整网络性能以及确保网络安全性。
Dataplane felix_int_dataplane_apply_time_seconds 用于统计 ipset、iptables、routes 等数据面资源更新一次的耗时,以秒为单位进行计算,提供了 0.5、0.9 及 0.99 分位数的数据,展示了耗时的分布统计结果。其中,0.5、0.9、0.99 分位数表示:将收集到的数据按照由小到大排序,取 50%、90%、99% 位置的数据值,所有收集的数据中有 50%、90%、99% 的数据小于该值,分位数有助于统计数据的分布情况,并排查出各种极端情况。
Route table felix_route_table_list_seconds 用于统计在 Felix 的一次同步操作中,同步所有接口的耗时时间,以秒为单位进行计算,提供 0.5、0.9 及 0.99 分位数的数据,展示了耗时的分布统计结果。

BGP 路由监控指标

界面展示名称 指标名称 描述
bird protocol up bird_protocol_up 用于监控当前节点与 Calico 网络中的其他节点之间 BGP 协议是否处于运行状态。指标默认为 1,表示 BGP 协议正常工作,可以正常地交换路由信息,也可以反馈当前 BGP 路由邻居建立的情况,作用等同于 bgp_peer。
preferred route count bird_protocol_prefix_preferred_count 用于监控 BGP 路由中的首选路由数量。其中,首选路由是指存在多个可达路由时,BGP 路由器选择的用于转发流量的最佳路径。
bgp route updates received bird_protocol_changes_update_import_receive_count 用于监控当前节点收到的 BGP 路由更新次数。
import route count bird_protocol_prefix_import_count 用于监控节点上导入的路由数量。其中,导入路由表示把通过路由协议学习到的路由导入到路由表中。
export route count bird_protocol_prefix_export_count 用于监控节点上从路由表导出的路由数量。其中,导出路由表示将路由表中的路由通告给邻居。