orrisroot 9853a155cf
Validate / lint (push) Successful in 8s
Validate / import-test (Zabbix 7.0) (push) Successful in 51s
Validate / import-test (Zabbix 8.0) (push) Successful in 37s
chore: follow Zabbix 8.0 LTS GA release
Re-validate the 8.0 export against the Zabbix 8.0.0 release and drop
references to the development build.

- Import the 8.0 export into Zabbix 8.0.0 and link it to a test host.
- Mark 8.0 LTS as supported in the README and version policy.
- Remove the alpine-trunk fallback note now that 8.0 images exist.
- Run the CI import test as a 7.0/8.0 matrix with distinct project
  names and host ports so parallel jobs do not collide.
2026-11-06 16:17:32 +09:00

Zabbix Custom Templates

A collection of custom Zabbix templates targeting Zabbix 7.0 LTS and 8.0 LTS.

Supported Versions

Zabbix Status
7.0 LTS Primary
8.0 LTS Supported (tested with 8.0.0)

See docs/versioning.md for the version directory policy.

Templates

ID Template Version Zabbix Tested Description
san/dell_powervault_me Dell PowerVault ME by SNMP 1.0.0 7.0+ 7.0, 8.0 Monitors Dell PowerVault ME storage systems via SNMP, including system information, unit health, sensors, ports, and firmware revisions.

Repository Layout

templates/<category>/<product>/
├── README.md
├── CHANGELOG.md
├── manifest.yaml
├── 7.0/
│   └── template_....yaml
└── assets/                 # optional
  • templates/: Template packages. One directory is one import unit.
  • global/: Shared configuration that is not included in template exports, such as global scripts and media types.
  • docs/: Conventions, version policy, and release process.
  • scripts/: Scaffolding, validation, export, and packaging scripts.
  • tests/: Disposable Zabbix and PostgreSQL stack for import tests.

Requirements

  • Python 3.10 or later
  • PyYAML and yamllint
  • Docker and Docker Compose (for import tests)
  • curl, jq, and zip
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements-dev.txt

Adding a Template

make new \
  CATEGORY=app \
  PRODUCT=apache \
  NAME="Apache by HTTP" \
  METHOD=http

METHOD defaults to agent. Use PRODUCT=cisco/ios when vendor grouping is needed.

After scaffolding, export the template from the matching Zabbix version as YAML and place it under templates/app/apache/7.0/ or templates/app/apache/8.0/. Remove the .gitkeep file once the export is in place.

make lint        # YAML lint and manifest validation
make index       # Update the template list in README.md
make import-test # Import into a disposable Zabbix instance

make import-test requires access to the Docker daemon. The test Zabbix stack is defined in tests/compose.yaml and is removed on exit. To keep the stack running, use KEEP_STACK=1 make import-test.

The import test detects the Zabbix server version and imports only the matching version directory. To test Zabbix 8.0, override the image tags:

ZBX_SERVER_IMAGE=alpine-8.0-latest \
ZBX_WEB_IMAGE=alpine-8.0-latest \
ZBX_TEST_PROJECT=zabbix-templates-test-8 \
make import-test

Importing a Template

Open Data collection > Templates in Zabbix, choose Import, and select the YAML file under templates/<...>/7.0/ or templates/<...>/8.0/ depending on your Zabbix version. Exports include linked templates, so a single import is normally sufficient.

Packaging

make package

Distribution zips are written to dist/. The dist/ directory is not tracked by Git.

Documentation

Notes

  • Never commit secrets such as SNMP communities, API tokens, or passwords.
  • When a template is derived from an official or community template, record the upstream URL in manifest.yaml under source and comply with the original license.
  • This repository does not have a repository-wide license yet. Add a LICENSE file before publishing.
S
Description
No description provided
Readme
86 KiB
Languages
Shell 50.5%
Python 46.6%
Makefile 2.9%