a2f8b6433ad78de4051639234c3467b12b0179b5
## Summary Implements configurable query execution timeout controls to prevent poorly optimized or excessive queries from consuming excessive server resources, causing performance degradation, or crashing the Zabbix server. Fixes: https://github.com/grafana/oss-big-tent-squad/issues/127 ## Problem Previously, the plugin only had an HTTP connection timeout (`timeout`) that controlled individual API request timeouts. However, a complete query execution could involve multiple API calls and run indefinitely if not properly controlled, potentially causing resource exhaustion. ## Solution Added a new `queryTimeout` setting that enforces a maximum execution time for entire database queries initiated by the plugin. Queries exceeding this limit are automatically terminated with proper error handling and logging. ## Testing 1. Configure a datasource with `queryTimeout` set to a low value (e.g., 5 seconds) 2. Execute a query that would normally take longer than the timeout 3. Verify that: - Query is terminated after the timeout period - Error message indicates timeout occurred - Logs contain timeout warning with query details - Other queries in the same request continue to execute ## Notes - `queryTimeout` is separate from `timeout` (HTTP connection timeout) - `queryTimeout` applies to the entire query execution, which may involve multiple API calls - Default value of 60 seconds ensures reasonable protection while allowing normal queries to complete - Timeout errors are logged with query refId, queryType, timeout duration, and datasourceId for troubleshooting
Zabbix plugin for Grafana
Features
- Select multiple metrics by using Regex
- Create interactive and reusable dashboards with template variables
- Show events on graphs with Annotations
- Display active problems with Triggers panel
- Transform and shape your data with metric processing functions (Avg, Median, Min, Max, Multiply, Summarize, Time shift, Alias)
- Find problems faster with Alerting feature
- Mix metrics from multiple data sources in the same dashboard or even graph
- Discover and share dashboards in the official library
See all features overview and dashboards examples at Grafana-Zabbix Live demo site. Visit plugins page at grafana.com and check out available Grafana data sources, panels and dashboards.
Installation
Install by using grafana-cli
grafana-cli plugins install alexanderzobnin-zabbix-app
Or see more installation options in docs.
Getting started
First, configure Zabbix data source. Then you can create your first dashboard with step-by-step Getting started guide.
Documentation
Community Resources, Feedback, and Support
- Found a bug? Want a new feature? Feel free to open an issue.
- Have a question? You also can open issue, but for questions, it would be better to use Grafana Community portal.
Description
Languages
TypeScript
68.4%
Go
22.8%
SCSS
5.3%
JavaScript
1.3%
Python
1%
Other
1.1%
