防火墙告警
:该业务CPU负荷过多(81>= 80) ,发现吞吐量超过设备性能阈值,导致网络特别卡,客户端体现就是偶尔网络中断。
之前有篇文章是针对华三的防火墙指标数据采集做了介绍说明,可点击这里查看 网络监控:华三防火墙监控 这篇文章了解,在防火墙可观测性领域目前案例分享还是太少,而在实际项目中以及和星球好友沟通接触中发现华为防火墙的使用率还是挺高的。
日常华为防火墙运维看设备资源使用情况更多的可能是 Web 页面查看,但是华为防火墙自带的 Web 页面可看到的信息还是不够直观,如果运维管理多台防火墙那就非常不方便查看设备监控信息状态,故今天我将重点介绍下如何监控华为防火墙,实现防火墙的可观测性关键指标采集和展示。
关注指标
针对防火墙监控,我们需要明白防火墙的常规性能指标,以及日常运维关注的业务指标点。
根据经验我列出了网工运维比较关注的指标主要有如下几点:
上图是根据经验列出的常见指标信息,几乎大部分品牌防火墙关于这些指标都是可以拿到,关于这些指标的告警经验值大部分都需要根据实际设备性能来定义,这里可以用一个告警阈值万能公式:指标值 > 指标最大性能 * 80%
,如 CPU 和 内存 这些可以直接大于 80% 利用率即可触发告警。
如何采集
关于采集器还是利用夜莺开源的 Categraf 作为首选,基于夜莺架构体系或魔改架构体系,关于两个架构可查看 网络监控:架构选择 这篇文章了解。
具体采集配置文件在这里说明几个特别注意的点:
1、采集配置没有分开多文件
2、单配置文件中有多 [[instances]] 也就是 toml 中多个表数组实现多指标采集
3、枚举类型数据单独处理
这里要特别提及关于 HRP 指标如何处理,也就是得到的数据是枚举类型:
# 系统名称
[[instances.field]]
oid = ".1.3.6.1.2.1.1.5.0"
name = "device_name"
is_tag = true# 本端设备管理口MAC hwHrpLocalID
[[instances.field]]
oid = ".1.3.6.1.4.1.2011.6.122.51.1.1.0"
name = "hwHrpLocalID"
conversion = "hwaddr"
is_tag = true
inherit_tags = ["device_name"]# 对端设备管理口MAC hwHrpPeerID
[[instances.field]]
oid = ".1.3.6.1.4.1.2011.6.122.51.1.2.0"
name = "hwHrpPeerID"
conversion = "hwaddr"
is_tag = true
inherit_tags = ["device_name"]# 当前主备设备切换次数 hwHrpSwitchOverTimes
[[instances.field]]
oid = ".1.3.6.1.4.1.2011.6.122.51.1.4.0"
name = "Over_Times"
inherit_tags = ["device_name"]# firewall_HA状态 hwHrpState
[[instances.field]]
oid = ".1.3.6.1.4.1.2011.6.122.51.1.3.0"
name = "hwHrpState"
inherit_tags = ["device_name"][[instances.processor_enum]]metrics = ["*hwHrpState"][instances.processor_enum.value_mappings]normal = 1fault = 0
在配置文件中特别强调使用 [[instances.processor_enum]] 表数组处理防火墙HA状态的纸,由于 Prometheus 指标值限定为 float64 浮点数,故如果是非浮点数,同时可能的指标值就是限定在3~5个值之间的某一个值,即可通过枚举映射实现指标采集。
其他整体配置有几百行,就不展开细说,配置文件可公众号私信拿。
指标存储
指标采集完成后,可以通过 remote write 写入各种兼容的 Prometheus 格式数据的时序数据库中,日常用的最多的就是 VictoriaMetrics 时序库,我强烈推荐使用,可以利用在各种大小场景中,在最近的夜莺开发者大会上,看到很多国内大厂在可观测性指标领域都用上了这个时序库,或是单节点,或是集群,总有符合你需要的场景需求。
数据展示
这里还是利用 Grafana 实现,通过制作 Grafana 仪表板展示不同区域不同实例防火墙的指标数据,实现了开头所说,不要登录防火墙Web查看,可直观查看每个防火墙的性能状态指标。
以上防火墙指标监控就介绍到这里,下一篇我将分享下关于 SNMP Trap 如何监控,以及网络设备支持 Telemetry 协议,该如何用 Telemetry 上报指标数据并实现监控。
原创 小斐Lab 网络小斐