dot-mike / nmscustomfields

LibreNMS插件,用于向设备添加自定义字段

1.0.2 2024-07-04 17:32 UTC

This package is auto-updated.

Last update: 2024-09-04 18:00:05 UTC


README

nmscustomfields - 用于为设备添加自定义字段支持的LibreNMS插件包。

安装

不使用Docker

转到LibreNMS基本目录,并以librenms用户身份运行以下命令

./lnms plugin:add dot-mike/nmscustomfields
php artisan migrate --path=vendor/dot-mike/nmscustomfields/database/migrations
php artisan route:clear
php lnms --force -n migrate

使用Docker

如果您使用Docker运行LibreNMS,可以通过自定义Dockerfile来安装插件。

示例Dockerfile

ARG VERSION=librenms:23.8.2
FROM librenms/$VERSION

RUN apk --update --no-cache add -t build-dependencies php-xmlwriter
RUN mkdir -p "${LIBRENMS_PATH}/vendor"

RUN echo $'#!/usr/bin/with-contenv sh\n\
set -e\n\
if [ "$SIDECAR_DISPATCHER" = "1" ] || [ "$SIDECAR_SYSLOGNG" = "1" ] || [ "$SIDECAR_SNMPTRAPD" = "1" ]; then\n\
  exit 0\n\
fi\n\
chown -R librenms:librenms "${LIBRENMS_PATH}/composer.json" "${LIBRENMS_PATH}/composer.lock" "${LIBRENMS_PATH}/vendor"\n\
lnms plugin:add dot-mike/nmscustomfields\n\
php artisan route:clear\n\
php lnms --force -n migrate\n\
' > /etc/cont-init.d/99-nmscustomfields.sh

用法

要开始使用,打开LibreNMS,通过转到概览->插件->插件管理员并启用nmscustomfields插件来启用插件。

添加和管理自定义字段

转到概览->插件->自定义字段插件以开始添加对设备可用的自定义字段。在这里,您还可以批量管理字段值。

编辑设备的自定义字段

转到设备页面,您将看到自定义字段部分,其中包含编辑设备自定义字段的链接。

屏幕截图

Edit Custom Fields Edit Custom Field Values Device Custom Fields

API文档

插件还添加了用于管理设备自定义字段的API端点。

设备 API

列出自定义字段

GET /api/v0/devices/{device}/customfields
  • 描述:检索指定设备的自定义字段列表。
  • 参数:
    • {device}:设备的标识符。

显示自定义字段

GET /api/v0/devices/{device}/customfields/{customdevicefield}
  • 描述:检索指定设备的特定自定义字段的详细信息。
  • 参数:
    • {device}:设备的标识符。
    • {customdevicefield}:自定义字段的标识符。

删除自定义字段

DELETE /api/v0/devices/{device}/customfields/{customdevicefield}
  • 描述:删除指定设备的特定自定义字段。
  • 参数:
    • {device}:设备的标识符。
    • {customdevicefield}:自定义字段的标识符。

更新自定义字段

PATCH /api/v0/devices/{device}/customfields/{customdevicefield}
  • 描述:部分更新指定设备的特定自定义字段。
  • 参数:
    • {device}:设备的标识符。
    • {customdevicefield}:自定义字段的标识符。
    {
      "value": "value"
    }

Upsert自定义字段

PUT / POST /api/v0/devices/{device}/customfields
  • 描述:为指定设备创建或更新自定义字段。
  • 参数:
    • {device}:设备的标识符。
    • 包含自定义字段数据的请求体。
    {
      "custom_field": "field_name or field_id",
      "value": "value"
    }