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:
- Organization
- Contact name
- Email address
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:
- Organization
- Contact name
- Email address
The portal issues the Community license and provides the signed license artifact for download.
The installer:
- Requests the Community license.
- Receives the license metadata and download authorization.
- Downloads the signed license artifact over HTTPS.
- Verifies the artifact SHA-256 checksum.
- 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:
debug— detailed diagnostic output for troubleshooting.info— normal operational messages; the default.warn— warnings and more severe messages.error— error messages only.
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:
hostname— the hostname of the NetIntel system.ip— the detected IPv4 address.mac— the detected MAC address.
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:
- webhook host and port
- HTTP/HTTPS scheme
- endpoint path
- authentication token, if required
- network connectivity to the customer-controlled endpoint
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.