Skip to content

netxms/netxms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NetXMS β€” Enterprise-Grade Monitoring

Build Status License: GPL v2 Design Contributions Welcome

NetXMS is an open-source network and infrastructure monitoring and management solution that provides comprehensive performance and availability monitoring with flexible event processing, alerting, reporting, and graphing for all layers of IT infrastructure. It's a unified solution that can monitor and manage your entire IT infrastructure β€” from network switches to applications β€” all in one place.

πŸš€ Quick Start

πŸ—οΈ Architecture

Architecture

NetXMS follows a distributed architecture with a central management server, monitoring agents, and web/desktop clients. The system supports multiple deployment scenarios from single-server setups to large distributed environments.

✨ Key Features

🌐 Network Monitoring

  • Auto-discovery: Automatically discovers and adds network devices to NetXMS
  • Protocol support: SNMP (all versions), SSH, web services (XML, JSON, plain text)
  • Data collection: Collects information via ARP caches, routing tables, switch forwarding databases, LLDP, CDP, STP
  • Real-time updates: Automatically updates peer information for all registered hosts and devices
  • Advanced search: Provides searches for specific MAC or IP addresses, wireless access points, and wireless clients
  • Network visualization: Easy access to routing tables, MAC tables, VLAN information, IP route visualization, and network maps based on discovered data
  • Event correlation: Topology-based event correlations for intelligent alerting
  • Change detection: Configurable routing change detection
  • Device drivers: Vendor-specific information handling and unified presentation

πŸ–₯️ User Interface

  • Multi-platform clients: Desktop version available for Windows, macOS, and Linux
  • Web interface: Full-featured web-based console
  • Flexible visualization: Graphical network maps and user-configurable dashboards
  • Third-party integration: REST API and Java library enable integration with external tools like Grafana, plus built-in fanout drivers for InfluxDB, ClickHouse

πŸ–₯️ Server and Workstation Monitoring

  • Universal agents: Available for all popular platforms and operating systems
  • Centralized management: Configuration and upgrades, minimal system resources usage
  • Proxy capabilities: Acts as proxy for other agents and SNMP devices
  • Network-friendly: Two connection options with agents outbound or inbound, single TCP port, encrypted communication with local cache for unstable connections
  • Log monitoring: Real-time log file content analysis
  • Comprehensive metrics:
    • Network and I/O performance
    • Process, CPU, and memory consumption
    • Network services monitoring
    • Hardware sensors
    • Application-level metrics
    • Custom metrics support
    • And more...
  • Remote control: Integrated remote desktop, file transfer, and command execution
  • User support tools: Low-footprint helpdesk application with configurable actions, screenshots, and screencasts

🌍 Distributed Monitoring

  • Zone-based architecture: Divides networks into zones with overlapping subnets and proxy agents
  • High availability: Automatic load balancing and failover with multiple proxy agents per zone
  • Autonomous operation: Continues data collection when central management server is unavailable
  • Event forwarding: Receives syslog messages and SNMP traps for forwarding or local storage
  • Remote monitoring: Single TCP port connectivity for server-to-proxy-agent communication

πŸ”§ Built-in Scripting Engine (NXSL)

  • Advanced automation: Enables sophisticated automation and management capabilities
  • Hook scripts: Callable from multiple system locations for custom processing
  • Versatile applications: Data transformation, complex thresholds, event processing, SNMP trap transformation
  • Easy-to-learn: Non-strict typed interpreted language optimized for speed and low memory footprint
  • Secure execution: Each script runs in isolated VM with controlled access
  • High performance: Supports hundreds of simultaneous script executions

πŸ”— Integration Capabilities

  • Java API: Complete Java API for full system control and UI replacement
  • REST API: Access to collected data and NetXMS configuration
  • Modular architecture: Extensible agents and servers via plugins
  • Python scripting: Access to full Java API through Python
  • Helpdesk integration: Built-in integration with helpdesk systems

πŸ” Security Features

  • Flexible authentication: Internal database or external LDAP directory integration
  • Multiple auth methods: Passwords, X.509 certificates, smart cards, RADIUS, or LDAP
  • Two-factor authentication: TOTP or one-time codes via SMS/instant messaging
  • Encrypted communications: All network communications are encrypted
  • Access control: Fine-grained access control configuration
  • Audit logging: Extensive audit logs with optional external system integration

πŸ“Š Data and Event Processing

  • Policy-based processing: Flexible event processing with customizable policies
  • Automated responses: Alarm creation/termination, script execution, command execution
  • Multi-channel notifications: Email, MS Teams, Telegram, Slack, SMS via GSM modem or gateway
  • Escalation support: Configurable problem escalation workflows
  • Threshold management: Flexible threshold system for data collection
  • Template-based configuration: Simplified management of large networks

πŸ’Ό Business Services

  • Business metrics translation: Converts technical metrics to business language
  • SLA monitoring: View vital SLA information at a glance
  • Service status calculation: Based on monitored objects status or metric thresholds
  • Availability reporting: Calculate business service availability for arbitrary time ranges
  • Downtime analysis: Detailed downtime information including start/end times and causes

πŸ“¦ Installation

Note: Full installation documentation is available in our Administration Guide.

Quick Installation (Debian/Ubuntu)

We provide a public APT repository at http://packages.netxms.org/ for all Debian-based distributions. All packages are signed for security.

  1. Add NetXMS repository:

    wget http://packages.netxms.org/netxms-release-latest.deb
    sudo dpkg -i netxms-release-latest.deb
    sudo apt-get update
  2. Install NetXMS components (example for PostgreSQL):

    sudo apt-get install netxms-server netxms-dbdrv-pgsql
  3. Configure database connection in /etc/netxmsd.conf

  4. Initialize database schema:

    nxdbmgr init
  5. Start NetXMS server:

    sudo systemctl start netxmsd
    sudo systemctl enable netxmsd

Other Platforms

Installers for Windows, AIX, Solaris, and other platforms are available on netxms.org.

Docker

# Quick start with Docker Compose
git clone https://github.com/netxms/netxms.git
cd netxms/contrib/docker
docker-compose up -d

πŸ“š Documentation

πŸ†˜ Support

Community Support

Commercial Support

🀝 Contributing

We welcome contributions from the community! NetXMS follows an issue-first approach and values privacy, performance, and modular architecture.

Before contributing, please read our guides:

CONTRIBUTING.md includes:

  • Project vision and core values
  • Development priorities and guidelines
  • Required issue-first workflow
  • Code standards and testing requirements
  • Development setup instructions

DESIGN.md includes:

  • UI/UX design guidelines and resources
  • Core UX Issues Needing Attention
  • Target Audience

Quick links for contributors:

πŸ“„ License

Most parts of NetXMS are licensed under the GNU General Public License, with some exclusions. See COPYING for detailed information.


Website β€’ Download β€’ Documentation β€’ Demo

Made with ❀️ by the NetXMS community