Zabbix 6.0 to 7.0 upgrade: why plan it before February 2027
Move your Zabbix monitoring from 6.0 LTS to 7.0 LTS, and plan the work as a staged project with a tested upgrade path before limited support for 6.0 LTS ends on 28 February 2027. Zabbix 7.0 LTS has full support until 30 June 2027 and limited support until 30 June 2029, which gives you a supported target for the next several years. If your server, database and proxies are still on 6.0, the window for a planned change is narrowing, and an upgrade forced by a stability or security problem is much harder to schedule than one you choose.
Zabbix counts support from each release date, so the deadlines for 6.0 and 7.0 are set by Zabbix's published dates, not by when your team installed or last patched a version. Zabbix 7.0 LTS was released on 4 June 2024. Zabbix plans its 8.0 LTS release for Q4 2026, with full support to Q4 2029 and limited support to Q4 2031. Before the project is approved, confirm in the Zabbix life cycle and release policy whether 8.0 LTS will be available in time for your schedule, and decide whether the target should change. Naming an owner for that decision keeps it from being made by default during the cutover.
The supported path for this project is an upgrade from 6.0 LTS to 7.0 LTS. The exact steps depend on your starting minor version, so confirm the procedure in the official Zabbix upgrade documentation for that version before you book a change window. Ask the team to record the current minor version of the server, the frontend, the database and every proxy, because the order of steps and the checks at each stage can differ between components. Keep a test environment that holds a recent copy of the production database, so the upgrade is rehearsed against the same schema and data volume you will run in production.
Three decisions should be settled before the staging plan is written: the target line (7.0 LTS, or 8.0 LTS once its timing is confirmed), the change window for production, and who has authority to roll back. Ask for the upgrade to be run as a project with a written scope, a rehearsed test run, a verified rollback point and an agreed cutover sequence. Also note that 7.0 LTS moves from full to limited support on 30 June 2027, so a 7.0 target leaves a shorter full-support period than an 8.0 target would, and your review date should reflect that.
What changes between Zabbix 6.0 and 7.0 and what each change requires
This table compares what changes between Zabbix 6.0 LTS and 7.0 LTS, what each change affects in an existing deployment, and the action your team needs before or during the upgrade. Read each row as a checklist item, and use the 7.0 release notes and requirements page as the authority for exact version numbers and schema details. The main takeaway is that the license, prerequisite and database decisions need owners before the upgrade window is scheduled.
| Change | Impact | Action needed |
|---|---|---|
| License from 7.0 onward | From 7.0, Zabbix is under AGPL version 3 instead of GPL version 2 (up to 6.4). Its network interaction clause can apply to modified versions served to users. | Have counsel review any internal modifications, forks or redistributed builds. Confirm the position for unmodified use in the license page. |
| PHP and database prerequisites | Server and frontend runtime requirements differ from 6.0. An unsupported PHP or database version blocks the upgrade. | Compare your current PHP and database versions with the 7.0 requirements page and upgrade them before the Zabbix packages. |
| Proxy table change | The proxy tables change in the database schema, so proxy data and proxy configuration are affected during the upgrade. | Read the 7.0 upgrade notes for the exact table change, then plan proxy upgrades in the order those notes require. |
| TimescaleDB handling | The TimescaleDB extension must be within the version range that 7.0 supports. The 7.4 range is 2.13 to 2.29, which does not confirm the 7.0 range. | Confirm the 7.0 TimescaleDB range and upgrade the extension, if you use it, before the server upgrade. |
| Windows agent paths | File locations and configuration paths for the Windows agent can change, which affects custom scripts and deployment tooling. | Inventory custom agent paths, scripts and deployment packages, then test them on a pilot host running the 7.0 agent. |
| Proxy groups (from 7.0) | Proxy groups redistribute monitored hosts between proxies for load balancing and failover when a proxy goes offline. | Decide whether to adopt proxy groups after the upgrade. Test redistribution and proxy capacity before enabling them in production. |
| Database upgrade time | Schema migration time depends on database size and history volume, so the duration varies between environments. | Rehearse the upgrade on a restored copy of production, time each step and set the maintenance window from that result. |
| Support lifecycle | 6.0 LTS limited support ends on 28 February 2027. 7.0 LTS has full support until 30 June 2027. | Set the upgrade window and sign-off so the upgrade finishes before 28 February 2027. |
Which upgrade path from Zabbix 6.0 LTS to 7.0 LTS is supported
The supported path is a direct move from the Zabbix 6.0 LTS line to the 7.0 LTS line. Zabbix 6.0 LTS limited support ends on 28 February 2027, so that date sets the outer limit of your window, and 7.0 LTS carries full support until 30 June 2027. The team must start from a supported 6.0 minor release, so the first task is to record the exact version of the server, web frontend, proxies and agents in every environment. Then check the official upgrade procedure for 7.0 that names that starting point. Confirm in the upgrade notes whether any intermediate step is required before 7.0. This page does not list one, and your plan should not assume a stop that the official notes do not name.
Choose between an in-place upgrade and a rebuild on new hosts before writing the task list, because the choice sets the order of everything else. An in-place upgrade keeps the existing server hosts and configuration, runs the database schema migration against your live data, and then moves proxies and agents in stages. Rollback in this case usually means restoring a database backup taken immediately before the upgrade, so that backup must be proven by a restore test before work starts. A rebuild installs 7.0 on new hosts, loads a copy of the 6.0 database, and repoints proxies and agents to the new server at cutover. The old stack stays intact, so rollback becomes a repoint, but any data written to the old database after the copy must be reconciled before cutover.
Database migration is the step that most affects duration and rollback. The Zabbix 7.4 requirements list PostgreSQL 13 to 18 and TimescaleDB 2.13 to 2.29 for the server database, but those are 7.4 figures. Check the requirements for the 7.0 release you target before you choose database and TimescaleDB versions, and confirm the PHP and web server prerequisites in the same material. Copy the production database to staging, measure its size and history table growth, and time the schema migration on that copy. Record the result as your own measured figure from your data, and use it to set the maintenance window.
Sequence the components only after the server decision is made. Follow the order given in the official upgrade notes for the server, frontend, proxies and agents, and confirm which agent versions the upgraded server accepts during the transition. Proxy groups, available from 7.0, redistribute monitored hosts when a proxy goes offline, so decide whether you will use a proxy group before you change proxy membership. Test one proxy, a sample of agents including Windows agents and their configuration paths, and any custom templates in staging before production. Assign a named owner and a go or no-go decision point to each component on the change record.
What to prepare before upgrading Zabbix: backups, inventory and a test environment
Four preparation areas need owners and written outputs before the Zabbix 6.0 LTS to 7.0 LTS upgrade starts. Each one answers a different question: can you go back, what will break, can you rehearse the change, and which components must move in what order.
Verified database and configuration backup
Produce a full database backup and a copy of the server and frontend configuration files, then restore both into a separate environment and confirm that the Zabbix server starts and the web interface loads with history and hosts intact. A backup that has never been restored is an assumption, not a rollback plan. The database administrator owns the backup and restore test, and the Zabbix administrator signs off that the restored instance works. Record the restore duration, because the database migration in this upgrade can run for a long time on large histories, and the rollback window depends on it.
Inventory of customizations
List every customization that sits outside the default installation: custom templates, external scripts, media types, API integrations, modified frontend files and custom agent configuration. For each item, record its location, its owner, the Zabbix features it depends on and whether it is still in use. Items that break in 7.0 need a fix or a retirement decision before cutover. The Zabbix administrator owns this inventory, and each integration owner confirms the entries that belong to their system.
Staging environment from production data
Build a staging environment from a recent copy of production data, using the same database engine and version, PHP runtime, web server and operating system as production. Disable outbound notifications and any action that contacts real systems, so test alerts do not reach on-call staff or ticketing tools. Rehearse the full upgrade there, including the database migration, and measure how long it takes. The platform or infrastructure team builds and isolates the environment, and the Zabbix administrator runs the rehearsal and records the results.
Hosts, proxies and agent versions
Export a current list of monitored hosts, Zabbix proxies and the agent version on each host, with the proxy each host reports through. This list sets the upgrade order: the server is upgraded first, then proxies, and agents are updated where your plan requires it. Confirm the proxy and database connectivity for each site, and flag hosts that run agent versions outside the supported range before the upgrade. The monitoring team owns the list, and the infrastructure operations team confirms access to the hosts and proxies that they manage.
How PHP, database and TimescaleDB prerequisites affect the upgrade order
Finish the prerequisite work before any Zabbix package changes. The 7.0 server and frontend depend on the PHP runtime, the database engine and version, and the TimescaleDB extension if you use it for history tables. Start by reading the Zabbix 7.0 requirements page and recording the exact supported ranges for each component. The requirements page lists current versions, and those entries may differ from the 7.0 values, so confirm the 7.0 figures against that page before you scope the work or agree a timeline with a partner.
These components often need their own upgrades, and the operating system may be the limiting factor. A distribution's default repositories may ship a PHP version older than the 7.0 frontend requires, or a database major version that is out of step with your extension version. Check the OS release, its package sources and any third-party repositories now. If the OS must change, decide between an in-place upgrade and a new host, and plan that step with its own rollback path, since it sits ahead of every Zabbix change.
If the team uses TimescaleDB for history and trend tables, treat the extension as a separate compatibility decision. Confirm which TimescaleDB versions 7.0 supports for your database major version, and sequence the database engine upgrade, the extension upgrade and the Zabbix schema upgrade in that order with a verification step between each. Ask whether compression policies are enabled and how many chunks exist, because compressed chunks can change the migration steps and the time each step takes.
Database upgrade time depends on the size of the history and trend tables, the state of their indexes, and whether TimescaleDB compression or chunking is in use. Fragmented or bloated indexes, large uncompressed chunks and long-retained history all lengthen the schema steps. Do not extrapolate from a small lab database. Restore a recent production backup to a staging system with comparable hardware, run the full upgrade sequence, and record the duration of each step, disk and log growth, and free space headroom. Repeat the rehearsal at least once so you can see variation.
Before you set a date, make a go or no-go checklist covering confirmed 7.0 component versions, the OS and repository plan, a tested restore, the staging timings and a rollback point for each step. When you request a quote, ask for the OS and PHP work, the database and TimescaleDB rehearsal, and the restore test as separate line items, so you can see which parts are one-time and which recur. Ask the partner to state what it assumes about your table sizes and compression settings.
The Zabbix 6.0 to 7.0 upgrade sequence: server first, then proxies
This sequence moves a Zabbix 6.0 LTS installation to 7.0 LTS with the server upgraded before any proxy, and each stage has a check and a rollback point. Zabbix 6.0 LTS limited support ends on 28 February 2027, so the order below is the one to plan around. Confirm the exact commands and order against the official 7.0 upgrade notes for your starting version.
Freeze changes and verify the backup
The change owner freezes configuration edits, template changes and non-essential maintenance for the upgrade window, and pauses the actions that would send notifications during the work. The database administrator takes a full backup of the Zabbix database, along with the server, frontend and proxy configuration files, then restores the backup to a separate host to confirm it is readable. Check: the restore completes and the restored database reports the same version as the source. Rollback point: this verified backup is the only full return point if the schema upgrade in a later step cannot be recovered in place.
Rehearse the upgrade on staging
Build a staging copy from the production backup, using the same database engine, a similar host count, proxies in a representative mix and agents on a sample of hosts. Run the full check list: frontend login, a server start with no errors in the server log, a stable queue size, proxy last-seen times within the expected range, items collecting data and a test trigger that sends a test notification. Record how long the database upgrade took on staging, and use that record to plan the production window. Rollback point: discard the staging copy and correct the plan before production is touched.
Update prerequisites and confirm database versions
Upgrade the PHP 8 runtime and the PHP modules the 7.0 frontend requires, and upgrade the database engine if the 7.0 requirements list a newer version than the one you run. If you use TimescaleDB, update the extension to a version listed in the 7.0 requirements, and confirm the pairing against the official requirements page for your database. Check: the database version query and the TimescaleDB version query both match the 7.0 requirements, and the frontend requirements check page shows no failures. Rollback point: keep the previous package set in your repository until the server step is confirmed healthy.
Upgrade the Zabbix server and schema
Stop the Zabbix server, install the 7.0 server packages and run the database schema upgrade exactly as the 7.0 upgrade notes describe. If you run a high availability cluster, confirm which node is active, upgrade the nodes in the documented order and start the active node first. Start the server, then the frontend. Check: the server log shows the schema upgrade completed with no errors, the frontend login works and reports 7.0, the queue size is stable and items from directly polled hosts are receiving data. Rollback point: read the upgrade notes to confirm whether the schema change can be reversed, and if it cannot, restore from the verified backup taken in the first step.
Upgrade proxies in a planned order
Once the server is healthy, upgrade proxies in a sequence written down before work starts, usually beginning with the least critical site and ending with the largest. Upgrade one proxy at a time. The proxy table change happens on the server side during the upgrade, so confirm in the server log that it completed without error. For each proxy, check its connection state and last-seen time in the frontend, and confirm its hosts resume sending data before you start the next proxy. Rollback point: check the upgrade notes for the proxy versions the upgraded server accepts, since that decides whether a failed proxy can stay on its previous version while you investigate.
Update agents with a pilot group first
Upgrade agents in two stages: a pilot group with at least one Linux and one Windows host in each major environment, followed by the remaining hosts in waves. For Windows, confirm the agent binary path, the service name and the configuration file location for your installation method against the 7.0 notes, because these paths can differ between packages and older installations. Update any scripts or deployment tools that reference them. Check: agent items return values to the server, the agent reports version 7.0 and the agent logs show no configuration errors. Rollback point: keep the previous agent package and a copy of each pilot host's configuration, so a single host can be returned without touching the rest.
Re-enable alerting and confirm notifications
Re-enable the actions, media types and maintenance schedules paused in the first step, starting with a limited set of actions for the pilot team. Trigger a controlled test on a non-production host, then confirm that notifications reach each media type in use, including email, webhooks and any chat integration, and that recovery messages follow. Check: the action log in the frontend records each sent message, and no media type reports a failed delivery. Rollback point: disable the re-enabled actions in the frontend, which stops notifications without changing the upgraded server or agents.
Review proxy groups as a follow-up
After the upgrade has run stably for a period your operations team agrees on, review whether proxy groups suit your topology. Proxy groups are available from 7.0 onward and redistribute monitored hosts between proxies when a proxy goes offline, which changes how failures behave, so test that behavior in staging before enabling it in production. Confirm the distribution rules, the spare capacity on the remaining proxies and the proxy health checks, then document the decision. Rollback point: treat group configuration as a separate change, and confirm in the proxy load balancing documentation that it can be removed without reverting the server or agents.
How to test the Zabbix upgrade and roll back if it fails
The staging test has one purpose: prove that the Zabbix 7.0 LTS server, frontend, proxies and agents behave like the 6.0 estate before anyone books the production window. Build the staging environment from a copy of the production database at the same size, then time the schema upgrade on that copy. Record how long each step takes and compare the result with the agreed change window. Next, validate items and triggers by comparing counts of enabled, supported and unsupported items, and trigger states and problem generation, against an export taken from production before the upgrade. Import or update the templates you use, then run your API scripts and integrations against the new frontend. Confirm that every proxy reaches the server, and confirm agent checks on each operating system family in the estate, including the Windows agent paths that changed in this upgrade.
Alerting and authentication need their own tests because they fail quietly. Send a test notification through every media type in use, such as email, chat, ticketing and webhooks, and confirm that actions fire and escalations reach the right recipients. If LDAP, SAML or MFA is in use, sign in with a standard user, an administrator and an account that depends on just-in-time provisioning, then check that group mappings still assign the correct user roles and permissions. Ask the identity team to confirm the validity dates of SAML certificates and metadata, because an expiring certificate can look like an upgrade defect. Record each result in the test log with the person who ran it, so the go or no-go decision rests on evidence rather than memory.
The rollback decision depends on one fact: once the schema upgrade runs against the production database, returning to 6.0 usually means restoring the database backup. Identify the last point in the sequence where that restore is still clean, which is normally the backup taken immediately before the schema step. Restore that backup on a separate host and confirm it starts before the change window, because an unverified backup is not a rollback plan. After the schema changes, rollback gets harder for several reasons. The 7.0 server will have written new monitoring data, proxies may already report to the new version, and API clients may depend on behavior that changed. Read the vendor upgrade notes to confirm which downgrade paths, if any, are supported.
Set the rollback threshold in the change record before the window opens, with a named person who has authority to make the call. Define the maximum time the schema step may run, the number of failed checks allowed in the post-upgrade smoke test, and the alerts that must work before the change is accepted. Illustrative example: if the schema step overruns the agreed limit, the change lead restores the backup and reopens the window at a later date, instead of extending the outage on an unknown timeline. Write the threshold once and do not change it during the window.
If the server runs as a high availability cluster, decide how standby nodes are handled before the upgrade starts. Standby nodes share the same database, so the options are to stop all nodes, upgrade them in a planned order, or upgrade one node and keep the others offline until it is verified. Confirm in the vendor documentation how mixed versions behave before choosing. The failover delay is configurable between 10 seconds and 15 minutes, so record the current value and confirm it is appropriate for your alerting needs. After the change, stop the active node in a controlled way and confirm that a standby takes over, that alerts continue, and that the node status matches expectations. In 7.0 and later, proxy groups redistribute hosts when a proxy goes offline, so stop one proxy and confirm its hosts move to another proxy.
What makes a Zabbix 6.0 to 7.0 upgrade take longer
This table lists the characteristics of your Zabbix estate that change how much work a 6.0 LTS to 7.0 LTS upgrade involves. Read each row as a question to answer about your own environment, then ask for any estimate to be tied to those answers in writing. Database size, proxy layout and the number of custom objects often shape the schedule more than the version change itself.
| Driver | Why it adds effort | How to size it |
|---|---|---|
| Proxies and grouping | Each proxy must follow the server upgrade sequence, and proxies placed in proxy groups need coordinated changes so host reassignment stays predictable. | Count proxies, note which belong to proxy groups, and record the version each one runs today. |
| Database size and history retention | Schema changes run against stored history and trend data, so the database upgrade step grows with the amount of data kept. | Restore a recent copy of the production database to staging and time the database upgrade there. |
| Custom templates, scripts and integrations | Custom objects and external integrations may depend on items, fields or API behavior that changed between versions and need retesting. | Inventory every custom template, script and integration, then test each one against 7.0 on staging. |
| Windows and Linux agents and versions | Agents on older versions need staged upgrades, and Windows and Linux agents follow different install and configuration paths. | Count agents by operating system and current agent version, then plan upgrade waves for each platform. |
| TimescaleDB use | A TimescaleDB extension must be a version supported for the target release, which adds checks and steps to the database upgrade. | Record the current TimescaleDB version and confirm the supported versions for 7.0 in the requirements. |
| Authentication integrations | LDAP, SAML, MFA and just-in-time provisioning settings all affect login, so each method needs its own post-upgrade test. | Count each configured authentication method and plan a login test for each user group after the upgrade. |
| Operating system versions in the estate | Each operating system version may need different package sources, dependencies and test passes for the server, proxies and agents. | List every operating system version running a Zabbix component and check each against the 7.0 requirements. |
| Environments to test | Each environment needs its own upgrade run, and a clean result in one environment does not confirm the others. | Confirm which environments the scope covers, such as lab, staging and production, and what each must prove. |
| Availability requirement for the change window | Server high availability nodes, proxy groups and monitoring coverage limit which components can stop and for how long monitoring may pause. | Document the allowed outage window and the order in which nodes and proxies can be taken down. |
Questions teams ask before upgrading Zabbix 6.0 to 7.0
What does upgrading Zabbix 6.0 to 7.0 cost?
The Zabbix software itself has no license fee, so the cost sits in the work around it. Zabbix states that its open source software has no license fee, no device limits and no feature gates. The main cost components are internal staff time for planning, testing and cutover, staging infrastructure to rehearse the upgrade against a copy of your database and templates, outside services if you engage a partner for testing, scope or rollback planning, and any Zabbix technical support subscription, which is sold separately in Silver, Gold, Platinum, Enterprise and Global tiers. Most of the work is one-time. Support subscriptions recur. Ask any quote to separate fixed scope from recurring items and to state who pays for staging hardware.
How long does a Zabbix 6.0 to 7.0 upgrade take?
Duration depends mostly on database size and on how much of your environment must be rehearsed, so treat any single estimate with caution. The database migration is usually the longest step. Its duration is driven by the volume of history and trend data, the database engine and its hardware, and whether TimescaleDB is in use. Other drivers include the number of proxies and agents to coordinate, custom templates and integrations that need retesting, and how many change windows your organization allows. Confirm the database migration time by running a rehearsal on a copy of production data in staging, then measure it. Ask any partner to state its duration assumptions in writing, including the data volume and environment they were based on.
What does the upgrade require from our internal team?
Plan for named owners and scheduled access before the work starts. You will need administrative access to the Zabbix server, database, web frontend and proxies, plus read access to the systems behind your integrations. Assign an owner for each integration, such as ticketing, notification media, configuration management and dashboards, who can confirm it still works after the upgrade. Agent deployment is a dependency: confirm that your deployment tool can push the matching Zabbix agent version to Linux and Windows hosts, check the Windows agent paths and service settings, and know which hosts run older agents. Change windows must cover the database step, a rollback point and post-upgrade checks. Confirm each requirement against your own environment before scheduling.
Can our own team upgrade Zabbix without outside help?
Often yes, if you have an experienced Zabbix administrator, a staging environment and time to rehearse. Teams usually run the upgrade themselves when the monitoring estate is small or standard, most templates come from Zabbix, and integrations are few. Outside help tends to add the most value in three areas: independent testing in staging, rollback planning with clear criteria for proceeding or reverting, and a review of custom templates, scripts and external integrations that may behave differently after the upgrade. Compare these against your team's capacity during the change window. DeployOpen typically works under a fixed scope agreed in writing before work starts, so you can decide which parts to keep in-house and which to hand over.
Is upgrading to Zabbix 7.0 required for security or license reasons?
Not automatically, but the support dates set a clear deadline. Zabbix 6.0 LTS limited support ends on 28 February 2027. Zabbix 7.0 LTS has full support until 30 June 2027 and limited support until 30 June 2029. Limited support is a narrower service, so confirm with Zabbix what it includes before you rely on it. On licensing, Zabbix moved from the GNU General Public License version 2 to the GNU Affero General Public License version 3 starting with version 7.0, while versions up to 6.4 used GPL version 2. The change may matter if you modify Zabbix and make it available to users over a network. Ask your legal counsel how it applies to your use. This is not legal advice.
What should we ask for in a written upgrade quote?
Ask for a written scope that lists each deliverable, the environments covered, and which systems and integrations are in and out of scope. Request a separate line for each cost component: planning, staging, testing, cutover, rollback planning and any post-upgrade support. Ask which costs are one-time and which recur, and whether a Zabbix support subscription is included or bought separately. Require the quote to state its assumptions, including database size, number of proxies and hosts, integration count and the change window model. Ask how test results will be recorded and what the client must provide, such as access, staging hardware and named owners. Agree on how scope changes will be priced before work begins.
How DeployOpen scopes, delivers and supports a Zabbix upgrade
DeployOpen plans and runs the Zabbix 6.0 LTS to 7.0 LTS upgrade inside your own infrastructure, starting from a written scope that covers the server, database, proxies and agents. Work follows the order Zabbix documents for this path, with prerequisites checked before any production change. Engagements are fixed-scope, and ongoing support is available as a retainer.
How we scope
- Written scope lists which Zabbix servers, proxies, agents and database engines are in the upgrade.
- Prerequisite review covers PHP, database versions, TimescaleDB and Windows agent paths for your estate.
- Database upgrade window, rollback point and sequencing order are agreed in writing before work starts.
How we build
- Upgrade rehearsed on a copy of your production database in a non-production environment you control.
- Proxy table change and database schema steps run as documented, with timing measured during rehearsal.
- Server is upgraded first, then proxies, so proxy and server versions stay in the supported order.
How we hand over
- Runbook records each step, its checks, the rollback path and the observed upgrade duration.
- Agent inventory lists hosts still on older Zabbix agents, with Windows agent path changes noted.
- Post-upgrade checks confirm item collection, alerting, proxy connectivity and dashboards before sign-off.
How we support
- Ongoing support and template maintenance are available as a retainer after handover.
- Zabbix 6.0 limited support ends on 28 February 2027, so the upgrade window should be planned before then.
- Zabbix support tier choice is separate from this work; confirm the tier you need with Zabbix directly.

