Zabbix Kubernetes monitoring with the Helm chart

This page explains how to monitor Kubernetes clusters from Zabbix using the official Helm chart, an in-cluster proxy, API token access and the node, control plane and kubelet templates. It also covers discovery filters for large clusters and the effort and decisions that shape the work.

On this page

How Zabbix Kubernetes monitoring with the Helm chart works

A platform team that needs cluster node, control plane and kubelet visibility inside Zabbix should use the official Helm chart. The supported method deploys an in-cluster Zabbix proxy and gives it API token access to read cluster state, so the design decisions in this section all start from that model. Zabbix has been released under the GNU Affero General Public License version 3 since version 7.0, and its open source software carries no license fee, no device limits and no feature gates. The monitoring runs in your own cloud accounts, data centers or air-gapped networks, so your costs are infrastructure, staff time and any paid support subscription you choose to buy.

The chart sets up the proxy inside the cluster, and the proxy collects node, control plane and kubelet data through the Kubernetes API and forwards it to your Zabbix server. The reader should confirm three things before deployment: which Kubernetes endpoints the proxy must reach, which kubelet access path the chart uses in your cluster, and whether the proxy can reach the Zabbix server over the network you have approved. Those answers determine the network policy, firewall rules and where the proxy is scheduled. Ask the chart maintainers or your Zabbix partner to document each endpoint in writing so the security team can review it against the cluster's own policies.

The API token is the most sensitive part of the design because it grants read access to cluster metadata. Kubernetes stores Secrets unencrypted in etcd by default, so confirm that encryption at rest is configured before the token is stored in the cluster. Limit who can read the Secret that holds the token, and scope the service account with least-privilege RBAC so it can read only the objects the templates need. If your organization already uses an external secret store, decide whether the token should come from there instead, and document who rotates it and how often. Also confirm which Zabbix users can change the host and proxy configuration, because those users can change what the integration collects.

Large clusters need discovery filters before the first full run, so that Zabbix does not create hosts for every namespace or workload you do not intend to monitor. Decide which nodes, namespaces and labels are in scope, and record that decision with the discovery configuration. For availability, Zabbix 7.0 and later support proxy groups that redistribute monitored hosts when a proxy goes offline, and the Zabbix server supports a native high availability cluster with a configurable failover delay. Confirm with the chart documentation whether a proxy group fits the chart's deployment model, and choose a Zabbix version and support tier that match your upgrade calendar before you build.

What you need before connecting a cluster to Zabbix

Most connection problems trace back to a version, network path, token permission or ownership decision that was made late. The six checks below should be finished before anyone installs the Helm chart or deploys the in-cluster proxy.

Zabbix server and database versions

Confirm the Zabbix server and database pair against the requirements page before anything else. Zabbix 7.4 supports MySQL or Percona from 8.0.30 to 9.7, MariaDB from 10.5 to 12.3, PostgreSQL from 13 to 18, and the TimescaleDB extension from 2.13 to 2.29. Check that your database version falls inside a stated range, and confirm that the proxy release matches the server line you plan to run.

Kubernetes version and Helm client

Choose a cluster version that the Kubernetes project still maintains. The project supports the three most recent minor releases, so confirm the current list on the releases page before you schedule the work. Kubelets may run up to three minor versions older than kube-apiserver, which matters if nodes lag behind the control plane. Confirm that your Helm client version and kubeconfig reach the target cluster and namespace.

Network paths and API endpoint

The in-cluster proxy needs a route to the Zabbix server and a route to the Kubernetes API endpoint. In a highly available control plane, that endpoint is usually a TCP load balancer in front of kube-apiserver on port 6443. Map every firewall rule, NAT step and network policy on both paths. Test from inside a pod rather than from a jump host, because pod egress often differs from node egress.

Service account and token permissions

The proxy reads cluster data through a service account and its token, so define those permissions before deployment. Kubernetes authenticates users and workloads through credentials it can verify, so the token should belong to a dedicated service account. Grant read access only to the objects the templates query, limited to the namespaces in scope. Ask who can read the token Secret, because Secrets are stored unencrypted in etcd by default unless encryption at rest is configured.

Certificates and time sync

