Setup, configuration, and administration guide for AlertWatch.
AlertWatch is a single binary. No installer, no runtime dependencies.
AlertWatch listens on port 8081 by default. Open http://localhost:8081 in your browser.
Open http://localhost:8081. To run as a Windows service see the service installation guide.
On first run, AlertWatch detects there are no users and shows the setup wizard. Create your admin account — this becomes the master admin that can manage all other users and configuration.
alertwatch.yaml to reset it.
After login, go to Settings → Connection and enter your OpenSearch host, port, credentials, and index prefix. AlertWatch connects read-only — it never writes to your OpenSearch indices.
AlertWatch stores all configuration in alertwatch.yaml in the same directory as the binary. Most settings are managed through the UI — edit the file directly only for advanced options.
server.port — port AlertWatch listens on (default: 8081)server.secret_key — used to sign session tokens; must be changed before production useserver.session_timeout_hours — idle session timeout for desktop users (default: 8)server.session_timeout_mobile_hours — idle timeout for mobile sessions (default: 2)acks.retention_days — how long alert acknowledgements are kept (default: 90, set to 0 for forever)Before exposing AlertWatch to a network, complete these steps.
The secret_key in alertwatch.yaml signs all session tokens. AlertWatch will refuse to start if it is left as the default value. Generate a random key:
Paste the output as the value of server.secret_key in alertwatch.yaml.
The config file contains credentials. On Linux / macOS:
Never run AlertWatch as root. Create a dedicated system user:
AlertWatch does not terminate TLS itself. Place it behind nginx or Caddy for HTTPS in production:
AlertWatch only needs inbound access on its port from analyst workstations. It makes outbound connections to OpenSearch (port 9200) and the Wazuh API (port 55000) — both read-only.
AlertWatch maintains its own user database in alertwatch.yaml. Users are managed through Settings → Users (admin only).
Go to Settings → Users → Add User. Set a username, temporary password, and role. The user can change their password after first login via Settings → Change Password.
AlertWatch does not enforce a minimum password complexity policy — enforce this through your onboarding process. Passwords are stored as PBKDF2-SHA256 hashes and are never stored in plaintext.
AlertWatch supports LDAP authentication against Active Directory, OpenLDAP, or any compatible directory. Local users and LDAP users can coexist — LDAP is tried first, then local.
Add the following section to alertwatch.yaml:
bind_dn) to search for the useradmin_group, they get the admin role; otherwise viewersAMAccountName as the user filter attribute (shown above)use_tls: true — ensure the DC certificate is trusted by the AlertWatch hostAlertWatch reads alertwatch.yaml on startup. After editing the LDAP section, restart the service for changes to take effect.
AlertWatch includes a mobile-optimised triage view for iOS and Android. Access is controlled at two independent levels — your license, and per-user.
alertwatch.yaml (or set via Settings → Users, admin only) — the same as any other per-user permission stored there.Go to Settings → Users and enable the Mobile toggle for users who should have mobile access. Users without mobile access will see a restricted view on small screens.
alertwatch.yaml, anyone with write access to that file could edit it directly instead of going through Settings — the same is true of every other permission in that file, including admin role assignment. This isn't a mobile-specific gap; it's why Security Hardening step 2 (restrict the config file to chmod 600, owned by a dedicated non-root account) matters. If an attacker already has write access to your config file, they have effective admin control of AlertWatch regardless of any individual toggle.
Mobile sessions have a shorter idle timeout than desktop sessions (default: 2 hours) to reduce exposure if a phone is left unattended. Configure in alertwatch.yaml:
iOS 15+ (Safari) and Android 10+ (Chrome) are supported. The full dashboard is accessible on tablet; phone shows a simplified alert triage view.
A tenant is a connection to one OpenSearch/Wazuh deployment. AlertWatch supports multiple tenants — useful for organisations managing multiple environments (e.g. production, staging, or separate customer sites).
Go to Settings → Connection and add a new tenant entry. Each tenant has its own OpenSearch credentials and index prefix.
The left panel shows a tenant selector at the top. Selecting a tenant switches all dashboard views to that data source. The selection is per-session and not shared between users.
A single tenant can aggregate data from multiple sources — for example Wazuh alerts and Suricata events in the same timeline. Configure using the sources key in alertwatch.yaml:
AlertWatch displays File Integrity Monitoring events from Wazuh. The paths that are monitored are configured in the Wazuh agent — AlertWatch reads and displays those events but does not control which paths are watched.
Edit /var/ossec/etc/ossec.conf on each Wazuh agent and add directories to the <syscheck> section:
The FIM tab can highlight file changes that occurred within a configurable recent window. Set the default window in alertwatch.yaml:
Analysts can also change this interactively in the FIM tab using the Highlight buttons (1h / 6h / 24h / 7d / Off).
AlertWatch can send scheduled security reports by email using your SMTP server.
Configure scheduled reports in Settings → Notifications. Reports are delivered as PDF attachments and include the sections you select (alerts, compliance, vulnerability summary, FIM activity).
When something isn't working, AlertWatch captures error information automatically to help support diagnose the problem quickly.
The report includes the AlertWatch version, browser information, and recent error logs. It does not include alert data or credentials.
If you cannot log in, a Contact support link is available at the bottom of the login screen. Email support@alertwatch.tech and include:
On Linux, AlertWatch logs are available via systemd:
On Windows, logs are written to alertwatch.log in the installation folder.
AlertWatch is distributed as a single binary. Updating is a drop-in replacement.
sudo systemctl stop alertwatchsudo systemctl start alertwatchYour alertwatch.yaml, acknowledgements, and user accounts are preserved — they are stored separately from the binary.
sc stop AlertWatchalertwatch.exe with the new versionsc start AlertWatchProfessional and Enterprise customers receive email notification when new versions are available. Community edition users can watch the GitHub repository for releases.