diff --git a/.gitignore b/.gitignore index 93706d6..55fcca7 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,7 @@ # Grafana linter config .jshintrc .jscs.json -.jsfmtrc \ No newline at end of file +.jsfmtrc + +# Builded docs +docs/site/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..be343e6 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1 @@ +# Contributing to Grafana-Zabbix \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..0be8737 --- /dev/null +++ b/docs/README.md @@ -0,0 +1 @@ +# Grafana-Zabbix Documentation \ No newline at end of file diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 0000000..7397aaa --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,24 @@ +site_name: Grafana-Zabbix Documentation +#site_url: http://docs.grafana-zabbix.org/ +#site_url: / +site_description: Documentation for Grafana-Zabbix, Zabbix monitoring system plugin bundle for Grafana +repo_url: https://github.com/alexanderzobnin/grafana-zabbix/ +copyright: Copyright © 2014-2015, Alexander Zobnin + +docs_dir: sources +theme: readthedocs + +pages: +- Project: + - 'About Grafana-Zabbix': 'index.md' + - 'Feature Highlights': 'features.md' +- Installation: + - 'Installation and Configuration': 'installation/index.md' + - 'Troubleshooting': 'installation/troubleshooting.md' +- User Guides: + - 'Getting Started': 'guides/gettingstarted.md' +- Reference: + - 'Zabbix Datasource': 'reference/datasource-zabbix.md' + - 'Triggers Panel': 'reference/panel-triggers.md' +- Tutorials: + - 'Building Host Dashboard': 'tutorials/host_dashboard.md' diff --git a/docs/sources/features.md b/docs/sources/features.md new file mode 100644 index 0000000..9f91a5a --- /dev/null +++ b/docs/sources/features.md @@ -0,0 +1,11 @@ +page_title: Feature Highlights +page_description: Grafana-Zabbix Feature Highlights. + +# Feature Highlights + +Grafana in couple with Grafana-Zabbix plugin allows to create great dashboards. There is some +features: + +- Rich graphing with Grafana +- Template variables allow to create reusable dashboards + diff --git a/docs/sources/guides/gettingstarted.md b/docs/sources/guides/gettingstarted.md new file mode 100644 index 0000000..67236f1 --- /dev/null +++ b/docs/sources/guides/gettingstarted.md @@ -0,0 +1,3 @@ +# Getting Started with Grafana-Zabbix +After you [installed and configured](../installation/index.md) Grafana-Zabbix data source let's +create a simple dashboard. \ No newline at end of file diff --git a/docs/sources/img/.gitattributes b/docs/sources/img/.gitattributes new file mode 100644 index 0000000..257c15f --- /dev/null +++ b/docs/sources/img/.gitattributes @@ -0,0 +1,3 @@ +*.png filter=lfs diff=lfs merge=lfs -text +*.jpg filter=lfs diff=lfs merge=lfs -text +*.psd filter=lfs diff=lfs merge=lfs -text diff --git a/docs/sources/img/installation-add_datasource.png b/docs/sources/img/installation-add_datasource.png new file mode 100644 index 0000000..1163c20 --- /dev/null +++ b/docs/sources/img/installation-add_datasource.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62deb035e0d9241c2ae9825b101c86d329766cf421a5e2555449f71420cb9891 +size 58575 diff --git a/docs/sources/img/installation-datasource_config.png b/docs/sources/img/installation-datasource_config.png new file mode 100644 index 0000000..36a86c1 --- /dev/null +++ b/docs/sources/img/installation-datasource_config.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5275ed470657abc2c9c0d648e1a24c0f1b3a029206f8aa9594009b837f3ec2f1 +size 50282 diff --git a/docs/sources/img/installation-test_connection.png b/docs/sources/img/installation-test_connection.png new file mode 100644 index 0000000..2260793 --- /dev/null +++ b/docs/sources/img/installation-test_connection.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:767ffe4d4385871847acb9c1b77b42f63144299810c5c97af2eee9057e19c6d7 +size 12828 diff --git a/docs/sources/img/installation-test_connection_error.png b/docs/sources/img/installation-test_connection_error.png new file mode 100644 index 0000000..ee85b01 --- /dev/null +++ b/docs/sources/img/installation-test_connection_error.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee8a5b214d169eb70f8c591cb0e64910b280ce1a8abe1fbf8ee4de26af81a809 +size 14287 diff --git a/docs/sources/index.md b/docs/sources/index.md new file mode 100644 index 0000000..a51280b --- /dev/null +++ b/docs/sources/index.md @@ -0,0 +1,32 @@ +page_title: About Grafana-Zabbix +page_description: Introduction to Grafana-Zabbix. + +# About Grafana-Zabbix + +Grafana-Zabbix is a plugin bundle for Grafana allowing to visualize monitoring data from Zabbix +and create dashboards for analyzing metrics and realtime monitoring. The main goals of this project +is extend Zabbix capabilities for monitoring data visualization and provide quick and powerful way +to create dashboards. It is possible due both Grafana and Grafana-Zabbix plugin features. + +## Community Resources, Feedback, and Support + +This project is being started as a simple plugin for Grafana. But many powerful features and +improvements come from community. So don't hesitate to give any feedback and together we will make +this tool better. + +If you have any troubles with Grafana or you just want clarification on a feature, there are +a number of ways to get help: + +- [Troubleshooting guide](/installation/troubleshooting/) +- Search closed and open [issues on GitHub](https://github.com/grafana/grafana/issues) +- [Gitter room](https://gitter.im/alexanderzobnin/grafana-zabbix) +- [Twitter](https://twitter.com/AlexanderZobnin) + +Or you can just send me [emai](mailto:alexanderzobnin@gmail.com). + +## License + +By utilizing this software, you agree to the terms of the included license. Grafana-Zabbix is +licensed under the Apache 2.0 agreement. See +[LICENSE](https://github.com/alexanderzobnin/grafana-zabbix/blob/master/LICENSE.md) for the full +license terms. diff --git a/docs/sources/installation/index.md b/docs/sources/installation/index.md new file mode 100644 index 0000000..dea39fc --- /dev/null +++ b/docs/sources/installation/index.md @@ -0,0 +1,118 @@ +page_title: Grafana-Zabbix Installation +page_description: Installation instructions for Grafana-Zabbix. + +# Installation +Download [latest release](https://github.com/alexanderzobnin/grafana-zabbix/releases/latest) +for relative Grafana version or just clone a repo: +``` +git clone https://github.com/alexanderzobnin/grafana-zabbix.git +``` + +## Copy into plugins directory +Copy content of `plugins` into your grafana plugins directory (default `/var/lib/grafana/plugins` +if your installing grafana with package). +Restart grafana-server and the plugin should be automatically detected and used. + +```sh +git clone https://github.com/alexanderzobnin/grafana-zabbix.git +cp -r ./grafana-zabbix/plugins/* /your/grafana/plugins/directory/ +sudo service grafana-server restart +``` + + +## Use directory of your choice + +By this way you can update plugin by simple `git pull` command. + +Edit your grafana.ini config file (Default location is at `/etc/grafana/grafana.ini`) +and add paths to plugins: + +```ini +[plugin.zabbix] +path = /home/your/clone/dir/plugins/datasource-zabbix + +[plugin.triggers] +path = /home/your/clone/dir/plugins/panel-triggers +``` + +Note that if you copy it into the grafana plugins directory you do not need to add the above +config option. That is only +if you want to place the plugin in a directory outside the standard plugins directory. +Be aware that grafana-server +needs read access to the directory. + +# Configuration + +To add new Zabbix data source open _Data Sources_ in side panel, click _Add new_ and select Zabbix +from dropdown list. + +![Add zabbix data source](../img/installation-add_datasource.png) + +Then configure a data source + +![Configure zabbix data source](../img/installation-datasource_config.png) + +### Http settings + +- **Url**: set Zabbix API url (full path with `api_jsonrpc.php`). +- **Access**: can be either _proxy_ or _direct_. +- **Http Auth**: configure if you use proxy authentication. + - **Basic Auth**: + - **With Credentials**: + +### Zabbiz 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 patch for trends +support in Zabbix 2.x ([ZBXNEXT-1193](https://support.zabbix.com/browse/ZBXNEXT-1193)). This is +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 +can increase Grafana performance. + - **Use trends from**: time after which trends will be used. Default is **7d** (7 days). + You can set the time in Grafana format. Valid time specificators are: + - **h** - hours + - **d** - days + - **M** - months +- **Metrics limit**: maximum items number which can be returned by one request. Helps to prevent +Grafana slowdown due wrong request. + +Then click _Add_ - datasource will be added and you can check connection using _Test Connection_ button. + +![Test Connection](../img/installation-test_connection.png) + +This feature can help to find some mistakes like invalid user name or password, wrong api url. + +![Test Connection - Error](../img/installation-test_connection_error.png) + + +## 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. diff --git a/docs/sources/installation/troubleshooting.md b/docs/sources/installation/troubleshooting.md new file mode 100644 index 0000000..a84d15c --- /dev/null +++ b/docs/sources/installation/troubleshooting.md @@ -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.