Both sides of the connection need certificate trust that they can verify. Confirm which certificate authority signs the API server certificate, whether the proxy trusts it, and when each certificate in the path expires. Check time sync on cluster nodes, the proxy and the Zabbix server, since clock drift can break token validation and TLS handshakes in ways that look like network faults. Record each certificate's owner and expiry date in your change calendar.

Ownership of the cluster and Zabbix sides

Name one owner for the cluster, one for the Zabbix server and proxy, and one for the Helm release that joins them. Platform teams commonly own API access, token rotation and node health, while monitoring owners commonly own templates, discovery filters and alert routing. Agree who approves permission changes, who responds when data stops arriving, and who signs off the handover. Write these decisions into the written scope before work starts.

Why an in-cluster proxy sits between the cluster and Zabbix server

The Helm chart places a Zabbix proxy inside the cluster so that collection traffic stays local, and only the proxy's outbound connection crosses to the Zabbix server. The proxy authenticates to the Kubernetes API with the monitoring token from the chart, queries the API for node, pod and workload objects, and polls the kubelets for node-level metrics. It stores what it collects and forwards that data to the server on its own schedule. For the reader, the practical point is where failures appear: an API token problem or a kubelet that cannot be reached shows up in the proxy's logs and in host availability, while a broken path to the server shows up as delayed data. Check each of these paths separately during deployment.

A single proxy is the simpler design. It has one deployment to version, one set of logs to watch and one place where cluster host definitions live. Its weakness is that it is also the only collection point for that cluster, so its outage stops all Kubernetes data until it recovers. Several proxies spread polling load and split failure domains, which helps when clusters are large or span zones, but each proxy adds a component to upgrade, monitor and keep on a matching Zabbix version. The right count depends on cluster size, the number of hosts and items the templates create, and how long your team accepts a gap in monitoring data. Ask the team that will run the platform to write those thresholds down before choosing.

From Zabbix 7.0 onward, proxy groups let Zabbix redistribute monitored hosts between proxies in the group for load balancing and high availability when one proxy goes offline. This is the feature that makes a group of in-cluster proxies more than a set of independent collectors. The protection depends on the group design. Proxies that share one node, one zone or one API endpoint may fail together, and a proxy with no spare capacity cannot absorb another proxy's hosts without falling behind. Confirm the exact redistribution timing, the requirements for reassignment and the limits that apply to your version against the Zabbix proxy load balancing and high availability documentation before you rely on it in a design.

Test the design before go-live. Stop one proxy pod on purpose, confirm that the cluster's hosts move to another proxy in the group, and check that node, kubelet and API items resume without unexplained gaps in history. Repeat the test with the outbound path to the Zabbix server blocked, since data then queues in the proxy and the dashboards show delay rather than an obvious error. Also rotate or expire the monitoring token in a test cluster to confirm that the alert reaches your team. Keep proxy high availability separate from server high availability. The Zabbix server cluster uses a shared database and a configurable failover delay of 10 seconds to 15 minutes, and that setting does not change how a proxy group behaves.

How to configure the Kubernetes integration in order

