01-grafana.mdx 6.9 KB
Newer Older
D
dingbo 已提交
1 2 3 4 5
---
sidebar_label: Grafana
title: Grafana
---

6
TDengine can be quickly integrated with the open-source data visualization system [Grafana](https://www.grafana.com/) to build a data monitoring and alerting system. The whole process does not require any code development. And you can visualize the contents of the data tables in TDengine on a dashboard.
D
dingbo 已提交
7

8
You can learn more about using the TDengine plugin on [GitHub](https://github.com/taosdata/grafanaplugin/blob/master/README.md).
D
dingbo 已提交
9

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
10 11
## Prerequisites

12 13
In order for Grafana to add the TDengine data source successfully, the following preparations are required:

陶建辉(Jeff)'s avatar
陶建辉(Jeff) 已提交
14 15 16
1. The TDengine cluster is deployed and functioning properly
2. taosAdapter is installed and running properly. Please refer to the taosAdapter manual for details.

17 18 19 20 21
Record these values:

- TDengine REST API url: `http://tdengine.local:6041`.
- TDengine cluster authorization, with user + password.

22
## Installing Grafana
D
dingbo 已提交
23

24
TDengine currently supports Grafana versions 7.5 and above. Users can go to the Grafana official website to download the installation package and execute the installation according to the current operating system. The download address is as follows: <https://grafana.com/grafana/download>.
D
dingbo 已提交
25

26
## Configuring Grafana
D
dingbo 已提交
27

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
### Option 1: Install with `install.sh`

Set the url and authorization environment variables by `export` or a [`.env`(dotenv) file](https://hexdocs.pm/dotenvy/dotenv-file-format.html):

```sh
export TDENGINE_API=http://tdengine.local:6041
# user + password
export TDENGINE_USER=user
export TDENGINE_PASSWORD=password
```

Run `install.sh`:

```sh
bash -c "$(curl -fsSL https://raw.githubusercontent.com/taosdata/grafanaplugin/master/install.sh)"
```

With this script, TDengine data source plugin and the Grafana data source will be installed and created automatically with Grafana provisioning configurations.

And then, restart Grafana service and open Grafana in web-browser, usually <http://localhost:3000>.

### Option 2: Install Plugin Manually

51
Follow the installation steps in [Grafana](https://grafana.com/grafana/plugins/tdengine-datasource/?tab=installation) with the [``grafana-cli`` command-line tool](https://grafana.com/docs/grafana/latest/administration/cli/) for plugin installation.
52

S
Sean Ely 已提交
53
```bash
54 55 56
grafana-cli plugins install tdengine-datasource
# with sudo
sudo -u grafana grafana-cli plugins install tdengine-datasource
D
dingbo 已提交
57 58
```

59
Alternatively, you can manually download the .zip file from [GitHub](https://github.com/taosdata/grafanaplugin/tags) or [Grafana](https://grafana.com/grafana/plugins/tdengine-datasource/?tab=installation) and unpack it into your grafana plugins directory.
D
dingbo 已提交
60 61

```bash
62 63
GF_VERSION=3.2.2
# from GitHub
D
dingbo 已提交
64
wget https://github.com/taosdata/grafanaplugin/releases/download/v$GF_VERSION/tdengine-datasource-$GF_VERSION.zip
65 66
# from Grafana
wget -O tdengine-datasource-$GF_VERSION.zip https://grafana.com/api/plugins/tdengine-datasource/versions/$GF_VERSION/download
D
dingbo 已提交
67 68
```

69
Take CentOS 7.2 for example, extract the plugin package to /var/lib/grafana/plugins directory, and restart grafana.
D
dingbo 已提交
70 71 72 73 74

```bash
sudo unzip tdengine-datasource-$GF_VERSION.zip -d /var/lib/grafana/plugins/
```

75
If Grafana is running in a Docker environment, the TDengine plugin can be automatically installed and set up using the following environment variable settings:
D
dingbo 已提交
76 77

```bash
78
GF_INSTALL_PLUGINS=tdengine-datasource
D
dingbo 已提交
79 80
```

81
Now users can log in to the Grafana server (username/password: admin/admin) directly through the URL `http://localhost:3000` and add a datasource through `Configuration -> Data Sources` on the left side, as shown in the following figure.
D
dingbo 已提交
82

D
dingbo 已提交
83
![TDengine Database TDinsight plugin add datasource 1](./grafana/add_datasource1.webp)
D
dingbo 已提交
84

85
Click `Add data source` to enter the Add data source page, and enter TDengine in the query box to add it, as shown in the following figure.
D
dingbo 已提交
86

D
dingbo 已提交
87
![TDengine Database TDinsight plugin add datasource 2](./grafana/add_datasource2.webp)
D
dingbo 已提交
88

89
Enter the datasource configuration page, and follow the default prompts to modify the corresponding configuration.
D
dingbo 已提交
90

D
dingbo 已提交
91
![TDengine Database TDinsight plugin add database 3](./grafana/add_datasource3.webp)
D
dingbo 已提交
92

sangshuduo's avatar
sangshuduo 已提交
93
- Host: IP address of the server where the components of the TDengine cluster provide REST service (offered by taosd before 2.4 and by taosAdapter since 2.4) and the port number of the TDengine REST service (6041), by default use `http://localhost:6041`.
94 95
- User: TDengine user name.
- Password: TDengine user password.
D
dingbo 已提交
96

97
Click `Save & Test` to test. You should see a success message if the test worked.
D
dingbo 已提交
98

D
dingbo 已提交
99
![TDengine Database TDinsight plugin add database 4](./grafana/add_datasource4.webp)
D
dingbo 已提交
100

101
### Create Dashboard
D
dingbo 已提交
102

103
Go back to the main interface to create a dashboard and click Add Query to enter the panel query page:
D
dingbo 已提交
104

D
dingbo 已提交
105
![TDengine Database TDinsight plugin create dashboard 1](./grafana/create_dashboard1.webp)
D
dingbo 已提交
106

107
As shown above, select the `TDengine` data source in the `Query` and enter the corresponding SQL in the query box below for query.
D
dingbo 已提交
108

S
Sean Ely 已提交
109
- INPUT SQL: enter the statement to be queried (the result set of the SQL statement should be two columns and multiple rows), for example: `select avg(mem_system) from log.dn where ts >= $from and ts < $to interval($interval)`, where, from, to and interval are built-in variables of the TDengine plugin, indicating the range and time interval of queries fetched from the Grafana plugin panel. In addition to the built-in variables, custom template variables are also supported.
110 111
- ALIAS BY: This allows you to set the current query alias.
- GENERATE SQL: Clicking this button will automatically replace the corresponding variables and generate the final executed statement.
D
dingbo 已提交
112

113
Follow the default prompt to query the average system memory usage for the specified interval on the server where the current TDengine deployment is located as follows.
D
dingbo 已提交
114

D
dingbo 已提交
115
![TDengine Database TDinsight plugin create dashboard 2](./grafana/create_dashboard2.webp)
D
dingbo 已提交
116

117
> For more information on how to use Grafana to create the appropriate monitoring interface and for more details on using Grafana, refer to the official Grafana [documentation](https://grafana.com/docs/).
D
dingbo 已提交
118

119
### Importing the Dashboard
D
dingbo 已提交
120

121 122 123 124 125 126 127 128
You can install TDinsight dashboard in data source configuration page (like `http://localhost:3000/datasources/edit/1/dashboards`) as a monitoring visualization tool for TDengine cluster. The dashboard is published in Grafana as [Dashboard 15167 - TDinsight](https://grafana.com/grafana/dashboards/15167). Check the [TDinsight User Manual](/reference/tdinsight/) for the details.

For more dashboards using TDengine data source, [search here in Grafana](https://grafana.com/grafana/dashboards/?dataSource=tdengine-datasource). Here is a sub list:

- [15146](https://grafana.com/grafana/dashboards/15146): Monitor multiple TDengine clusters.
- [15155](https://grafana.com/grafana/dashboards/15155): TDengine alert demo.
- [15167](https://grafana.com/grafana/dashboards/15167): TDinsight.
- [16388](https://grafana.com/grafana/dashboards/16388): Telegraf node metrics dashboard using TDengine data source.