ADMINISTRATOR DOCUMENTATION

Installation & Runtime Guide

Install, license, configure, and operate NetIntel Community Edition on supported Linux systems.

← NetIntel v1.0.0 release page

NetIntel Administrator Installation and Runtime Guide

1. Overview

NetIntel is an Edge Operational Intelligence Engine for standard Linux systems.

The v1.0 release is intended for Linux servers and normal Linux workstations. The currently validated target is x86_64 Linux.

NetIntel collects system telemetry, evaluates operational health, provides diagnostics and recommendations, and can deliver notifications to an administrator-controlled webhook endpoint.

Network information may be collected as telemetry, but network diagnostics and Wi-Fi diagnostics are not part of the v1.0 product scope.


2. Installation

Install the NetIntel package using the package manager appropriate for your Linux distribution.

The package installs:

/usr/bin/netintel
/etc/netintel/netintel.conf
/etc/netintel/license/
/usr/libexec/netintel/install-netintel-license
/usr/lib/systemd/system/netintel.service
/usr/share/doc/netintel/

The Community license is supplied separately from the application package.

NetIntel v1.0 includes a license installation helper:

/usr/libexec/netintel/install-netintel-license

The helper requests a Community Edition license from the production GNSOFTLAB License Portal, downloads the signed license artifact over HTTPS, verifies its SHA-256 checksum, and installs it into the NetIntel license directory.

The production License Portal is:

https://license.gnsoftlab.com

After installing the NetIntel package, run:

sudo /usr/libexec/netintel/install-netintel-license

The installer requests:

The issued Community license is installed at:

/etc/netintel/license/license.bin

The application package does not contain license.bin. The license is issued separately for the administrator and installed using the license installation helper.

NetIntel v1.0 is distributed as Debian (.deb) and RPM (.rpm) packages.


3. License

NetIntel Community Edition requires a valid signed Community license to operate.

3.1 Install the Community License

After installing the NetIntel package, run:

sudo /usr/libexec/netintel/install-netintel-license

The installer communicates with the production License Portal:

https://license.gnsoftlab.com

The installer requests:

The portal issues the Community license and provides the signed license artifact for download.

The installer:

  1. Requests the Community license.
  2. Receives the license metadata and download authorization.
  3. Downloads the signed license artifact over HTTPS.
  4. Verifies the artifact SHA-256 checksum.
  5. Installs the license as:
/etc/netintel/license/license.bin

The installed license is expected to have:

Owner: root:netintel
Mode: 0640

The installer does not require or expose the portal download token as a command-line argument.

3.2 Start NetIntel After License Installation

After the license has been installed:

sudo systemctl restart netintel

Verify that the service is running:

systemctl is-active netintel

Expected result:

active

For additional information:

systemctl status netintel

and:

sudo journalctl -u netintel -n 50 --no-pager

3.3 License Location

NetIntel loads its license from:

/etc/netintel/license/license.bin

The license is a separate runtime artifact and is intentionally not included in the Debian or RPM application package.

Do not copy development or production signing private keys to the NetIntel host. NetIntel requires only the signed license artifact.


4. Configuration

The primary configuration file is:

/etc/netintel/netintel.conf

The packaged configuration is a production-safe template. Administrators may modify it for their environment.

NetIntel can also start using built-in defaults when the configuration file is absent.

Common settings include:

[product]
site=
organization=

[runtime]
assessment_interval=5
startup_delay=10

Logging

NetIntel supports configurable runtime logging levels. The packaged configuration defaults to INFO.

Configure the logging level in /etc/netintel/netintel.conf:

[logging]
level=info

Supported levels:

For troubleshooting, change the setting to:

[logging]
level=debug

Restart NetIntel to apply the configuration:

sudo systemctl restart netintel

After troubleshooting, restore level=info and restart the service.

Webhook notifications are configured under:

[notifications.webhook]
enabled=true
scheme=http
host=127.0.0.1
port=8081
path=/webhook

For a production HTTPS endpoint:

[notifications.webhook]
enabled=true
scheme=https
host=<YOUR_SERVER>
port=443
path=/api/netintel/notification
token=<YOUR_TOKEN>

The token setting is optional. When supplied, NetIntel sends it as a Bearer token.


5. Webhook Notifications

NetIntel sends webhook notifications using HTTP POST with:

Content-Type: application/json

A notification payload contains the notification details together with the identity of the device that generated the notification:

{
  "severity": "Info",
  "title": "...",
  "summary": "...",
  "device": {
    "hostname": "...",
    "ip": "...",
    "mac": "..."
  },
  "evidence": [
    "..."
  ]
}

The device object contains:

Device identity is included in new/advisory, unchanged, and recovery notifications.

If an IP address or MAC address cannot be determined, notification delivery is not blocked; the corresponding field may be empty.

Supported severity values are:

Info
Advisory
Action
Immediate

The webhook endpoint is controlled by the customer. NetIntel does not require a GNSOFTLAB or NetAxis-hosted endpoint.

For production deployments, use an appropriate HTTPS endpoint and authentication controls.


6. Webhook Example

A small dependency-free Python receiver is included with the package for testing and integration experiments:

/usr/share/doc/netintel/examples/webhook_receiver.py

Run it with:

python3 /usr/share/doc/netintel/examples/webhook_receiver.py

