PHPackages                             drakelid/isp-service-impact-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. drakelid/isp-service-impact-manager

ActiveLibrary

drakelid/isp-service-impact-manager
===================================

ISP Service &amp; Customer Impact Manager - customer/service dependency, impact and blast-radius intelligence for LibreNMS

v1.1.8(today)014↑2685.7%GPL-3.0-or-laterPHPPHP ^8.2CI failing

Since Aug 14Pushed todayCompare

[ Source](https://github.com/Drakelid/ISP-Service-Customer-Impact-Manager)[ Packagist](https://packagist.org/packages/drakelid/isp-service-impact-manager)[ Docs](https://github.com/Drakelid/isp-service-impact-manager)[ RSS](/packages/drakelid-isp-service-impact-manager/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (9)Versions (11)Used By (0)

ISP Service &amp; Customer Impact Manager
=========================================

[](#isp-service--customer-impact-manager)

`drakelid/isp-service-impact-manager` adds customer, service, circuit, path, dependency, blast-radius, and monitoring-derived SLA context to LibreNMS. It keeps LibreNMS devices and ports authoritative and does not modify core files.

It provides deterministic redundancy-aware health, cached customer impact, safe what-if simulation, probable shared failure domains, risk analysis, topology, reconciliation, import/export, audit history, and SLA reports. Missing telemetry is `UNKNOWN`, never automatically an outage.

Requirements
------------

[](#requirements)

- A currently supported LibreNMS installation
- PHP 8.2, 8.3, or 8.4
- A LibreNMS-supported MariaDB/MySQL database
- LibreNMS's scheduler running every minute

Installation
------------

[](#installation)

For an automated production install/update, copy `tools/install-latest.sh` to the LibreNMS host and run:

```
sudo bash tools/install-latest.sh
# Optional exact version or alternate installation directory:
sudo LIBRENMS_DIR=/opt/librenms bash tools/install-latest.sh 1.0.0
```

The default constraint is `^1.0`, so it installs the newest compatible 1.x release and records that constraint in `composer.plugins.json`.

For a manual installation, run the following from the LibreNMS directory.

Run from the LibreNMS directory as the LibreNMS service account:

```
cd /opt/librenms
./scripts/composer_wrapper.php require drakelid/isp-service-impact-manager
php artisan migrate --force
php artisan plugin:enable isp-service-impact-manager
php artisan isim:install-check
php artisan isim:health
```

If your LibreNMS release uses the web plugin manager, enable the plugin there instead. Grant `view isim` and the narrower management abilities through LibreNMS role management. Composer installation survives `daily.sh`; do not copy the package into LibreNMS core directories.

Publish deployment configuration only when local overrides are needed:

```
php artisan vendor:publish --tag=isim-config
```

Open `/plugin/isp-service-impact-manager/setup`, add or import inventory, then:

```
php artisan isim:reindex
php artisan isim:evaluate
php artisan isim:refresh-impact
```

Import and export
-----------------

[](#import-and-export)

Imports preview by default and never delete records absent from a file:

```
php artisan isim:import customers customers.csv
php artisan isim:import customers customers.csv --apply
php artisan isim:export all --format=json --out=/secure/backup/directory
```

Supported kinds are `customers`, `services`, `endpoints`, `circuits`, `paths`, and `path_components`. Contacts are excluded from exports by default.

NetBox source of truth
----------------------

[](#netbox-source-of-truth)

Administrators can open **Settings → NetBox**, enter a read-only NetBox API token, test the connection, and enable automatic synchronization. The token is encrypted with LibreNMS's application key and never returned to the browser or audit log. Synchronization is queued and runs at the configured interval.

NetBox tenants become customers. Every tenant-owned NetBox circuit becomes a circuit-backed service with an indexed path; `isim_service_ref` and the other custom fields optionally override the generated defaults. NetBox-owned rows carry a durable source ID: upstream changes update them, upstream removals disable rather than delete them, and local-only inventory remains untouched.

The connector also indexes sites, locations, devices, interfaces, cables, prefixes, IP addresses, VLANs, VRFs, IPAM services, L2VPNs, tunnels, virtual circuits, and their termination records. IPAM services, L2VPNs, tunnels, and virtual circuits assigned to a tenant become ISIM services. NetBox devices are matched to existing LibreNMS devices by exact name, display name, or primary IP; interfaces are then matched by exact interface name. Ambiguous identities are kept as source context but never attached to monitoring paths automatically.

Useful NetBox custom fields are:

```
Tenant:  isim_customer_ref, isim_customer_type, isim_priority, isim_sla_class
Circuit: isim_circuit_ref, isim_service_ref, isim_service_name,
         isim_service_type, isim_criticality, isim_redundancy_mode,
         isim_required_paths, isim_path_role, isim_sla_class

```

CLI preview and synchronization:

```
php artisan isim:netbox-sync --dry-run
php artisan isim:netbox-sync
```

See [Operations](docs/OPERATIONS.md), [Upgrading](docs/UPGRADING.md), [Development](docs/DEVELOPMENT.md), and [Security](docs/SECURITY.md).

The standalone suite contains 225 tests and 685 assertions. CI covers PHP 8.2-8.4, Pint, PHPStan, MariaDB migrations, and advisory LibreNMS integration.

Licensed under GPL-3.0-or-later.

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance100

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

10

Last Release

0d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/107108504?v=4)[drakelid](/maintainers/drakelid)[@Drakelid](https://github.com/Drakelid)

---

Top Contributors

[![Drakelid](https://avatars.githubusercontent.com/u/107108504?v=4)](https://github.com/Drakelid "Drakelid (10 commits)")

---

Tags

pluginisptopologyslaimpactlibrenmsblast-radius

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/drakelid-isp-service-impact-manager/health.svg)

```
[![Health](https://phpackages.com/badges/drakelid-isp-service-impact-manager/health.svg)](https://phpackages.com/packages/drakelid-isp-service-impact-manager)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)[illuminate/database

The Illuminate Database package.

2.8k55.8M13.0k](/packages/illuminate-database)[laravel/ai

The official AI SDK for Laravel.

1.1k4.6M307](/packages/laravel-ai)[illuminate/filesystem

The Illuminate Filesystem package.

16166.4M3.5k](/packages/illuminate-filesystem)[moonshine/moonshine

Laravel administration panel

1.3k268.2k88](/packages/moonshine-moonshine)[tallstackui/tallstackui

TallStackUI is a powerful suite of Blade components that elevate your workflow of Livewire applications.

731189.9k16](/packages/tallstackui-tallstackui)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
