docs: update docs structure and nav
This commit is contained in:
121
docs/sources/configuration/index.md
Normal file
121
docs/sources/configuration/index.md
Normal file
@@ -0,0 +1,121 @@
|
||||
page_title: Grafana-Zabbix Configuration
|
||||
page_description: Plugin configuration instructions for Grafana-Zabbix.
|
||||
|
||||
# Configuration
|
||||
|
||||
## Enable plugin
|
||||
Go to the plugins in Grafana side panel, select _Apps_ tab, then select _Zabbix_, open _Config_
|
||||
tab and enable plugin.
|
||||
|
||||

|
||||
|
||||
## Configure Zabbix data source
|
||||
After enabling plugin you can add Zabbix data source.
|
||||
|
||||
To add new Zabbix data source open _Data Sources_ in side panel, click _Add data source_ and
|
||||
select _Zabbix_ from dropdown list.
|
||||
|
||||

|
||||
|
||||
### HTTP settings
|
||||
|
||||
- **Url**: set Zabbix API url (full path with `api_jsonrpc.php`).
|
||||
- **Access**:
|
||||
- **Proxy**: access via Grafana backend
|
||||
- **Direct**: access from browser.
|
||||
- **Http Auth**: configure if you use proxy authentication.
|
||||
- **Basic Auth**:
|
||||
- **With Credentials**:
|
||||
|
||||
Proxy access means that the Grafana backend will proxy all requests from the browser, and send them on to the Data Source. This is useful because it can eliminate CORS (Cross Origin Site Resource) issues, as well as eliminate the need to disseminate authentication details to the Data Source to the browser.
|
||||
|
||||
Direct access is still supported because in some cases it may be useful to access a Data Source directly depending on the use case and topology of Grafana, the user, and the Data Source.
|
||||
|
||||
### Zabbix API details
|
||||
|
||||
- **User** and **Password**: setup login for access to Zabbix API. Also check user's permissions
|
||||
in Zabbix if you can't get any groups and hosts in Grafana.
|
||||
- **Trends**: enable if you use Zabbix 3.x or patch for trends
|
||||
support in Zabbix 2.x ([ZBXNEXT-1193](https://support.zabbix.com/browse/ZBXNEXT-1193)). This option
|
||||
strictly recommended for displaying long time periods (more than few days, depending of your item's
|
||||
updating interval in Zabbix) because few days of item history contains tons of points. Using trends
|
||||
will increase Grafana performance.
|
||||
- **After**: time after which trends will be used.
|
||||
Best practice is to set this value to your history storage period (7d, 30d, etc). Default is **7d** (7 days).
|
||||
You can set the time in Grafana format. Valid time specificators are:
|
||||
- **h** - hours
|
||||
- **d** - days
|
||||
- **M** - months
|
||||
- **Range**: Time range width after which trends will be used instead of history.
|
||||
It's better to set this value in range of 4 to 7 days to prevent loading large amount of history data.
|
||||
Default is 4 days.
|
||||
- **Cache TTL**: plugin caches some api requests for increasing performance. Set this
|
||||
value to desired cache lifetime (this option affect data like items list).
|
||||
|
||||
### Direct DB Connection
|
||||
|
||||
Direct DB Connection allows plugin to use existing SQL data source for querying history data directly from Zabbix
|
||||
database. This way usually faster than pulling data from Zabbix API, especially on the wide time ranges, and reduces
|
||||
amount of data transfered.
|
||||
|
||||
Read [how to configure](/configuration/sql_datasource) SQL data source in Grafana.
|
||||
|
||||
- **Enable**: enable Direct DB Connection.
|
||||
- **SQL Data Source**: Select SQL Data Source for Zabbix database.
|
||||
|
||||
#### Supported databases
|
||||
|
||||
**MySQL** and **PostgreSQL** are supported by Grafana.
|
||||
|
||||
### Alerting
|
||||
|
||||
- **Enable alerting**: enable limited alerting support.
|
||||
- **Add thresholds**: get thresholds info from zabbix triggers and add it to graphs.
|
||||
For example, if you have trigger `{Zabbix server:system.cpu.util[,iowait].avg(5m)}>20`, threshold will be set to 20.
|
||||
- **Min severity**: minimum trigger severity for showing alert info (OK/Problem).
|
||||
|
||||
Then click _Add_ - datasource will be added and you can check connection using
|
||||
_Test Connection_ button. This feature can help to find some mistakes like invalid user name
|
||||
or password, wrong api url.
|
||||
|
||||

|
||||
|
||||
## Import example dashboards
|
||||
|
||||
You can import dashboard examples from _Dashboards_ tab in plugin config.
|
||||

|
||||
|
||||
## Note about Zabbix 2.2 or less
|
||||
|
||||
Zabbix API (api_jsonrpc.php) before zabbix 2.4 don't allow cross-domain requests (CORS). And you
|
||||
can get HTTP error 412 (Precondition Failed).
|
||||
To fix it add this code to api_jsonrpc.php immediately after the copyright:
|
||||
|
||||
```php
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
header('Access-Control-Allow-Headers: Content-Type');
|
||||
header('Access-Control-Allow-Methods: POST');
|
||||
header('Access-Control-Max-Age: 1000');
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
|
||||
return;
|
||||
}
|
||||
```
|
||||
|
||||
before
|
||||
|
||||
```php
|
||||
require_once dirname(__FILE__).'/include/func.inc.php';
|
||||
require_once dirname(__FILE__).'/include/classes/core/CHttpRequest.php';
|
||||
```
|
||||
|
||||
[Full fix listing](https://gist.github.com/alexanderzobnin/f2348f318d7a93466a0c).
|
||||
For more details see zabbix issues [ZBXNEXT-1377](https://support.zabbix.com/browse/ZBXNEXT-1377)
|
||||
and [ZBX-8459](https://support.zabbix.com/browse/ZBX-8459).
|
||||
|
||||
## Note about Browser Cache
|
||||
|
||||
After updating plugin, clear browser cache and reload application page. See details
|
||||
for [Chrome](https://support.google.com/chrome/answer/95582),
|
||||
[Firefox](https://support.mozilla.org/en-US/kb/how-clear-firefox-cache). You need to clear cache
|
||||
only, not cookies, history and other data.
|
||||
48
docs/sources/configuration/provisioning.md
Normal file
48
docs/sources/configuration/provisioning.md
Normal file
@@ -0,0 +1,48 @@
|
||||
page_title: Provisioning Grafana-Zabbix plugin
|
||||
page_description: Grafana-Zabbix plugin provisioning instructions.
|
||||
|
||||
# Provisioning Grafana-Zabbix plugin
|
||||
|
||||
It’s now possible to configure datasources using config files with Grafana’s provisioning system. You can read more about how it works and all the settings you can set for datasources on the [provisioning docs page](http://docs.grafana.org/administration/provisioning/#datasources)
|
||||
|
||||
### Example Datasource Config File
|
||||
|
||||
```yaml
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Zabbix
|
||||
type: alexanderzobnin-zabbix-datasource
|
||||
access: proxy
|
||||
url: http://localhost/zabbix/api_jsonrpc.php
|
||||
isDefault: true
|
||||
jsonData:
|
||||
# Zabbix API credentials
|
||||
username: zabbix
|
||||
password: zabbix
|
||||
# Trends options
|
||||
trends: true
|
||||
trendsFrom: "7d"
|
||||
trendsRange: "4d"
|
||||
# Cache update interval
|
||||
cacheTTL: "1h"
|
||||
# Alerting options
|
||||
alerting: true
|
||||
addThresholds: false
|
||||
alertingMinSeverity: 3
|
||||
# Disable acknowledges for read-only users
|
||||
disableReadOnlyUsersAck: true
|
||||
# Direct DB Connection options
|
||||
dbConnectionEnable: true
|
||||
# Name of existing SQL datasource
|
||||
dbConnectionDatasourceName: MySQL Zabbix
|
||||
version: 1
|
||||
editable: false
|
||||
|
||||
- name: MySQL Zabbix
|
||||
type: mysql
|
||||
url: localhost:3306
|
||||
database: zabbix
|
||||
user: grafana
|
||||
password: password
|
||||
```
|
||||
34
docs/sources/configuration/sql_datasource.md
Normal file
34
docs/sources/configuration/sql_datasource.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# SQL Data Source Configuration
|
||||
|
||||
## MySQL
|
||||
|
||||
In order to use _Direct DB Connection_ feature you should configure SQL data source first.
|
||||
|
||||

|
||||
|
||||
Select _MySQL_ data source type and provide your database host address and port (3306 is default for MySQL). Fill
|
||||
database name (usually, `zabbix`) and specify credentials.
|
||||
|
||||
### Security notes
|
||||
|
||||
As you can see in _User Permission_ note, Grafana doesn't restrict any queries to the database. So you should be careful
|
||||
and create a special user with limited access to Zabbix database. Grafana-Zabbix plugin uses only `SELECT` queries to
|
||||
`history`, `history_uint`, `trends` and `trends_uint` tables. So it's reasonable to grant only SELECT privileges to
|
||||
these tables for grafana user. But if you want to use this MySQL data source for querying another data, you can
|
||||
grant SELECT privileges to entire zabbix database.
|
||||
|
||||
Also, all queries are invoked by grafana-server, so you can restrict connection to only grafana host.
|
||||
|
||||
```sql
|
||||
GRANT SELECT ON zabbix.* TO 'grafana'@'grafana-host' identified by 'password';
|
||||
```
|
||||
|
||||
## PostgreSQL
|
||||
|
||||
Select _PostgreSQL_ data source type and provide your database host address and port (5432 is default). Fill
|
||||
database name (usually, `zabbix`) and specify credentials.
|
||||
|
||||

|
||||
### Security notes
|
||||
|
||||
Make sure you use read-only user for Zabbix database.
|
||||
5
docs/sources/configuration/troubleshooting.md
Normal file
5
docs/sources/configuration/troubleshooting.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Troubleshooting
|
||||
See [Grafana troubleshooting](http://docs.grafana.org/installation/troubleshooting/) for general
|
||||
connection issues. If you have a problem with Zabbix datasource, you should open
|
||||
a [support issue](https://github.com/alexanderzobnin/grafana-zabbix/issues). Before you do that
|
||||
please search the existing closed or open issues.
|
||||
Reference in New Issue
Block a user