florianbeer-librenms
通过 LibreNMS REST API 监控网络基础设施,只读查看设备状态、健康传感器、端口统计与告警。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~florianbeer-librenmscURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~florianbeer-librenms/file -o florianbeer-librenms.md## 概述(中文)
通过 LibreNMS REST API 监控网络基础设施,只读查看设备状态、健康传感器、端口统计与告警。
## 技能正文
# LibreNMS 技能
通过 LibreNMS REST API 监控网络基础设施。只读监控技能,用于查看设备状态、健康传感器、端口统计与告警。
## 配置
创建 `~/.openclaw/credentials/librenms/config.json`:
```json
{
"url": "https://librenms.example.com",
"api_token": "your-api-token-here"
}
```
或设置环境变量:
- `LIBRENMS_URL` — LibreNMS 实例的基础 URL
- `LIBRENMS_TOKEN` — API 认证令牌
## 命令
### 快速概览
```bash
librenms summary
```
仪表盘视图,显示设备总数、在线/离线数量及活跃告警数。建议首先使用以快速了解状态。
### 设备管理
```bash
librenms devices # 列出所有设备(状态、IP、OS、运行时间)
librenms down # 仅显示离线设备(告警关键)
librenms device <hostname> # 详细信息:硬件、序列号、位置、OS 版本
```
### 健康监控
```bash
librenms health <hostname> # 温度、CPU、内存、磁盘传感器
librenms ports <hostname> # 网络接口及流量统计
```
### 告警
```bash
librenms alerts # 显示活跃/未解决告警(含严重级别与时间戳)
```
## 使用模式
**每日健康检查:**
```bash
librenms summary && librenms down && librenms alerts
```
**调查特定设备:**
```bash
librenms device switch-core-01
librenms health switch-core-01
librenms ports switch-core-01
```
**快速离线设备排查:**
```bash
librenms down | grep -v "UP"
```
## 重要说明
- 所有操作均为**只读** — 无法修改设备
- 脚本接受自签名证书(curl 使用 -sk 标志)
- 状态指示:● 绿色 = 在线,● 红色 = 离线
- 运行时间以可读格式显示(天/小时,而非秒)
- 流量统计格式为 KB/MB/GB 每秒
## 心跳集成
定期检查基础设施健康:
```bash
# 在心跳脚本中
if librenms down | grep -q "Devices Down"; then
# 对离线设备发出告警
librenms down
fi
# 检查活跃告警
if librenms alerts | grep -q "Active Alerts"; then
librenms alerts
fi
```
## 依赖
- `curl` — API 调用
- `jq` — JSON 解析
- `bc` — 数值格式化(可选,用于字节转换)
## API 覆盖
封装的端点:
- `/api/v0/devices` — 所有设备
- `/api/v0/devices/{hostname}` — 单设备详情
- `/api/v0/devices/{hostname}/health` — 健康传感器
- `/api/v0/devices/{hostname}/ports` — 网络端口
- `/api/v0/alerts?state=1` — 未解决告警
完整 API 文档:https://docs.librenms.org/API/
## 故障排除
**"Config file not found"**
创建 `~/.openclaw/credentials/librenms/config.json` 或设置环境变量。
**"API returned HTTP 401"**
检查 API 令牌。在 LibreNMS 的 Settings → API 中生成新令牌。
**"Failed to connect"**
验证 URL 是否正确且 LibreNMS 实例可访问。检查防火墙规则。
**自签名证书警告**
脚本使用 `-sk` 忽略证书验证(LibreNMS 部署中常见)。若需严格验证,编辑脚本并移除 `-k` 标志。