This sequence connects a Kubernetes cluster to Zabbix in a fixed order, so each layer is verified before the next one depends on it. It ends with node, control plane and kubelet data flowing through an in-cluster proxy, with discovery limited to the namespaces you agreed to monitor.

  1. Confirm cluster and Zabbix versions

    The platform team checks that the Kubernetes minor version is still maintained by the Kubernetes project, using the releases page, and that the Zabbix server, proxy and Helm chart are on versions that support each other, using the Zabbix life cycle and release policy. Write both versions and the chart version into the change record before installing anything. Check: the record names one maintained Kubernetes minor release and one Zabbix line, with the server and proxy on the same version.

  2. Create a least-privilege API access identity

    The cluster administrator creates a dedicated service account bound to a read-only role that covers the nodes, pods, namespaces and metrics endpoints the templates query. Use a service account, since ordinary users are not API objects in Kubernetes. Avoid cluster-admin. Secrets are stored unencrypted in etcd by default, so deny this identity read access to Secrets and confirm that encryption at rest is configured on the cluster. Check: the token lists nodes and pods, while a request for Secrets or any write verb returns forbidden.

  3. Install the official Helm chart and proxy

    The platform engineer installs the official Zabbix Helm chart into a dedicated namespace, using a values file that sets the Zabbix server address, the proxy name, the API credentials held in a Kubernetes Secret and the pod security settings your standard requires. Confirm that the chart version matches the Zabbix release recorded in the first step. The proxy runs inside the cluster, so it reaches the API and kubelet endpoints without exposing them to your wider network. Check: the proxy pod reports ready, and its logs show no authentication or certificate errors.

  4. Register the proxy and host group in Zabbix

    A Zabbix administrator creates the proxy entry with the same name the chart uses, then creates a host group for the cluster so that permissions, dashboards and alert scope can be set against it. If the proxy will join a proxy group, add it now so host assignment can be balanced later. Confirm the connection mode matches your firewall design before the first poll. Check: the proxy appears as online in the proxy list, with a last-seen time close to the present.

  5. Link node, control plane and kubelet templates

    The Zabbix administrator creates a host for the cluster, links the node, control plane and kubelet templates, and assigns the host to the proxy and host group from the previous step. Before relying on any item, confirm that each template version matches the chart release and that every endpoint the template expects is reachable from the proxy. If you monitor etcd or a managed control plane, confirm which components your identity can see, since some are not exposed on managed services. Check: the host shows values in Latest data and has no unsupported items.

  6. Confirm kubelet items return recent values

    The platform team opens Latest data for one worker node and compares kubelet and node items against the cluster itself, such as the node's reported conditions and running pod count. Check the timestamps, not only whether values exist, because a stale value usually means the proxy or credentials are failing without an obvious error. Allow at least one full polling cycle to finish before judging the result. Check: the newest value for each kubelet item falls within your configured update interval, and the pod count matches kubectl output for that node.

  7. Enable discovery and apply namespace filters

    Once values are confirmed, the administrator enables the discovery rules that create hosts or items for namespaces, pods and services, and sets filters so that only the namespaces agreed in scope are included. On large clusters, unfiltered discovery can create far more hosts and items than the proxy and server were sized for, so start with a narrow filter and widen it deliberately. Record the filter in the change record so the next reviewer knows what is excluded. Check: the count of discovered objects matches the in-scope namespace list, and no system or test namespace appears unless it was agreed.

Which Kubernetes components map to Zabbix hosts, templates and items

This table maps each Kubernetes component to the Zabbix host, host group, template or macro that represents it, and names who decides the mapping and which API identity reads it. Use it to settle ownership and naming before the Helm chart is installed. Confirm each template's item set against the chart version you deploy, because item coverage can change between releases.

Kubernetes componentZabbix objectOwner and API identityAgree before go-live
Worker nodesOne Zabbix host per node, created by discovery and placed in a cluster host groupPlatform team decides; the in-cluster proxy reads node data through a read-only API tokenHost name source (node name or internal DNS name) and the host group naming pattern
Control plane components (kube-apiserver, controller-manager, scheduler)Cluster-level host or component items, with template coverage confirmed for your chart versionPlatform team decides; the token needs read access to the metrics endpoints the chart pollsWhether control plane items sit on the cluster host or on separate hosts, and the API endpoint behind the load balancer on port 6443
etcd membersSeparate host or items on the control plane hosts, depending on stacked or external etcdPlatform team decides; etcd metrics access is granted outside the API token scope if the chart requires itTopology (stacked or external) and which members are polled, since etcd should run with an odd number of members
KubeletsKubelet items attached to each node host through the kubelet templatePlatform team decides; the same API token reads kubelet data through the API server proxy pathKubelet version range in the cluster, since kubelets may be up to three minor versions older than kube-apiserver
Namespaces and workloads (pods, deployments)Discovered as low-level discovery items or tags, not as hosts, unless your rules say otherwiseApplication teams request tags; the platform team sets discovery filters and the read scope of the tokenTag keys, filter patterns for namespaces, and how large namespaces are excluded to limit item volume
Zabbix proxy in the clusterIn-cluster proxy assigned to the cluster hosts, optionally in a proxy groupMonitoring team decides; the proxy identity holds the Zabbix connection and the API token secretProxy group name, the server address the proxy uses, and failover expectations for a proxy outage
Macros (API endpoint, token, thresholds)Host or template macros, with the token stored as a secret macroMonitoring admin owns macros; Kubernetes Secrets are stored unencrypted in etcd by default, so token read access must be restrictedMacro naming convention, which values are cluster-wide, and who can read secret macro values in Zabbix
Host groups and tagsHost groups per cluster and environment, with tags for owner, environment and clusterMonitoring admin decides; app and platform owners supply tag valuesTag key list, group naming standard, and who may create new host groups after go-live

