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

6 7 8
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

9
TDengine 能够与开源数据可视化系统 [Grafana](https://www.grafana.com/) 快速集成搭建数据监测报警系统,整个过程无需任何代码开发,TDengine 中数据表的内容可以在仪表盘(DashBoard)上进行可视化展现。关于 TDengine 插件的使用您可以在[GitHub](https://github.com/taosdata/grafanaplugin/blob/master/README.md)中了解更多。
B
Bo Ding 已提交
10

Z
zjj5 已提交
11 12
## 前置条件

13
要让 Grafana 能正常添加 TDengine 数据源,需要以下几方面的准备工作。
14

Z
zjj5 已提交
15 16 17
- TDengine 集群已经部署并正常运行
- taosAdapter 已经安装并正常运行。具体细节请参考 [taosAdapter 的使用手册](/reference/taosadapter)

18 19 20 21 22
记录以下信息:

- TDengine 集群 REST API 地址,如:`http://tdengine.local:6041`。
- TDengine 集群认证信息,可使用用户名及密码。

B
Bo Ding 已提交
23 24
## 安装 Grafana

25
目前 TDengine 支持 Grafana 7.5 以上的版本。用户可以根据当前的操作系统,到 Grafana 官网下载安装包,并执行安装。下载地址如下:<https://grafana.com/grafana/download>。
B
Bo Ding 已提交
26 27 28

## 配置 Grafana

29 30 31
### 安装 Grafana Plugin 并配置数据源

<Tabs defaultValue="script">
32
<TabItem value="gui" label="图形化界面安装">
33

34
使用 Grafana 最新版本(8.5+),您可以在 Grafana 中[浏览和管理插件](https://grafana.com/docs/grafana/next/administration/plugin-management/#plugin-catalog)(对于 7.x 版本,请使用 **安装脚本** 或 **手动安装并配置** 方式)。在 Grafana 管理界面中的 **Configurations > Plugins** 页面直接搜索并按照提示安装 TDengine。
35

36 37 38 39 40 41 42 43 44 45 46 47 48 49
![Search tdengine in grafana plugins](grafana-plugin-search-tdengine.png)

如图示即安装完毕,按照指示 **Create a TDengine data source** 添加数据源。

![Install and configure Grafana data source](grafana-install-and-config.png)

输入 TDengine 相关配置,完成数据源配置。

![TDengine Database Grafana plugin add data source](./grafana-data-source.png)

配置完毕,现在可以使用 TDengine 创建 Dashboard 了。

</TabItem>
<TabItem value="script" label="使用安装脚本">
50

51
对于使用 Grafana 7.x 版本或使用 [Grafana Provisioning](https://grafana.com/docs/grafana/latest/administration/provisioning/) 配置的用户,可以在 Grafana 服务器上使用安装脚本自动安装插件即添加数据源 Provisioning 配置文件。
52 53

```sh
54 55 56 57 58
bash -c "$(curl -fsSL \
  https://raw.githubusercontent.com/taosdata/grafanaplugin/master/install.sh)" -- \
  -a http://localhost:6041 \
  -u root \
  -p taosdata
59 60
```

61
安装完毕后,需要重启 Grafana 服务后方可生效。
62

63 64
保存该脚本并执行 `./install.sh --help` 可查看详细帮助文档。

65
</TabItem>
66
<TabItem value="manual" label="手动安装">
67

68
使用 [`grafana-cli` 命令行工具](https://grafana.com/docs/grafana/latest/administration/cli/) 进行插件[安装](https://grafana.com/grafana/plugins/tdengine-datasource/?tab=installation)。
B
Bo Ding 已提交
69 70

```bash
71 72 73
grafana-cli plugins install tdengine-datasource
# with sudo
sudo -u grafana grafana-cli plugins install tdengine-datasource
B
Bo Ding 已提交
74 75
```

76
或者从 [GitHub](https://github.com/taosdata/grafanaplugin/tags) 或 [Grafana](https://grafana.com/grafana/plugins/tdengine-datasource/?tab=installation) 下载 .zip 文件到本地并解压到 Grafana 插件目录。命令行下载示例如下:
B
Bo Ding 已提交
77 78

```bash
79 80
GF_VERSION=3.2.2
# from GitHub
B
Bo Ding 已提交
81
wget https://github.com/taosdata/grafanaplugin/releases/download/v$GF_VERSION/tdengine-datasource-$GF_VERSION.zip
82 83
# from Grafana
wget -O tdengine-datasource-$GF_VERSION.zip https://grafana.com/api/plugins/tdengine-datasource/versions/$GF_VERSION/download
B
Bo Ding 已提交
84 85 86 87 88 89 90 91
```

以 CentOS 7.2 操作系统为例,将插件包解压到 /var/lib/grafana/plugins 目录下,重新启动 grafana 即可。

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

92
如果 Grafana 在 Docker 环境下运行,可以使用如下的环境变量设置自动安装 TDengine 数据源插件:
B
Bo Ding 已提交
93 94

```bash
95
GF_INSTALL_PLUGINS=tdengine-datasource
B
Bo Ding 已提交
96 97
```

98
之后,用户可以直接通过 <http://localhost:3000> 的网址,登录 Grafana 服务器(用户名/密码:admin/admin),通过左侧 `Configuration -> Data Sources` 可以添加数据源,如下图所示:
B
Bo Ding 已提交
99

D
dingbo 已提交
100
![TDengine Database Grafana plugin add data source](./add_datasource1.webp)
B
Bo Ding 已提交
101 102 103

点击 `Add data source` 可进入新增数据源页面,在查询框中输入 TDengine 可选择添加,如下图所示:

D
dingbo 已提交
104
![TDengine Database Grafana plugin add data source](./add_datasource2.webp)
B
Bo Ding 已提交
105 106 107

进入数据源配置页面,按照默认提示修改相应配置即可:

D
dingbo 已提交
108
![TDengine Database Grafana plugin add data source](./add_datasource3.webp)
B
Bo Ding 已提交
109

110
- Host: TDengine 集群中提供 REST 服务 (在 2.4 之前由 taosd 提供, 从 2.4 开始由 taosAdapter 提供)的组件所在服务器的 IP 地址与 TDengine REST 服务的端口号(6041),默认 <http://localhost:6041>。
B
Bo Ding 已提交
111 112 113 114 115
- User:TDengine 用户名。
- Password:TDengine 用户密码。

点击 `Save & Test` 进行测试,成功会有如下提示:

D
dingbo 已提交
116
![TDengine Database Grafana plugin add data source](./add_datasource4.webp)
B
Bo Ding 已提交
117

118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184
</TabItem>
<TabItem value="manual" label="K8s/Docker 容器">

参考 [Grafana 容器化安装说明](https://grafana.com/docs/grafana/next/setup-grafana/installation/docker/#install-plugins-in-the-docker-container)。使用如下命令启动一个容器,并自动安装 TDengine 插件:

```bash
docker run -d \
  -p 3000:3000 \
  --name=grafana \
  -e "GF_INSTALL_PLUGINS=tdengine-datasource" \
  grafana/grafana
```

使用 docker-compose,配置 Grafana Provisioning 自动化配置,体验 TDengine + Grafana 组合的零配置启动:

1. 保存该文件为 `tdengine.yml`。

    ```yml
    apiVersion: 1
    datasources:
    - name: TDengine
      type: tdengine-datasource
      orgId: 1
      url: "$TDENGINE_API"
      isDefault: true
      secureJsonData:
        url: "$TDENGINE_URL"
        basicAuth: "$TDENGINE_BASIC_AUTH"
        token: "$TDENGINE_CLOUD_TOKEN"
      version: 1
      editable: true
    ```

2. 保存该文件为 `docker-compose.yml`。

    ```yml
    version: "3.7"

    services:
      tdengine:
        image: tdengine/tdengine:2.6.0.2
        environment:
          TAOS_FQDN: tdengine
        volumes:
          - tdengine-data:/var/lib/taos/
      grafana:
        image: grafana/grafana:8.5.6
        volumes:
          - ./tdengine.yml/:/etc/grafana/provisioning/tdengine.yml
          - grafana-data:/var/lib/grafana
        environment:
          # install tdengine plugin at start
          GF_INSTALL_PLUGINS: "tdengine-datasource"
          TDENGINE_URL: "http://tdengine:6041"
          #printf "$TDENGINE_USER:$TDENGINE_PASSWORD" | base64
          TDENGINE_BASIC_AUTH: "cm9vdDp0YmFzZTEyNQ=="
        ports:
          - 3000:3000
    volumes:
      grafana-data:
      tdengine-data:
    ```

3. 使用 docker-compose 命令启动 TDengine + Grafana :`docker-compose up -d`。

打开 Grafana <http://localhost:3000>,现在可以添加 Dashboard 了。

185 186 187
</TabItem>
</Tabs>

B
Bo Ding 已提交
188 189 190 191
### 创建 Dashboard

回到主界面创建 Dashboard,点击 Add Query 进入面板查询页面:

D
dingbo 已提交
192
![TDengine Database Grafana plugin create dashboard](./create_dashboard1.webp)
B
Bo Ding 已提交
193

194
如上图所示,在 Query 中选中 `TDengine` 数据源,在下方查询框可输入相应 SQL 进行查询,具体说明如下:
B
Bo Ding 已提交
195 196 197 198 199 200 201

- INPUT SQL:输入要查询的语句(该 SQL 语句的结果集应为两列多行),例如:`select avg(mem_system) from log.dn where ts >= $from and ts < $to interval($interval)` ,其中,from、to 和 interval 为 TDengine 插件的内置变量,表示从 Grafana 插件面板获取的查询范围和时间间隔。除了内置变量外,`也支持可以使用自定义模板变量`。
- ALIAS BY:可设置当前查询别名。
- GENERATE SQL: 点击该按钮会自动替换相应变量,并生成最终执行的语句。

按照默认提示查询当前 TDengine 部署所在服务器指定间隔系统内存平均使用量如下:

D
dingbo 已提交
202
![TDengine Database Grafana plugin create dashboard](./create_dashboard2.webp)
B
Bo Ding 已提交
203 204 205 206 207

> 关于如何使用 Grafana 创建相应的监测界面以及更多有关使用 Grafana 的信息,请参考 Grafana 官方的[文档](https://grafana.com/docs/)。

### 导入 Dashboard

208 209 210 211 212 213 214 215
在数据源配置页面,您可以为该数据源导入 TDinsight 面板,作为 TDengine 集群的监控可视化工具。该 Dashboard 已发布在 Grafana:[Dashboard 15167 - TDinsight](https://grafana.com/grafana/dashboards/15167)) 。其他安装方式和相关使用说明请见 [TDinsight 用户手册](/reference/tdinsight/)。

使用 TDengine 作为数据源的其他面板,可以[在此搜索](https://grafana.com/grafana/dashboards/?dataSource=tdengine-datasource)。以下是一份不完全列表:

- [15146](https://grafana.com/grafana/dashboards/15146): 监控多个 TDengine 集群
- [15155](https://grafana.com/grafana/dashboards/15155): TDengine 告警示例
- [15167](https://grafana.com/grafana/dashboards/15167): TDinsight
- [16388](https://grafana.com/grafana/dashboards/16388): Telegraf 采集节点信息的数据展示