Skip to main content

Quick Start Guide

This guide will help you get from a fresh NMIS installation to monitoring your first network device.

Prerequisites

Before starting, ensure:
  • NMIS is installed and daemons are running
  • You have access to the NMIS web interface
  • You have a network device with SNMP enabled
  • You know the device’s IP address and SNMP community string
If you haven’t installed NMIS yet, see the Installation Guide.

Access the Web Interface

1

Open Your Browser

Navigate to your NMIS installation:
http://your-server-ip/nmis9/
Or if using HTTPS:
https://your-server-ip/nmis9/
2

Log In

Use your credentials to log in. Default authentication depends on your installation method:
  • Local authentication: Username/password configured during installation
  • System authentication: Your system user credentials
  • LDAP/Active Directory: If configured
For security, change default passwords immediately in production environments.
3

Verify NMIS is Running

Check that NMIS daemons are active by running from the command line:
/usr/local/nmis9/bin/nmis-cli act=status
You should see output similar to (from /home/daytona/workspace/source/bin/nmis-cli:398-403):
PID             Daemon Role
1234            nmisd.scheduler
1235            nmisd.worker
1236            nmisd.fping

Add Your First Node via CLI

The fastest way to add a device is using the command-line interface.
1

Prepare Node Information

Gather the following information about your device:
  • Name: A descriptive name (e.g., “core-router-01”)
  • IP Address: The management IP address
  • SNMP Community: Usually “public” for read-only access
  • Group: Logical grouping (e.g., “Routers”, “Switches”)
  • Node Type: Device type (e.g., “router”, “switch”)
2

Create Node Using node_admin.pl

Use the node_admin.pl script to create a node. First, let’s look at the create template:
/usr/local/nmis9/admin/node_admin.pl act=mktemplate
This shows you the full structure. For a basic node, create a JSON file:
node.json
{
  "name": "core-router-01",
  "host": "192.168.1.1",
  "group": "Routers",
  "configuration": {
    "active": true,
    "collect": true,
    "ping": true,
    "community": "public",
    "version": "snmpv2c",
    "port": 161,
    "model": "automatic",
    "netType": "wan",
    "nodeType": "router",
    "roleType": "core"
  }
}
The model field set to “automatic” allows NMIS to auto-detect the device type.
3

Import the Node

Create the node from your JSON file:
/usr/local/nmis9/admin/node_admin.pl act=create file=node.json
From /home/daytona/workspace/source/admin/node_admin.pl:290-395, the create action will:
  1. Validate the node configuration
  2. Generate a UUID for the node
  3. Save to the MongoDB database
  4. Set up initial inventory structures
4

Verify Node Was Added

List all nodes to verify:
/usr/local/nmis9/admin/node_admin.pl act=list
For more details about a specific node:
/usr/local/nmis9/admin/node_admin.pl act=show node=core-router-01

Alternative: Quick Node Addition via CLI

You can also use the simpler nmis-cli schedule command to trigger a node collection:
# Schedule immediate collection for a new node
/usr/local/nmis9/bin/nmis-cli act=schedule job.type=collect \
  job.node=core-router-01 \
  at=now
From /home/daytona/workspace/source/bin/nmis-cli:413-505, the schedule action creates jobs that the NMIS workers will process.

Monitoring Your Device

1

Trigger Initial Collection

Force an immediate data collection for your new node:
/usr/local/nmis9/bin/nmis-cli act=schedule \
  job.type=collect \
  job.node=core-router-01 \
  job.force=1
The job.force=1 parameter bypasses normal scheduling and collects immediately.
2

View Node Status

In the web interface:
  1. Navigate to NetworkNode Admin
  2. Find your device in the list
  3. Click on the node name to view details
You should see:
  • Node status (Up/Down)
  • SNMP information
  • System details
  • Interface list
3

Check Collection Results

View what data NMIS collected:
# Show node inventory
/usr/local/nmis9/admin/node_admin.pl act=show \
  node=core-router-01 \
  inventory=true
This displays collected inventory items like interfaces, storage, CPU, etc.