How discovery filters keep large clusters manageable

Unfiltered discovery on a large cluster turns every namespace, workload and node object the Kubernetes API exposes into a candidate Zabbix host, with items and triggers attached to each one. That multiplies configuration, polling and stored data before anyone has decided what matters. Discovery filters narrow this at the point of creation. You can limit scope by namespace, by label selectors on workloads or by object type, so that only a team's workloads, or only node and control plane objects, enter the inventory. Confirm in the chart version you deploy which discovery rules exist, which filter fields each rule accepts, and whether a filter acts on the discovered object or on the host it generates. Most over-collection starts with filter logic, so treat the filters as a design artifact that someone owns, not as a default setting left in place.

The central trade-off is visibility against capacity. Broad discovery gives platform teams a view across every namespace, which helps when a fault crosses team boundaries. The cost falls on the in-cluster proxy, the Zabbix server, the database and the notification path. Each additional host and item adds collection work, and a noisy namespace can push alert volume into the same queues that carry alerts for critical nodes. Proxy groups, available from Zabbix 7.0, can redistribute monitored hosts between proxies and keep monitoring running when one proxy goes offline, but they do not decide what is worth collecting. Sizing must be validated in your own environment with your own object counts, polling intervals and retention needs. Do not plan capacity from any general figure, including those in this section.

Roll discovery out in stages. In the first stage, enable discovery for one non-production namespace or one team's labels. Observe the number of discovered hosts, the item counts, the proxy queue and server performance across several ordinary days, including at least one deployment window. In the second stage, review the filter output with the owners of those workloads. Ask which discovered objects they would act on, which would only generate noise and which namespaces should be excluded entirely. In the third stage, widen the scope one group at a time and repeat the review before each step. Record every filter change in version control with its reason, so that later questions about why a host exists can be answered from the history.

Before enabling full discovery, complete a filter review against a short checklist. Confirm that the Zabbix API token's Kubernetes-side permissions match what the filters expect, so discovery sees the intended objects and no more. Check that excluded objects do not remove signals that the node, control plane and kubelet templates depend on, because a filter that hides a control plane component can silence the very health data you need. Agree who owns the resulting host list and who approves changes. Plan for drift, since namespaces created after rollout will match or miss the filters without anyone changing them, so schedule a recurring review. Also ask the implementation team to show how a filter change applies to hosts that discovery has already created, and confirm that behavior in your Zabbix version before you rely on it.

Securing API token access and Kubernetes secrets

The Helm chart gives Zabbix a credential into each cluster, so the identity it uses and the places that credential is stored determine how exposed the cluster is. The cards cover the Kubernetes token and RBAC side, the Secret storage side and the Zabbix user side. Check each one against the Pod Security Standards and the CIS Kubernetes Benchmark, both by title, before the chart goes into production.

API token scope and rotation

The monitoring identity authenticates to the Kubernetes API with a token, and that token grants whatever its bound role allows, so scope it first. Confirm with your platform team which token type the chart creates on your cluster version and where that token is stored. Set a rotation procedure before go-live that covers who issues a new token, how the Zabbix side is updated and how the old token is revoked. Test the rotation in a non-production cluster first so a failed update does not stop host discovery.

Least-privilege RBAC for the monitoring identity

Bind the monitoring identity to a read-only role that covers only the resources the enabled templates query, such as nodes, pods and the metrics endpoints, and nothing that changes state. Keep cluster-admin out of the binding, even for a first test, because proof-of-concept bindings often stay in place. Compare the verbs and resources the role grants against the templates you enable, and ask the chart maintainers or your own reviewers to confirm the list. Repeat that review after each chart upgrade.

Encryption at rest for etcd

