ZabbixTune — A pgtune-style configurator for zabbix_server.conf
If you've ever set up a Zabbix server in production, you know the problem:
the default zabbix_server.conf is not production-ready.
StartPollers=5, CacheSize=32M, ValueCacheSize=8M — these defaults work
for a lab, but they will hurt your performance in production with hundreds
or thousands of hosts.
The problem with default Zabbix server configuration
Most Zabbix administrators tune their server configuration by trial and
error, or by copying values from blog posts that don't match their
infrastructure. There was no tool to calculate the right parameters based
on your actual setup — until now.
Introducing ZabbixTune
ZabbixTune is an open source, browser-based configurator that generates
an optimized zabbix_server.conf based on your infrastructure.
Inspired by pgtune (the popular PostgreSQL configurator), ZabbixTune
asks you a few questions about your setup and generates the full
configuration file with only the modified parameters uncommented.
Features
- MySQL, PostgreSQL and PostgreSQL + TimescaleDB support
- Active/passive proxy mode with correct NVPS calculation
- Full zabbix_server.conf generated from the official Zabbix template
- Only modified variables are uncommented — easy to review and apply
- Proxy-aware NVPS calculation — distinguishes collection vs ingestion
- 100% client-side — single HTML file, no dependencies, no data sent
How it works
- Select your database type
- Enter your infrastructure — number of hosts, items per host, collection interval, CPU cores, RAM
- Toggle the collection types you use — SNMP, ICMP, HTTP, IPMI, VMware
- Configure your proxies — active or passive mode, number of proxies
- Get your optimized zabbix_server.conf instantly
The tool calculates StartPollers, StartPreprocessors, StartDBSyncers,
CacheSize, HistoryCacheSize, ValueCacheSize, TrendCacheSize and all
other key parameters based on your actual NVPS (New Values Per Second).
Why NVPS matters
NVPS is the key metric for Zabbix server performance. The tool correctly
separates:
- Collection NVPS — what your pollers actually collect
- Ingestion NVPS — what your backend must write to the database
When using proxies, the backend doesn't collect — it only ingests data
sent by proxies. This changes the sizing of pollers, trappers,
preprocessors and caches significantly.
Try it
🔗 Live tool: https://xavier-maugendre.github.io/zabbix-server-tuner/
📦 GitHub: https://github.com/xavier-maugendre/zabbix-server-tuner
The tool is open source, single HTML file, no backend, no tracking.
Feedback and contributions welcome!
Top comments (0)