# n8n-nodes-librenms

This is an n8n community node for LibreNMS network monitoring system integration. It provides comprehensive access to LibreNMS API for device management, monitoring, and network operations.

## Features

- **Comprehensive LibreNMS Integration**: Access to all major LibreNMS API endpoints
- **Device Management**: Monitor and manage network devices, ports, and services
- **Alert System**: Create, manage, and respond to network alerts and alert rules
- **Network Monitoring**: Access device statistics, routing tables, and switching information
- **Inventory Management**: Track device components, locations, and groupings
- **Service Monitoring**: Monitor network services and applications
- **AI Integration**: Marked as `usableAsTool: true` for AI agent compatibility

## Installation

```bash
npm install n8n-nodes-librenms
```

## Configuration

1. Go to **Credentials** in n8n
2. Select **LibreNMS API** credential type
3. Configure your LibreNMS connection:
   - **URL**: Your LibreNMS instance URL (e.g., https://librenms.example.com)
   - **API Token**: Generate an API token in LibreNMS settings
   - **Allow Unauthorized Certs**: Enable if using self-signed certificates

## Usage

1. Add the **LibreNMS** node to your workflow
2. Select your LibreNMS API credential
3. Choose the resource and operation you want to perform
4. Configure the parameters as needed

## Resources and Operations

### System
- Get system information and statistics
- Retrieve LibreNMS version and configuration

### Devices
- List, get, add, update, and delete devices
- Retrieve device statistics and health information
- Manage device maintenance and availability

### Alerts
- List and manage active alerts
- Get alert history and acknowledgments
- Configure alert settings

### Alert Rules
- Create and manage alert rules
- Configure alert conditions and notifications
- Manage rule groups and templates

### Ports
- Monitor port statistics and status
- Get port information and graphs
- Manage port settings

### Services
- Monitor service availability
- Get service status and history
- Manage service checks

### Routing
- Access routing tables and protocols
- Monitor BGP, OSPF, and other routing information
- Get route statistics

### Bills
- Monitor bandwidth billing
- Get billing history and quotas
- Manage billing rules

### Switching
- Access switching tables and VLANs
- Monitor STP and switching protocols
- Get MAC address tables

### Logs
- Access system and event logs
- Filter and search log entries
- Monitor log patterns

### ARP
- Access ARP tables
- Monitor IP-MAC mappings
- Get ARP statistics

### Device Groups
- Manage device groupings
- Organize devices by function or location
- Get group statistics

### Inventory
- Track device components and modules
- Monitor hardware inventory
- Get component details

### Locations
- Manage device locations
- Organize network topology
- Get location-based statistics

### Poller Groups
- Manage polling groups
- Configure polling schedules
- Monitor polling performance

### Port Groups
- Group ports for management
- Configure port policies
- Monitor group statistics

## Use Cases

- **Network Operations Center**: Monitor network health and performance
- **Incident Response**: Automate alert handling and escalation
- **Device Provisioning**: Automate device onboarding and configuration
- **Capacity Planning**: Collect usage statistics and trends
- **Compliance Reporting**: Generate network status and availability reports
- **Troubleshooting**: Automated network diagnostics and issue detection

## LibreNMS Compatibility

This node is compatible with LibreNMS v1.70+ and supports the standard LibreNMS API v0 endpoints. Features include:

- Full REST API support
- Device auto-discovery integration
- SNMP polling data access
- Alert and notification management
- Graph and metrics data retrieval

## License

MIT

## Support

This is a community-maintained node. For issues and questions, please use the GitHub issues.