Kubernetes stores Secrets unencrypted in etcd by default, so anyone who can read etcd data or an etcd backup can read the Zabbix credentials. Configure encryption at rest on the API server through an encryption configuration, then confirm that existing Secrets were rewritten after the change took effect. Include etcd snapshots in the same review, because backups carry the same data. The exact method depends on your distribution and control plane topology, so confirm it with your platform team or distribution documentation.

Limiting list and watch access on Secrets

An identity that can list or watch Secrets in a namespace can read every Secret in that namespace, so grant those verbs only to workloads and administrators that need them. Place the Zabbix credentials in a dedicated namespace where possible, and audit bindings that give broad groups or default service accounts Secret access. Verify the result with an access review that asks which identities can list Secrets in that namespace, not only which identities can read one named Secret.

External secret stores where required

Where organizational policy requires credentials to live outside the cluster, use an external secret store and mount or sync the value into the Zabbix pod. The Kubernetes Secrets good practices guidance points to the Secrets Store CSI Driver for this pattern. Confirm which store your organization approves, how the Zabbix credential is rotated inside it and what happens to host monitoring if the store is unreachable during a pod restart. Test that failure path before go-live.

Zabbix user roles and sign-in

On the Zabbix side, give the API user and any operators a role that matches their work, and keep the integration account separate from personal administrator accounts. Zabbix supports internal, HTTP, LDAP, SAML and MFA authentication methods. If you use LDAP or SAML, decide whether just-in-time provisioning should create accounts on first login, and map directory groups to Zabbix roles before you enable it. Confirm which MFA option your organization accepts for interactive users.

How to test the Kubernetes monitoring before handover

Run these checks in order before handover, because each step depends on the one before it. Start with proxy connectivity. Confirm that the in-cluster Zabbix proxy can reach the Zabbix server or the upstream proxy it reports to, and that its host record shows as online with recent data. Then test API token reads. Run the queries that the node, control plane and kubelet templates depend on, using the token itself and not an administrator kubeconfig. Confirm that the token can read the namespaces, nodes and endpoints in scope and that writes and Secret reads are refused. A token that works only because it is over-privileged will pass this step and fail the access review later.

Next, compare discovery results with the expected inventory. Before the test, write down the nodes, control plane components, kubelets and namespaces that should appear, and the filters that should include or exclude them. Missing hosts usually point to an expression error or an RBAC gap. Unexpected hosts usually point to a filter that is too broad, which matters in large clusters because every extra host adds items and load. Then check item collection on nodes and control plane components. Items should carry recent values, and any unsupported items should be recorded with their error text so the team can see whether the cause is the token, the network path or the chart configuration.

Trigger behavior comes after collection is stable. In a non-production cluster, induce a test condition such as scaling a test workload to zero, draining a test node or stopping a control plane component on a disposable cluster. Confirm that the problem opens, that its severity matches the agreed mapping, that it suppresses duplicates as designed and that it closes when the condition clears. Confirm that notifications reach the intended media type and recipients. Record the time between the induced condition and the problem, and agree with the operations team which delay is acceptable for each severity. Do not run induced failures against production clusters.

If you use a proxy group, restart one proxy in the test environment while data is flowing. Zabbix documents that proxy groups redistribute monitored hosts when a proxy goes offline, so confirm that the hosts move, that data keeps arriving and that no template items stop for longer than the team accepts. If the Zabbix server runs as a high availability cluster, test failover separately. Its failover delay is a server setting that can be configured from 10 seconds to 15 minutes, so confirm the value with your team and verify that the standby node takes over. Finally, run a Kubernetes upgrade check. The version skew policy requires kube-apiserver to be upgraded one minor version at a time, ahead of the controller manager, scheduler and kubelets, and allows kubelets to be up to three minor versions older. Upgrade the test cluster one minor version, then repeat the token, discovery and item checks. Confirm the kubelet lag you plan to allow in production, because monitoring must keep working during that window.

Why Kubernetes monitoring in Zabbix stops collecting data

This table lists the failures that most often stop Zabbix from collecting Kubernetes data, with the likely cause, how to confirm it and the usual fix for each. Start with the causes that affect every host at once, then move to narrower causes. Exact fixes depend on your chart version and cluster distribution, so confirm each step against the documentation for your release.