It listens on:

http://127.0.0.1:8081/webhook

The example displays the received authorization header and JSON payload and returns HTTP 200 for valid JSON.

It is an example and testing utility, not a NetIntel runtime dependency.


7. Runtime Operation

NetIntel is managed as a foreground systemd service on supported Linux systems.

The installed service unit is:

/usr/lib/systemd/system/netintel.service

The service runs using the dedicated system account:

User: netintel
Group: netintel

NetIntel is started by systemd with:

/usr/bin/netintel --config /etc/netintel/netintel.conf

7.1 Check Service Status

To check the current service state:

systemctl status netintel

A healthy running service reports:

Active: active (running)

For a concise state check:

systemctl is-active netintel

7.2 Start and Stop NetIntel

Start the service manually:

sudo systemctl start netintel

Stop the service:

sudo systemctl stop netintel

Restart the service after an operational change:

sudo systemctl restart netintel

NetIntel runs in the foreground under systemd. No PID file or application-level daemonization is required.

7.3 Start NetIntel Automatically at Boot

To enable NetIntel at system boot:

sudo systemctl enable netintel

Verify:

systemctl is-enabled netintel

When enabled, NetIntel is associated with the normal multi-user.target boot sequence.

To disable automatic startup at boot:

sudo systemctl disable netintel

Disabling boot startup does not stop a currently running service. The service can still be started and stopped manually.

7.4 Restart and Failure Behavior

NetIntel uses the following systemd restart policy:

Restart=on-failure
RestartPreventExitStatus=1

Unexpected process failures may therefore be restarted automatically.

A NetIntel startup failure with exit status 1, such as failure to load the mandatory license, is not automatically restarted.

A normal administrator stop exits successfully and remains stopped.

7.5 Service Logs

NetIntel writes service output to the system journal.

View recent service messages:

sudo journalctl -u netintel -n 50 --no-pager

Follow the service log in real time:

sudo journalctl -u netintel -f

For startup or failure investigation, combine the service state with its journal:

systemctl status netintel
sudo journalctl -u netintel

7.6 Configuration Changes

NetIntel reads its configuration during startup.

The configuration file is:

/etc/netintel/netintel.conf

Runtime configuration reload is not supported. After modifying the configuration, restart the service:

sudo systemctl restart netintel

If the configuration file is absent or cannot be read, NetIntel can continue using its built-in default configuration.

The license is a separate mandatory runtime dependency and must be available at:

/etc/netintel/license/license.bin

7.7 Recommended Operator Workflow

For normal administration:

Check status
    ↓
Inspect journal if required
    ↓
Make configuration or license correction
    ↓
Restart/start service
    ↓
Check service status
    ↓
Confirm normal operation

For a service that has failed:

systemctl status netintel
sudo journalctl -u netintel

Correct the underlying problem, then start NetIntel again:

sudo systemctl start netintel

A successful recovery should report:

Active: active (running)

8. Troubleshooting

Configuration file not found or unreadable

NetIntel can operate using its built-in default configuration when the configuration file is absent or cannot be read.

The primary configuration file is:

/etc/netintel/netintel.conf

If administrator-specific configuration is required, verify the file and its permissions:

ls -l /etc/netintel/netintel.conf

After correcting or changing the configuration, restart NetIntel:

sudo systemctl restart netintel

Then verify the service:

systemctl status netintel

License failure

The NetIntel license is a mandatory runtime dependency.

Verify that the license artifact exists at:

/etc/netintel/license/license.bin

Check the license file permissions:

ls -l /etc/netintel/license/license.bin

The expected ownership and mode are:

root:netintel
0640

If the license is missing or needs to be reissued, run the Community license installation helper:

sudo /usr/libexec/netintel/install-netintel-license

The installer requests a Community license from the production License Portal, downloads the signed artifact over HTTPS, verifies its SHA-256 checksum, and installs it at:

/etc/netintel/license/license.bin

After correcting the license, start NetIntel again:

sudo systemctl start netintel

Check the service state:

systemctl is-active netintel

A successful service should report:

active

If the service still fails, inspect the service journal:

sudo journalctl -u netintel -n 50 --no-pager

A license startup failure exits with status 1 and is not automatically restarted by systemd, preventing a restart loop.

Webhook failure

Verify:

Inspect the NetIntel service journal for notification or transport errors:

sudo journalctl -u netintel

For production deployments, also verify that the configured endpoint uses the expected HTTPS and authentication controls.

Service failed or will not start

First inspect the service state:

systemctl status netintel

Then inspect the service journal:

sudo journalctl -u netintel

Look for the NetIntel error that identifies the underlying startup or runtime problem.

Correct the underlying problem and start the service:

sudo systemctl start netintel

Then verify:

systemctl is-active netintel

A successful service should report:

active

9. Security and Data Boundaries

NetIntel is designed to operate using system telemetry available to its runtime.

NetIntel does not require access to customer private signing keys.

Webhook notifications are sent only to the endpoint configured by the administrator.

Credentials such as webhook Bearer tokens must be supplied by the administrator and must not be included in shared configuration templates or distributed development artifacts.


10. Further Documentation

The installed documentation under:

/usr/share/doc/netintel/

provides administrator guidance for environments where online documentation is not available.

REST API Reference · Webhook Notifications · Release v1.0.0