| Item | Minimum | Suggested for 300 devices |
|---|---|---|
| Operating system | Ubuntu 22.04 or 24.04, or Debian 12 (server or VM, 64-bit) | |
| CPU / RAM | 2 cores, 4 GB | 4 cores, 8 GB |
| Disk | 20 GB free | 60 GB free |
| Network | SSH (22) or Telnet (23) to your devices; SNMP (161) for the Wall; HTTPS (443) from your PCs | |
The server needs internet only for the install, updates and a daily license check. Offline servers are supported (see License).
On the server, as a user with sudo:
sudo ./install.sh # from the NocLens bundle we send you
The installer checks the server, installs Docker if needed, places NocLens in /opt/noclens, starts it and prints:
https://10.0.0.20/Running the installer again is safe; it never touches your data or settings.
Open the address in a browser. The setup page asks for the setup code and creates the first administrator (password of 12 characters or more). Lost the code? Run sudo noclensctl setup-code.
NocLens encrypts every connection from the first start, using its own certificate authority. Browsers warn until they trust it. Pick one:
sudo noclensctl ca-cert, copy the file to your PCs and import it under Trusted Root Certification Authorities (or push it with Group Policy).cert.pem and key.pem in /opt/noclens/data/certs/, set NOCLENS_TLS=/certs/cert.pem /certs/key.pem in /opt/noclens/.env and run sudo noclensctl restart.Without a license NocLens runs the Free plan: Audit module, 25 devices. To activate a paid plan open System in the left menu, paste the key from your purchase email and press Activate. The license renews itself each month while your subscription is active.
If a payment fails you keep full access for 14 days. After that the server runs as the Free plan until the license is renewed. Nothing is deleted.
10.10.0.0/24. One request can cover up to 4,096 addresses./opt/noclens/secrets/credentials.key.Open /wall/ on your NocLens address (phone view: /wall/m). For a TV that should stay signed in, create a wall-screen link on the System page; it opens the wall only.
Site names and internet probe targets live in /opt/noclens/data/wall/site.json:
{
"site_name": "Head Office · Network Operations",
"site_short": "HQ",
"isp_name": "Your ISP",
"audit_client": "head-office",
"anchors": [
{"ip": "203.0.113.1", "label": "ISP gateway", "role": "gateway"},
{"ip": "203.0.113.53", "label": "ISP DNS", "role": "isp"},
{"ip": "1.1.1.1", "label": "Internet", "role": "internet"}
]
}
audit_client is the network name from the Audit module; its discovered switches are monitored automatically. For traffic charts, export NetFlow v5 from your firewall to the NocLens server on UDP 2055. For phone alerts, install the free ntfy app, pick a long random topic, and set NTFY_TOPIC in .env.
The Wall and SOC tiles are fed by the built-in NocLens Collector. Point each device's syslog at the NocLens server, UDP or TCP port 514. Replace 10.0.0.20 with your NocLens server address.
| Device | Commands |
|---|---|
| Cisco IOS / IOS-XE | logging host 10.0.0.20 · logging trap informational · logging origin-id hostname |
| Cisco NX-OS | logging server 10.0.0.20 6 use-vrf management |
| Cisco ASA | logging enable · logging host inside 10.0.0.20 · logging trap informational |
| Cisco WLC (AireOS) | config logging syslog host 10.0.0.20 |
| Sophos Firewall | System services › Log settings › Add syslog server (port 514, format Standard), then tick Firewall, IPS, ATP, Anti-Virus, Admin and Authentication events. |
| FortiGate | config log syslogd setting · set status enable · set server 10.0.0.20 · end |
| Palo Alto | Device › Server Profiles › Syslog (BSD format), then forward Traffic, Threat, System and Config logs to it. |
| Huawei VRP | info-center enable · info-center loghost 10.0.0.20 |
| Juniper Junos | set system syslog host 10.0.0.20 any info · commit |
| MikroTik | /system logging action add name=noclens target=remote remote=10.0.0.20 · /system logging add topics=info action=noclens (repeat for error, warning, critical) |
| Aruba AOS-CX | logging 10.0.0.20 |
| Anything else | Any syslog, CEF or LEEF sender works. Unknown formats are classified by keywords. |
Each tile shows BLIND until a device that can report it is sending logs, so silence is never mistaken for "all clear". Events are kept for 7 days (NOCLENS_RETAIN_DAYS). Routine allowed traffic is counted but not stored, except to ports that signal trouble (445, 139, 25).
Health tiles (CPU, temperature, fans, power) use SNMP v2c with the community from the Audit module. NocLens recognises the maker from the device's own ID and reads its tables; unknown makers use the standard HOST-RESOURCES and ENTITY-SENSOR MIBs.
Already running Wazuh? The wall can read it instead of the built-in collector. Load the NocLens rules and decoders into your Wazuh manager, then connect the wall to the Wazuh indexer:
sudo cp /opt/noclens/soc-pack/rules/noclens_rules.xml /var/ossec/etc/rules/
sudo cp /opt/noclens/soc-pack/decoders/noclens_decoders.xml /var/ossec/etc/decoders/
sudo /var/ossec/bin/wazuh-analysisd -t && sudo systemctl restart wazuh-manager
The pack uses rule IDs 100200–110199. If your own custom rules use the same IDs, change them first; wazuh-analysisd -t reports any clash before the restart.
Copy root-ca.pem, admin.pem and admin-key.pem from your Wazuh install into /opt/noclens/data/soc-certs/, set NOCLENS_INDEXER_URL=https://<wazuh-ip>:9200 in .env and run sudo noclensctl restart.
NocLens backs up all its data every night at 02:30 to /var/backups/noclens and keeps 14 copies. To keep a second copy on a NAS, mount it and set NOCLENS_BACKUP_COPY_DIR in .env. Manual backup: sudo noclensctl backup. Restore: sudo noclensctl restore <file>.
Device passwords inside a backup are encrypted, and the key (/opt/noclens/secrets/credentials.key) is deliberately not in the backup. Keep a copy of that one small file somewhere safe and apart from the backups. Restoring on a new server: install, restore the backup, copy the key file back and run sudo noclensctl restart. Without the key, audits and reports are all there and you enter the device passwords again.
NocLens records each device's SSH key the first time it connects and refuses a device that later shows another one (no password is sent). If you really replaced or re-keyed the device, check the new key on its console, then run sudo noclensctl forget-hostkey <ip>; the next audit records the new key.
sudo noclensctl update --check
sudo noclensctl update
An update takes a backup first, installs the new version and checks that NocLens answers. If it does not, the previous version is put back automatically.
| Role | Can |
|---|---|
| viewer | See networks, findings, reports and the wall |
| engineer | Also scan, audit, verify, back up configs |
| admin | Also apply fixes, manage credentials, licenses and users |
sudo noclensctl add-user ali engineer
sudo noclensctl reset-password ali
sudo noclensctl list-users
Changing a password signs that user out everywhere.
noclensctl status health, containers, disk, last backup
noclensctl logs [audit|wall|proxy]
noclensctl start | stop | restart
noclensctl backup | restore FILE
noclensctl update [--check]
noclensctl setup-code
noclensctl add-user NAME ROLE | reset-password NAME | list-users
noclensctl ca-cert
noclensctl support-bundle logs for support, with IP addresses and secrets removed