FailureLikely causeHow to confirmFix
Expired or under-scoped API tokenToken has expired, or its role lacks read access to nodes, pods or metrics endpointsCall the API with the token and look for 401 or 403 responsesIssue a new token with read-only access and set a rotation date
Proxy cannot reach the API or kubeletsNetwork policy, a firewall or DNS blocks traffic from the in-cluster proxyTest connectivity from the proxy pod to the API endpoint and each kubelet portOpen the required paths in network policy and firewall, then confirm DNS resolves the endpoint
Certificate trust errorsThe cluster CA is missing from the proxy trust path, or a kubelet certificate is not trustedSearch the proxy log for x509 or unknown authority messagesProvide the cluster CA as your chart version and distribution require, then restart the proxy
Discovery floods on large clustersDiscovery covers all namespaces and creates thousands of hosts or items at onceCount discovered hosts and check the server and proxy queue for growthNarrow discovery filters to the namespaces and labels you need, then widen scope in stages
Control plane endpoints not exposedScheduler, controller manager or etcd metrics are disabled or bound to localhostRequest each component's metrics port from the proxy and check for refused connectionsExpose metrics on an address the proxy can reach, and restrict access to that port
Version drift between chart and clusterThe chart expects API objects the cluster no longer serves, or the cluster moved past the chart's tested rangeCompare chart release notes with the cluster version and search logs for deprecated API errorsUpgrade the chart to a release that supports your cluster version, or plan the cluster upgrade first

Questions buyers ask before connecting Kubernetes to Zabbix

How much does it cost to connect Kubernetes to Zabbix?

Zabbix has no license fee, so the cost comes from infrastructure, the implementation scope and any paid support. Zabbix states that its open source software has no license fee, no device limits and no feature gates. Infrastructure is the recurring part: compute and storage for the Zabbix server or proxy, the database and the network paths between them. The implementation scope is usually the largest one-time cost, and it grows with the number of clusters, the discovery scope and any custom templates. Paid support is optional. Zabbix's support page lists Silver (8x5, 1 day response), Gold (4 hour response), Platinum (24x7, 2 hour response), Enterprise (24x7, 1.5 hour response) and Global (24x7, 1 hour response). When you request a quote, ask for one-time and recurring items listed separately, the assumed cluster count and what changes if discovery scope grows.

How long does a Zabbix Kubernetes monitoring project take?

Duration follows mainly from how many clusters you connect and how much of each cluster you discover. A single cluster with a clear discovery scope and a test cluster available will move far faster than a fleet of clusters with many namespaces, custom templates and several owning teams. Other drivers include how quickly network approvals are granted, how long the API token takes to issue with the right permissions and how many review rounds your team needs. DeployOpen plans most engagements as fixed-scope work, so the schedule, deliverables and phases are agreed in writing before work starts. Ask the provider for the timeline per phase and per cluster, the assumptions behind it and which of your tasks each phase depends on.

What do we need to provide before the engagement starts?

Before work starts, you need to provide cluster access, a named owner, network approvals and a test cluster. Cluster access means an API endpoint and a service account or token with the read permissions the templates require, limited by RBAC to read-only access. Your plan should also cover how that token is issued, stored and rotated. A named owner makes decisions on discovery filters, alert routing and change windows, and approves any change to scope. Network approvals cover traffic from the Zabbix proxy to the Kubernetes API and kubelets, and from the proxy to the Zabbix server, on the ports your policy allows. A test cluster lets the team validate templates, discovery filters and token permissions before production. Confirm these items in the scope document, along with who signs off each one.

Can an internal team set up Kubernetes monitoring in Zabbix alone?

Yes, an internal team can do this alone if it has the skills and time. The work spans Kubernetes administration, Zabbix administration, Helm, RBAC and network design. The official Helm chart and the node, control plane and kubelet templates reduce the custom build, but the team still has to decide proxy placement, token scope, discovery filters and alert routing. Gaps usually appear in large cluster discovery tuning, high availability design and keeping templates aligned after Kubernetes or Zabbix upgrades. A useful test is whether one or two people can run a pilot on a test cluster, document it and hand it to operations. If the gaps sit in one of those areas, a fixed-scope engagement can cover that part and leave the rest with your team. Ask the provider which tasks it would hand over and which it would keep.

Which Zabbix version should we pick for Kubernetes monitoring?

