How to Set Up Windows Server 2016 with Zabbix
Zabbix is a powerful open-source enterprise monitoring platform that supports monitoring of servers, virtual machines, applications, databases, cloud services, and network devices. It provides active and passive check modes, auto-discovery, distributed monitoring, sophisticated alerting with escalation policies, and rich visualization through dashboards and graphs. Integrating Windows Server 2016 with Zabbix gives operations teams deep visibility into server performance and availability. This guide covers the installation and configuration of the Zabbix agent on Windows Server 2016 and the configuration of monitoring templates on the Zabbix server.
Zabbix Architecture Overview
Zabbix monitors Windows Server 2016 using the Zabbix Agent, a lightweight service that runs on the monitored host and collects data. The agent operates in two modes. In passive mode, the Zabbix server connects to the agent and requests data. In active mode, the agent connects to the Zabbix server and sends data proactively. Active mode is preferred for large environments as it reduces the load on the Zabbix server and works better through firewalls that block inbound connections to servers.
Zabbix also supports agentless monitoring using SNMP, IPMI, WMI, and external checks, but the Zabbix Agent provides the richest data collection for Windows Server 2016.
Installing the Zabbix Agent on Windows Server 2016
Download the Zabbix Agent installer for Windows from the official Zabbix download page. Match the agent version to your Zabbix server version to ensure compatibility. The agent is available as an MSI installer or as a ZIP archive. The MSI installer is the simplest approach for individual servers.
Run the installer on Windows Server 2016. When prompted, specify the Zabbix server IP address, the host name for this server (as it will appear in Zabbix), and the agent listen port (default 10050). Alternatively, install silently via PowerShell:
msiexec /quiet /i zabbix_agent-6.4.0-windows-amd64-openssl.msi `
SERVER=192.168.1.200 `
SERVERACTIVE=192.168.1.200 `
HOSTNAME=ws2016-prod01 `
LISTENPORT=10050 `
ENABLEREMOTECOMMANDS=1
After installation, verify the Zabbix Agent service is running:
Get-Service -Name "Zabbix Agent" | Select-Object Name, Status, StartType
Configuring the Zabbix Agent
The Zabbix Agent configuration file is located at C:Program FilesZabbix Agentzabbix_agentd.conf. Edit this file to configure all agent parameters. Key settings to review and configure:
# Zabbix Server IP or hostname (for passive checks)
Server=192.168.1.200
# Zabbix Server IP for active checks
ServerActive=192.168.1.200
# Unique hostname for this host in Zabbix
Hostname=ws2016-prod01
# Agent log file location
LogFile=C:zabbix_agentd.log
# Log file size in MB (0 for unlimited)
LogFileSize=10
# Listen port
ListenPort=10050
# Allow remote commands from Zabbix server
EnableRemoteCommands=1
# Log remote commands
LogRemoteCommands=1
# Include additional configuration files
Include=C:Program FilesZabbix Agentzabbix_agentd.d*.conf
Restart the Zabbix Agent after editing the configuration:
Restart-Service -Name "Zabbix Agent"
Configuring Firewall Rules
Allow the Zabbix server to connect to the Zabbix Agent by creating a Windows Firewall rule. Also allow outbound connections if using active mode:
# Allow inbound connections from Zabbix server (passive mode)
New-NetFirewallRule -DisplayName "Zabbix Agent" -Direction Inbound -Protocol TCP -LocalPort 10050 -RemoteAddress 192.168.1.200 -Action Allow
# Allow outbound connections to Zabbix server (active mode)
New-NetFirewallRule -DisplayName "Zabbix Agent Active" -Direction Outbound -Protocol TCP -RemotePort 10051 -RemoteAddress 192.168.1.200 -Action Allow
Adding the Host in Zabbix
Log into the Zabbix web interface and navigate to Configuration > Hosts. Click “Create host” to add the Windows Server 2016 system. Fill in the host name (must match the Hostname in the agent configuration), specify the host groups (for example, “Windows Servers”), and configure the agent interfaces with the server’s IP address and port 10050.
On the Templates tab, link the built-in “Windows by Zabbix agent” template to the host. This template includes pre-configured monitoring items for CPU, memory, disk, network interfaces, Windows services, and event log monitoring. Click Add and then Update to save the host configuration.
Applying the Windows Server Template
The “Windows by Zabbix agent” template includes comprehensive monitoring for Windows Server 2016 out of the box. It collects data on CPU utilization, available memory, disk space and I/O, network interface traffic, Windows services status, system uptime, and event log errors and warnings.
After linking the template, Zabbix will begin collecting data within the next few minutes. Navigate to Monitoring > Hosts, find your Windows Server 2016 host, and click on “Latest data” to verify that items are being collected. You should see values populating for CPU, memory, and other metrics.
Creating Custom Monitoring Items
For monitoring application-specific services or custom performance counters on Windows Server 2016, create custom Zabbix items using the Zabbix Agent’s built-in Windows Performance Counter support. Create a custom item in Zabbix with a key using the perf_counter[] format:
perf_counter[Processor(_Total)% Processor Time]
perf_counter[MemoryAvailable MBytes]
perf_counter[PhysicalDisk(_Total)Disk Reads/sec]
perf_counter[Network Interface(*)Bytes Total/sec]
To monitor a specific Windows service, use the service_state[] key:
service_state[W3SVC]
service_state[SQLServer]
service_state[DNS]
Configuring Triggers and Alerts
Triggers define the conditions under which Zabbix generates alerts. The Windows template includes default triggers for conditions such as high CPU utilization, low disk space, and service failures. Review and customize trigger thresholds to match your environment’s requirements. For example, adjust the disk space warning trigger threshold from the default to match your capacity planning requirements.
Configure notification media in Administration > Media types to send alerts via email, SMS, or webhook to your team’s communication platforms such as Slack or Microsoft Teams. Assign media to user accounts in Administration > Users, then define action rules in Configuration > Actions to specify which triggers notify which users via which media. With proper template configuration and alerting setup, Zabbix provides comprehensive monitoring coverage for your Windows Server 2016 infrastructure.