如何用 Zabbix 监控 Radius 服务?

在这里插入图片描述

网管小贾 / sysadm.cc

Radius 对于搞系统的小伙伴们来说应该并不陌生,它是提供身份认证的服务程序。

Radius 应用广泛,最简单的场景之一就是无线连接,使用用户名密码或者证书等方式通过它的验证后无线网络连接就可以建立起来。

如此重要的一项基础应用服务,我们当然要重视起来,自然也就少不了经常要了解它的运行状况。

那么我们能想到的最简单经济的办法,就是用 zabbix 或是其他的监控软件来监控管理 Radius


不过翻遍了整个互联网,我似乎还没有找到比较完整可行的方案。

想要用 ZabbixRadius 服务给监控起来,粗想想可能感觉简单。

Ping 呗,只要不通就可以判断服务器故障中断了。

可是有时候服务器是 Ping 得通的,网络是好的,但是服务也可能停了。

这种情况下怎么办呢?

要不直接监控 Radius 的后台服务?

只要服务是运行中,就算它是正常工作的。

有道理,不过这样看似解决了问题,实际上仔细再想想,要是服务是运行的,可它无法提供正常的认证验证服务,那也是有可能的,当然也是故障状态啊!

看来问题没有那么简单!


说了这么多,到底怎么做才算合理呢?

我们如果从 Radius 提供服务这个角度来看问题的话,那么自然很容易得出一个结论,那就是只要它能够正常返回认证响应就算它的状态正常,否则就算它处于故障状态。

再说得直白点,你给它发个验证请求 Access-Request ,它如果能正确返回响应信息( SUCCESS 或者 FAILURE ),不管验证是成功还是失败,我们就可以认为它的状态就是OK的,反之则NG。

好,道理讲明白了,具体如何做呢?


首先,我们要让 ZabbixRadius 发出一个请求信号。

怎么整,你说发就能发呀?

是啊,这可不简单,我查遍了互联网,偶然发现有一篇老外的文章,多少对我有点启发。

大概的做法是,通过调用 Shell 脚本来实现,这在 Zabbix 中叫作外部检查。

不过他用的是 Ncat 这类的网络工具程序,发送 UDP 包到 Radius 服务器的 1812 端口。

理论是可行的,我也做了很多尝试,但是操作非常复杂,不太容易实现。


原因有二,一是 Ncat 只是个网络工具,它并不了解如何构造 Access-Request 请求包。

然而按照老外作者的意思,直接使用抓包后的数据包来模拟发送,这完全是行不通的。

因为现在一般的身份验证方法不会使用较低安全级别的验证方法,所以用这种简陋方法发送请求无法处理多次返回的响应信息。


另一个原因是,即使你能成功发送合法的请求包,但是 Radius 返回的响应包要你自己去抓取,它并没有获取返回信息的功能,这个要想通过简单的操作来实现几乎不太可能。

基于以上原因,以及根据我实际操作实验结果,最终放弃了此类方案。


虽然失败了,但是老外文章的想法却开启了我新的思路。

一是,可以利用 zabbix 的外部检查脚本。

二是,既然 Ncat 不行,那么我换一个可以正常请求的 Radius 客户端程序不就行了嘛!

事实证明,我的新思路完全行的通!


最终效果图展示, ZabbixNPSFreeRadius ,使用 MSCHAPv2 验证环境下测试通过。

在这里插入图片描述


同时当服务器故障时,触发器也能正常触发问题报警。

在这里插入图片描述


本文相关脚本及程序文末下载。

zabbix 监控 Radius 相关文件(文末集中下载)

  • Linux

    • 外部检查脚本( 1K
    • Radius 客户端 MSCHAPV2 验证配置文件( 1K
    • 验证 MSCHAPV2 客户端命令编译源代码( 16K
    • 超时程序编译源代码( 15K
  • Windows

    • 验证 MSCHAPV2 客户端 exe 可执行文件( 6.4M ,可在 Windows 下使用)

具体怎么实现的呢?

在实现的期间又会遇到哪些坑呢?

下面我们就来详细说道说道……


关注网管小贾公众号,发送001053,解锁教程完整内容。

(含20多幅实例插图,5千多字详实讲解,以及脚本程序打包下载)


将技术融入生活,打造有趣之故事

网管小贾 / sysadm.cc

Zabbix 是一个企业级分布式开源监控解决方案。  Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。  Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。  Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和发布的。这意味着产品源代码是免费发布的,可供公共使用。 本课程主要讲解以下方面:1.  触发器的表达式的以及事件标签的配置。2.  触发器动作和报警升级。3.  监控模板的创建及管理。4.  高级监控项的使用以及自动化配置。5.  web页面的简单监控。 注意:该课程,需要有一定的 zabbix 和 Linux 基础,建议您先把>看完,再看此套课程,这个是在它的基础上进行讲解的。                                                                                                                                                                                                                                                                                               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网管小贾

将技术融入生活,打造有趣之故事

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值