openITCOCKPIT CE
Overview
openITCOCKPIT is an open source monitoring platform built around the Naemon monitoring core. It uses Statusengine for check result processing and a modern CakePHP and Angular web interface for hosts, services, dashboards, maps, graphs and notifications. openITCOCKPIT Community Edition is licensed under the GNU General Public License version 3.
This SecureAnyCloud image runs openITCOCKPIT Community Edition 5.6.1 on Ubuntu 24.04 on Azure, installed from the official openITCOCKPIT apt repository. The full native stack runs as systemd services: nginx on ports 80 and 443, PHP 8.3 FPM, MySQL 8.0, Redis, the Gearman job server, the Naemon monitoring engine, the mod-gearman check runner and the Statusengine worker. The openITCOCKPIT graphing subsystem (Grafana, Graphite and VictoriaMetrics) and the reporting node run under Docker on the same host.
At first boot, openitcockpit-ce-firstboot.service generates a unique admin password, MySQL password, websocket API key, mod-gearman secret, CakePHP security salt and Grafana password for each instance. It writes the admin and database credentials to /root/openitcockpit-ce-credentials.txt (mode 0600, root only). The image contains no default or shared login.
What you get:
- openITCOCKPIT Community Edition 5.6.1 installed from the official apt repository, with the Naemon monitoring core, mod-gearman check runner and Statusengine worker
- A working default configuration: the server monitors itself (host
default hostat 127.0.0.1) with four services (Ping, disk usage, system load and Statusengine performance), so you can watch real monitoring as soon as the instance is up - The full CakePHP and Angular web UI on nginx (port 80 redirecting to 443 with a self-signed certificate) for hosts, services, dashboards, maps, graphs, users and configuration
- The
openitcockpit-ce-firstboot.servicesystemd oneshot that rotates every secret per instance, resolves the instance address and writes/root/openitcockpit-ce-credentials.txt - The graphing subsystem (Grafana, Graphite, VictoriaMetrics) and the Puppeteer report node, bound to loopback and reached only through the authenticated nginx proxy
- MySQL root secured with
auth_socket(no password shipped) and every monitoring engine socket bound to loopback - An Ubuntu 24.04 LTS base, patched at build time, and an 8 GB swap file provisioned at first boot
- The Azure Linux Agent for Azure integration and SSH key injection
- 24/7 SecureAnyCloud support with a guaranteed 24 hour response SLA
Prerequisites
You need:
- An active Azure subscription, an SSH public key, and a VNet with a subnet in the target region
- A subscription to the openITCOCKPIT Community Edition on Ubuntu 24.04 listing on Azure Marketplace
- A network security group that allows inbound TCP 22 (SSH), 80 and 443 (web UI) from your administrative network
Recommended virtual machine size: Standard_D2s_v3 (2 vCPU, 8 GB RAM) or larger. openITCOCKPIT is a multi-service platform (monitoring core, database, web stack and graphing containers), so it needs more memory than a single application. The image runs comfortably on 8 GB, and an 8 GB swap file is added automatically at first boot. Increase the size as you add hosts and services to monitor.
Deploy from the Azure Portal
- Open the openITCOCKPIT Community Edition on Ubuntu 24.04 listing, then select Get It Now and Create.
- Choose your subscription, resource group and region.
- Set the VM size to
Standard_D2s_v3or larger, provide your SSH public key for theazureuseraccount, and allow inbound ports 22, 80 and 443. - Review and create the VM. The instance is ready when first boot completes, typically after two to three minutes.
Deploy from the Azure CLI
# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:openitcockpit-ce:default:latest
az vm create \
--resource-group my-monitoring-rg \
--name openitcockpit-ce \
--image sac1647283583153:openitcockpit-ce:default:latest \
--size Standard_D2s_v3 \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-sku StandardOpen the web UI and SSH ports to your administrative network:
az vm open-port --resource-group my-monitoring-rg --name openitcockpit-ce --port 443 --priority 100
az vm open-port --resource-group my-monitoring-rg --name openitcockpit-ce --port 80 --priority 110Connect via SSH
ssh azureuser@<vm-public-ip>Verify the openITCOCKPIT services
Confirm that the core services are running. The Naemon engine, the mod-gearman check runner and the Statusengine worker execute your monitoring checks and record the results.
sudo systemctl is-active nginx php8.3-fpm mysql redis-server naemon statusengine mod-gearman-workerExpected output:
active active active active active active activeThe perfdata graphing subsystem and the report node run as Docker containers on the same host. List them with sudo docker ps.
Retrieve the per-instance credentials
First boot generates a unique admin login and database password for this instance and writes them to a root-only file. The admin username is an email address, and the password is unique to this VM.
sudo cat /root/openitcockpit-ce-credentials.txtThe file lists the web UI URL, the admin user admin@sac.local and its per-instance password, the MySQL user and password, and the Grafana admin password. Store the file securely, and change the admin password in the web UI after your first login.
Inspect the network exposure
Only nginx is exposed to the network, on ports 80 and 443. MySQL uses auth_socket for the root account, so no root database password ships in the image. The monitoring engine, Redis and the graphing containers are all bound to loopback.
sudo ss -tlnp | grep -E ':80 |:443 '
sudo mysql --defaults-extra-file=/etc/mysql/debian.cnf -N -e "SELECT user, host, plugin FROM mysql.user WHERE user IN ('root','openitcockpit')"Expected output:
LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",...)) LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",...)) openitcockpit localhost caching_sha2_password root localhost auth_socketConfirm live monitoring
openITCOCKPIT monitors itself out of the box. Confirm that the Naemon engine is running checks and that Statusengine has recorded their results. Every service state should be 0 (OK).
sudo mysql --defaults-extra-file=/opt/openitc/etc/mysql/mysql.cnf \
-e "SELECT current_state, LEFT(output,50) AS output FROM statusengine_servicestatus"Expected output:
+---------------+----------------------------------------------------+ | current_state | output | +---------------+----------------------------------------------------+ | 0 | PING OK - Packet loss = 0%, RTA = 0.02 ms | | 0 | DISK OK - free space: / 5780MiB (20.2% inode=94%): | | 0 | LOAD OK - total load average: 0.23, 0.16, 0.24 | | 0 | Statusengine statistics | +---------------+----------------------------------------------------+Open the web UI and log in
In a browser, open https://<vm-public-ip>/. The image uses a self-signed certificate, so accept the browser warning or install your own certificate on nginx. Log in with the admin user admin@sac.local and the password from /root/openitcockpit-ce-credentials.txt.
Explore the dashboard
After you log in, the dashboard opens. The Welcome widget confirms that one host and four services are monitored on openITCOCKPIT 5.6.1. The Hosts and Services pie charts show everything in the green OK state.
View monitored hosts
Open Hosts in the Monitoring section of the navigation. The list shows every monitored host with its current state, last check time and check output. The default host monitors the openITCOCKPIT server itself at 127.0.0.1.
View monitored services
Open Services to see every monitored service and its live state. The four self-monitoring services (Ping, disk usage, Linux load and Statusengine performance) are all OK. Each shows its check output, last check time and next scheduled check.
Add a host to monitor
To start monitoring your own infrastructure, use the web UI:
- Go to Hosts and select Add host, or launch the Wizard from the navigation for a guided setup.
- Enter the host name and the IP address or DNS name, choose a host template (for example a generic host with a Ping check), and assign the host to a container.
- Save the host, then add services to it from the service templates (HTTP, SSH, disk, load and many more from the bundled monitoring plugins).
- openITCOCKPIT writes the Naemon configuration and applies the changes. The new host and its services begin reporting within a couple of check intervals.
For agent-based monitoring of Linux and Windows servers, install the openITCOCKPIT monitoring agent on the target and register it from the Agent configuration.
Manage the services
sudo systemctl restart nginx
sudo systemctl status naemon --no-pager sudo docker psNaemon, Statusengine and mod-gearman form the monitoring pipeline. nginx and php8.3-fpm serve the UI, and MySQL holds the configuration and monitoring data. openitcockpit-graphing.service manages the graphing containers.
Security recommendations
- Change the admin password. Do it from Profile after your first login, and create individual named user accounts instead of sharing the admin login.
- Restrict the network security group. Allow ports 80 and 443 only from your administrative network or a VPN, and SSH only from trusted addresses.
- Install a trusted TLS certificate. Replace the self-signed certificate on nginx, and consider redirecting all traffic to HTTPS.
- Keep the system patched. Unattended security upgrades remain enabled on the image.
- Protect the credentials file. The per-instance secrets in
/root/openitcockpit-ce-credentials.txtare readable only by root. Treat the file as sensitive.
Support and Licensing
openITCOCKPIT Community Edition is licensed under the GNU General Public License version 3 and is a complete, functional monitoring platform. The optional Enterprise Edition adds ITSM integrations and distributed, highly available monitoring for large-scale deployments. The Community Edition does not require it. This image ships the Community Edition only.
Deploy on Azure
Find the openITCOCKPIT Community Edition on Ubuntu 24.04 listing on Azure Marketplace and select Get It Now.
Need Help?
SecureAnyCloud provides 24/7 support with a guaranteed 24 hour response SLA. Contact sales@secureanycloud.com for deployment assistance, configuration guidance or licensing questions.
Deploy on Azure
Launch openITCOCKPIT Community Edition on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.
View this image
Need Help?
Our support team is available 24/7.
sales@secureanycloud.com