Choose the LTS line that matches your support horizon, and confirm that the chart and templates support it before you install. Zabbix 7.0 LTS was released on 4 June 2024, with full support until 30 June 2027 and limited support until 30 June 2029, according to Zabbix's life cycle and release policy. Zabbix 7.4 was released on 1 July 2025 and receives full support until Zabbix 8.0 LTS. Zabbix 8.0 LTS is planned for Q4 2026. Zabbix 6.0 LTS limited support ends on 28 February 2027, so it is a weak starting point for a new deployment. Standard releases come out every six months, while LTS releases come out every 1.5 years. Confirm with the chart maintainers which Zabbix versions the chart and templates target, and plan the upgrade path before go-live.

Does Kubernetes monitoring need a Zabbix proxy inside the cluster?

A proxy inside or near the cluster is the common design, because it keeps collection local and reduces the number of firewall paths to the Zabbix server. The design in this topic places an in-cluster proxy that polls the Kubernetes API and kubelets, then sends the data to the server. Proxies are also where load distribution matters. From Zabbix 7.0 onward, proxy groups redistribute monitored hosts between proxies when one goes offline, which helps if you run more than one proxy. Each proxy needs its own resources and a stable network path, so size it for the hosts and items that discovery produces. Confirm in the design review whether one proxy suits your cluster count, and whether you need a proxy group for availability.

What breaks when monitoring a large Kubernetes cluster with Zabbix?

The usual failures are too many discovered objects, an API token with more rights than it needs and template mismatches after upgrades. Discovery on a large cluster can create far more hosts and items than the proxy and database can handle, so set discovery filters before the first full run. Check the number of namespaces and objects in scope, and test against the largest cluster you have. Token permissions tend to grow over time, so review RBAC after each change. Kubernetes maintains the three most recent minor releases, and cluster upgrades can change API responses or metrics, so retest templates after every minor upgrade. Version skew between the API server, control plane and kubelets also affects what the kubelet template sees. Keep these checks in your runbook.

Who owns the Kubernetes monitoring setup after go-live?

One named owner keeps the setup running after go-live, and the recurring work is predictable. Plan for template and chart updates, token rotation, Zabbix upgrades within the support window and Kubernetes upgrades that change the API or kubelet behavior. Kubernetes releases come roughly three times a year on a cycle of about 14 weeks, so the same cluster needs repeated checks. Assign one team to own the Zabbix side and one to own the cluster side, and document who approves changes. DeployOpen offers ongoing support, upgrades and testing as retainers, so you can bring in specialist help for upgrade windows without making it a daily operation. Ask any provider which tasks a retainer covers, how changes get scheduled and what evidence you receive after each upgrade.

How DeployOpen scopes and delivers the Kubernetes integration

DeployOpen plans and delivers Zabbix Kubernetes monitoring with the official Helm chart inside your own clusters and cloud accounts. Most engagements are fixed-scope, so the cluster inventory, in-cluster proxy layout, API token access and template choices are agreed in writing before any build starts. Ongoing support and upgrades are available as a retainer.

How we scope

  • The written scope lists which clusters, namespaces and node pools Zabbix will monitor and which ones stay out.
  • It names the in-cluster proxy placement, the API token account and the RBAC role it needs, in writing.
  • Discovery filters for large clusters are sized to the namespaces and workloads that you need tracked.

How we build

  • Deploy the official Helm chart with values reviewed against your cluster layout, image sources and registry policy.
  • Attach the node, control plane and kubelet templates, then test each one against a non-production cluster first.
  • Tune discovery filters and polling settings, then confirm that problems, items and triggers match the agreed inventory.

How we hand over

  • Handover includes the deployed values, the token and RBAC configuration and a record of every template change made.
  • Runbooks cover proxy restarts, token rotation, chart upgrades and what to check when a node stops reporting.
  • Your team receives a walkthrough of the dashboards, problem flow and discovery filter settings it will maintain.

How we support

  • Retainers can cover chart upgrades, template updates and Zabbix version moves, scoped in writing for each change.
  • Ask whether the retainer covers Kubernetes version changes, since proxy and template compatibility depends on those changes.
  • Confirm with Zabbix which release line your environment will run, using its life cycle policy before the build starts.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.