Skip to main content

Overview

NMIS provides a comprehensive command-line interface (CLI) for system administration, node management, and operational tasks. The primary CLI tool is nmis-cli, which offers a wide range of commands for managing NMIS operations.

nmis-cli Tool

Location: /usr/local/nmis9/bin/nmis-cli

Common Options

All commands support the following global options:
  • debug=<level> - Set debugging verbosity (0-9, or info/warn/error/fatal)
  • quiet=true|false - Suppress unnecessary output
  • verbose=true|false - Enable verbose output

Configuration Management

Backup Configuration

/usr/local/nmis9/bin/nmis-cli act=config-backup
Creates a timestamped backup of the NMIS configuration in /usr/local/nmis9/conf/config-backups/.

Fix File Permissions

/usr/local/nmis9/bin/nmis-cli act=fixperms
Ensures all NMIS files have correct ownership and permissions based on configuration.
The fixperms operation requires root privileges to change file ownership.

Database Operations

Ensure Indexes

/usr/local/nmis9/bin/nmis-cli act=ensure-indexes
Creates or updates database indexes for optimal performance.
/usr/local/nmis9/bin/nmis-cli act=ensure-indexes drop_unwanted=true
Removes obsolete indexes that are no longer needed.

Database Cleanup

/usr/local/nmis9/bin/nmis-cli act=dbcleanup simulate=true info=true
Simulates database cleanup and shows what would be removed.
/usr/local/nmis9/bin/nmis-cli act=dbcleanup
Performs actual database cleanup, removing old or obsolete records.

Node Operations

Node Refresh

/usr/local/nmis9/bin/nmis-cli act=noderefresh
Refreshes all node configurations and validates data structures.

Inventory Refresh

/usr/local/nmis9/bin/nmis-cli act=inventoryrefresh
Refreshes inventory data for all nodes.

Job Scheduling

Schedule a Job

/usr/local/nmis9/bin/nmis-cli act=schedule job.type=collect job.node=router1 at="now + 5 minutes"
Schedules a collection job for a specific node.
/usr/local/nmis9/bin/nmis-cli act=schedule job.type=update job.group=core priority=0.8
Schedules an update for all nodes in a group with high priority.

List Scheduled Jobs

/usr/local/nmis9/bin/nmis-cli act=list-schedules
Displays all active and queued jobs.
/usr/local/nmis9/bin/nmis-cli act=list-schedules verbose=true only=active
Shows detailed information about active jobs only.

Delete Scheduled Job

/usr/local/nmis9/bin/nmis-cli act=delete-schedule id=<schedule_id>
Removes a scheduled job from the queue.
Use act=abort instead of delete-schedule to also terminate any running worker process.

Daemon Management

Check Daemon Status

/usr/local/nmis9/bin/nmis-cli act=daemon-status
or
/usr/local/nmis9/bin/nmis-cli act=status
Displays the status of all NMIS daemons (scheduler, worker, fping).

Outage Management

List Outages

/usr/local/nmis9/bin/nmis-cli act=list-outages
Displays all configured outages.

Create Outage

/usr/local/nmis9/bin/nmis-cli act=create-outage \
  outage.description='Maintenance Window' \
  outage.frequency=once \
  outage.start='2024-01-15T22:00:00+0000' \
  outage.end='2024-01-16T02:00:00+0000' \
  outage.selector.node.group.0='production'
Creates a scheduled outage for production nodes.

Check Outages

/usr/local/nmis9/bin/nmis-cli act=check-outages node=router1
Checks which outages apply to a specific node at the current time.

Data Maintenance

Purge Old Files

/usr/local/nmis9/bin/nmis-cli act=purge simulate=true info=true
Simulates purging old files and shows what would be removed.
/usr/local/nmis9/bin/nmis-cli act=purge
Actually removes old files based on retention policies.

Remove Duplicate Events

/usr/local/nmis9/bin/nmis-cli act=remove-duplicate-events dryrun=true
Identifies duplicate events without removing them.
/usr/local/nmis9/bin/nmis-cli act=remove-duplicate-events
Removes duplicate events from the database.

User Session Management

Clean User Sessions

/usr/local/nmis9/bin/nmis-cli act=clean-sessions user=admin
Removes all active sessions for a specific user.

Get Active Sessions

/usr/local/nmis9/bin/nmis-cli act=get-sessions
Displays all active user sessions.

Unlock User Account

/usr/local/nmis9/bin/nmis-cli act=unlock-user user=admin
Unlocks a user account that has been locked due to failed login attempts.

Performance Data Collection

Collect Performance Data

/usr/local/nmis9/bin/nmis-cli act=collect-performance-data
Collects system performance metrics for NMIS server monitoring.

Collect Top Data

/usr/local/nmis9/bin/nmis-cli act=collect-top-data
Collects CPU and memory usage statistics from the top command.

Report Generation

/usr/local/nmis9/bin/nmis-cli act=run-reports period=week type=all
Generates all weekly reports.
/usr/local/nmis9/bin/nmis-cli act=run-reports period=month type=health
Generates monthly health reports. Available report types:
  • all - All report types
  • times - Time-based reports
  • health - Health status reports
  • top10 - Top 10 statistics
  • outage - Outage reports
  • response - Response time reports
  • avail - Availability reports
  • port - Port usage reports

Event Notification

/usr/local/nmis9/bin/nmis-cli act=notify event=nodeDown node=router1 level=Critical
Manually triggers a notification for a specific event.

Get Temporary Directory

/usr/local/nmis9/bin/nmis-cli act=gettmp
Returns the path to the NMIS temporary directory.

Additional Help

For detailed help on specific operations:
/usr/local/nmis9/bin/nmis-cli act=schedule-help
/usr/local/nmis9/bin/nmis-cli act=outage-help
For version information:
/usr/local/nmis9/bin/nmis-cli --version

Build docs developers (and LLMs) love