Zabbix 7.0 Custom Dashboards
Zabbix 7.0 introduced a completely redesigned dashboard engine with widget-based layouts and shared dashboards.
Installation (Ubuntu 22.04)
BASH
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb
dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb
apt update
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2Custom Item Types
TEXT
# SNMP item for MikroTik CPU
Type: SNMP agent
OID: .1.3.6.1.4.1.14988.1.1.3.14.0
Key: mikrotik.cpu.load
Type of information: Numeric (float)
Update interval: 60sCreate Network Dashboard
Essential widgets for network monitoring:- Graph widget: Bandwidth per interface (last 24h)
- Gauge widget: CPU utilization % (color thresholds: green<60, yellow<80, red>80)
- Top hosts: Hosts by traffic or CPU
- Map widget: Network topology with live status
- Problem widget: Active alerts by severity
Custom Template via API
PYTHON
import requests
zabbix_url = "http://zabbix.local/api_jsonrpc.php"
# Authenticate
auth = requests.post(zabbix_url, json={
"jsonrpc": "2.0",
"method": "user.login",
"params": {"username": "Admin", "password": "zabbix"},
"id": 1
}).json()["result"]
# Create item
requests.post(zabbix_url, json={
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Interface {#IFNAME} — In traffic",
"key_": "net.if.in[{#IFNAME}]",
"hostid": "10001",
"type": 0,
"value_type": 3,
"delay": "60s"
},
"auth": auth,
"id": 2
})Grafana Integration
BASH
# Install Grafana Zabbix plugin
grafana-cli plugins install alexanderzobnin-zabbix-app
# Configure data source in Grafana
# URL: http://zabbix.local/api_jsonrpc.php
# Username: zabbix-readonlyAlert Escalation
Configure multi-level escalation: 1st notify on-call → 15min → notify team lead → 30min → notify manager.
