千家信息网

怎么借助Nagios监测BGP会话

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了怎么借助Nagios监测BGP会话,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何使用Nagios插件工具,监测B
千家信息网最后更新 2026年11月02日怎么借助Nagios监测BGP会话

这篇文章主要介绍了怎么借助Nagios监测BGP会话,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

如何使用Nagios插件工具,监测BGP邻居。

测试的平台

  • 测试后证明,与思科ASR 1000系列路由器非常兼容。

  • 测试后证明,与思科3700系列第三层交换机非常兼容。

  • 应该与其他思科设备也能兼容。

  • 测试后测试,与Quagga路由器无法兼容。

  • 未在JunOS上进行测试。

测试的拓扑结构

Nagios可以监测路由器1的所有BGP会话。BGP邻居AS 50和AS 70对正常工作而言至关重要,所以一个单独的脚本将用于监测这些特定的邻居,万一它们变得联系不上,就发出警报。

在Nagios中为路由器1创建主机

在我们开始入手之前,我们将为路由器1定义一个主机,如下所示。

# vim /etc/nagios3/conf.d/bgp-host.cfg define host{ use                     generic-host host_name               router-1 alias                    router-1 address                  100.100.100.100 }

监测路由器1的所有BGP会话

Nagios随带一款名为check_bgpstate的内置工具,可以使用SNMP,检查路由器的BGP状态。这款工具可以手动运行,通过提供必要的参数,检查路由器1。

# /usr/lib/nagios/plugins/check_bgpstate -c myCommunity 100.100.100.100 OK: host '100.100.100.100', sessions up: 4, down: 0, shutdown: 0

现在,我们将在Nagios中定义一个命令,以便使用这个工具,开始监控路由器1的所有BGP会话。

# vim /etc/nagios-plugins/config/bgp.cfg define command{ command_name    check_all_bgp command_line    /usr/lib/nagios/plugins/check_bgpstate '$HOSTADDRESS$' -C '$ARG1$' }

鉴于该命令已准备就绪,我们将定义一个新的服务,这个服务将把该命令应用于路由器1。

# vim /etc/nagios3/conf.d/bgp-service.cfg define service { host_name       router-1 service_description     All BGP session summary check_command       check_all_bgp!myCommunity check_interval      1 use         generic-service notification_interval   0 ; set > 0 if you want to be re-notified }

如果需要添加额外的路由器,我们只需要为路由器2、路由器3等其他路由器定义相应主机,并且将命令check_all_bgp应用于每一个路由器,就像应用于路由器1那样。

在重新启动Nagios服务之前,通过执行一次试运行(dry run),证实所有的参数都已正确配置,如下所示。

# nagios3 -v /etc/nagios3/nagios.cfg

如果一切看起来没问题,我们就重新启动Nagios服务。

# service nagios3 restart

要是一切运行顺利,Nagios应该会检查所有BGP会话的概要情况,这可以在Nagios门户网站处(即http://serverIP/nagios3 > Services)进行证实。

监测路由器1的某个或某些BGP邻居

前面的check_bgpstate工具只为BGP会话概要(即上面3个,下面1个)提供了警报。要是检测到任何有问题的BGP会话,用户就需要人工登录到路由器,检查哪个BGP会话出了故障。

至于关键的BGP邻居(比如拓扑结构图中提到的AS 50和AS 70),你可能想要监测个别的BGP邻居。想让Nagios能够监测某些BGP邻居(比如AS 50和AS 70),并发出警报,就要使用一个名为check_bgp的单独脚本。

准备check_bgp脚本

check_bgp脚本(***版本是0.4)可以从官方网站(http://exchange.nagios.org/directory/Plugins/Network-Protocols/BGP-2D4/check_bgp/details)下载。下载该脚本后,它被拷贝到Nagios插件目录,并更名。另外针对脚本,设置必要的权限。

# cp check_bgp.0.4.pl /usr/lib/nagios/plugins/check_bgp.pl # chmod +x /usr/lib/nagios/plugins/check_bgp.pl

鉴于脚本已准备就绪,我们先进行一番试运行,检查脚本的输出结果。

# cd /usr/lib/nagios/plugins/ # ./check_bgp.pl -H 100.100.100.100 -C myCommunity -p 50.50.50.50 OK - 50.50.50.50 (AS50) state is established(6). Established for Duration.

鉴于脚本已准备可供使用,我们接下来配置Nagios。

准备Nagios

首先我们在Nagios中定义一个命令,该命令会检查某个BGP对等体。

# vim /etc/nagios-plugins/config/ define command{ command_name    check_bgp command_line    /usr/lib/nagios/plugins/check_bgp.pl -H '$HOSTADDRESS$' -C '$ARG1$' -p '$ARG2$' }

鉴于命令已定义完毕,我们将定义两个新的服务,它们将把该命令分别应用于AS 50和AS 70。

# vim /etc/nagios3/conf.d/bgp-service.cfg define service { host_name                router-1 service_description      BGP check with AS 50 check_command            check_bgp!myCommunity!50.50.50.50 check_interval           1 use                      generic-service notification_interval    0 ; set > 0 if you want to be re-notified } define service { host_name                router-1 service_description      BGP check with AS 70 check_command            check_bgp!myCommunity!70.70.70.70 check_interval           1 use                     generic-service notification_interval    0 ; set > 0 if you want to be re-notified }

在我们重新启动Nagios服务之前,执行一次试运行,证实所有的参数都正确配置,如下所示。

# nagios3 -v /etc/nagios3/nagios.cfg

要是一切看起来没问题,我们重新启动Nagios服务。

# service nagios3 restart

Nagios应该会开始监测路由器1中的两个BGP邻居:AS 50和AS 70。两个BGP对等体的状态可以在Nagios门户网站(http://serverIP/nagios3 > Services)中加以核查。要是任何一个BGP会话中出现了可疑情况,Nagios就会发出警报。

要是一切运行顺利,Nagios门户网站中应该会显示下面这个屏幕截图。

感谢你能够认真阅读完这篇文章,希望小编分享的"怎么借助Nagios监测BGP会话"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

路由 路由器 监测 脚本 命令 邻居 服务 测试 检查 工具 要是 准备 篇文章 网站 警报 应用 两个 主机 参数 门户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技战争 互联网科技的发展 美国互联网黑科技 互联网和高科技公司 青岛中康互联网医疗科技有限公司 湖北码尼互联网科技有限公司电话 中国航天科技大学国际工业互联网 开一家科技互联网公司需要多少钱 青海科技产业互联网发展 中科明德北京互联网科技 工业互联网山东科技大学 美国互联网科技实力 上海京穆互联网科技有限公司 互联网第三次科技革命特征 云南省自由互联网科技有限公司 互联网科技融合创新 卡尔迅互联网科技有限公司 世界互联网科技成果奖 青岛互联网科技园 恒生互联网科技趋势 互联网科技工作委员会毛军 科技和互联网公司 互联网最新的科技 互联网最新的科技有限公司 长亮科技互联网金融 华脉科技工业互联网产品 云创客互联网科技公司 昭通云南众福互联网科技有限公司 利用互联网等科技手段 前海云享互联网科技
0