如何用 Zabbix 监控 Radius 服务?

00

网管小贾 / sysadm.cc

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

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

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

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

<br>

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

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

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

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

这种情况下怎么办呢?

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

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

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

看来问题没有那么简单!

<br>

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

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

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

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

<br>

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

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

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

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

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

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

<br>

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

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

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

<br>

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

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

<br>

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

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

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

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

<br>

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

13

<br>

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

21

<br>

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

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

  • Linux

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

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

具体怎么实现的呢?

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

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

<br>

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

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

<br>

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

网管小贾 / sysadm.cc

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

运维监控系统——Zabbix简介

前言对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监

64.监控平台介绍 安装zabbix 忘记admin密码

19.1Linux监控平台介绍19.2zabbix监控介绍19.3/19.4/19.6安装zabbix19.5忘记Admin密码如何做19.1Linux监控平台介绍:常见开源监控软件~1.cacti、nagios、zabbix、smokeping、openfalcon等等~2.cacti、smokeping偏向于基础监

MONGO DB too many mongodb page_faults 报错排查step by step

!(https://oscimg.oschina.net/oscnet/23c4624a6bcc4293b67541f639362dc9.png)早上运维的同学,morningcall,说zabbix的MONGO监控报警,图片传给我,报的错误是 toomanymongodbpage\_faults.本来page\_

CentoS 7 LNMP 环境部署zabbix监控

本次实验,我们主要在centos7系统上部署zabbix监控,并实现监控交换机,监控Apache服务器,实现邮箱报警等操作LNMP环境构建软件包下载地址nginx1.8.0.tar.gzhttp://nginx.org/download/(https://www.oschina.net/action/GoToL

5.10 监控介绍 5.11

5.10监控介绍 为什么要做监控?可以提前发现潜在故障隐患,第一时间解决掉。把影响降低。常见的监控软件:cactinagioszaabixopenfalconprometheusgrafana5.115.12 安装zabbix4.0zabbix官网 https://www.zabbi