View Graphs and Reports

1

Access Node Graphs

In the web interface:
  1. Click on your node name
  2. Navigate to the Graphs section
  3. Select metrics to view:
    • Interface traffic
    • CPU utilization
    • Memory usage
    • Response time
2

Customize Collection

Adjust what gets collected by modifying the node configuration:
/usr/local/nmis9/admin/node_admin.pl act=set \
  node=core-router-01 \
  entry.configuration.collect=true \
  entry.configuration.ping=true

Common Node Operations

List All Nodes

# Simple list
/usr/local/nmis9/admin/node_admin.pl act=list

# List with groups
/usr/local/nmis9/admin/node_admin.pl act=list wantgroup=true

# List with UUIDs
/usr/local/nmis9/admin/node_admin.pl act=list wantuuid=true

# List specific group
/usr/local/nmis9/admin/node_admin.pl act=list group=Routers

Update Node Configuration

# Change SNMP community
/usr/local/nmis9/admin/node_admin.pl act=set \
  node=core-router-01 \
  entry.configuration.community=newsecret

# Change group
/usr/local/nmis9/admin/node_admin.pl act=set \
  node=core-router-01 \
  entry.configuration.group=Core-Network

# Enable/disable collection
/usr/local/nmis9/admin/node_admin.pl act=set \
  node=core-router-01 \
  entry.configuration.collect=false

Delete a Node

/usr/local/nmis9/admin/node_admin.pl act=delete \
  node=core-router-01 \
  confirm=YES
Node deletion is permanent and requires confirm=YES in uppercase!

Scheduling Collections

From /home/daytona/workspace/source/bin/nmis-cli:141-194, NMIS supports flexible job scheduling:
# Schedule collection for specific time
/usr/local/nmis9/bin/nmis-cli act=schedule \
  job.type=collect \
  job.node=core-router-01 \
  at="2026-03-05 14:30"

# Schedule with priority (0=lowest, 1=highest)
/usr/local/nmis9/bin/nmis-cli act=schedule \
  job.type=collect \
  job.node=core-router-01 \
  job.priority=1

# Schedule update operation
/usr/local/nmis9/bin/nmis-cli act=schedule \
  job.type=update \
  job.node=core-router-01

View Scheduled Jobs

# List all schedules
/usr/local/nmis9/bin/nmis-cli act=list-schedules

# List with details
/usr/local/nmis9/bin/nmis-cli act=list-schedules verbose=true

# List only active jobs
/usr/local/nmis9/bin/nmis-cli act=list-schedules only=active

Troubleshooting

Node Not Collecting Data

1

Verify SNMP Connectivity

Test SNMP access from the NMIS server:
snmpwalk -v2c -c public 192.168.1.1 system
If this fails, check:
  • Device SNMP configuration
  • Firewall rules
  • Community string
2

Check Node Configuration

Verify the node settings:
/usr/local/nmis9/admin/node_admin.pl act=show \
  node=core-router-01
Ensure:
  • active=true
  • collect=true
  • Correct IP address
  • Correct SNMP settings
3

Review Logs

Check NMIS logs for errors:
tail -f /usr/local/nmis9/logs/nmis.log

Node Shows as Down

  1. Verify connectivity: Can you ping the device?
  2. Check SNMP: Is SNMP responding?
  3. Review collection logs: Look for specific error messages
# Force a collection to see errors
/usr/local/nmis9/bin/nmis-cli act=schedule \
  job.type=collect \
  job.node=core-router-01 \
  job.force=1 \
  job.verbosity=9

Next Steps

Add More Devices

Expand your monitoring by adding additional network devices

Configure Thresholds

Set up alerts for performance thresholds and events

Create Groups

Organize devices into logical groups for easier management

Explore Reporting

Generate reports on network performance and availability

Additional Resources

  • Node Configuration Reference: All available node parameters
  • SNMP Configuration Guide: Detailed SNMP setup instructions
  • Model Documentation: Understanding device models
  • CLI Reference: Complete command-line tool documentation

Build docs developers (and LLMs) love