14-taosKeeper.md 6.8 KB
Newer Older
H
huolibo 已提交
1 2 3
---
sidebar_label: taosKeeper
title: taosKeeper
H
huolibo 已提交
4
description: TDengine 3.0 版本监控指标的导出工具
H
huolibo 已提交
5 6
---

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

H
huolibo 已提交
10 11
## 简介

12
taosKeeper 是 TDengine 3.0 版本监控指标的导出工具,通过简单的几项配置即可获取 TDengine 的运行状态。taosKeeper 使用 TDengine RESTful 接口,所以不需要安装 TDengine 客户端即可使用。
H
huolibo 已提交
13 14 15

## 安装

16
taosKeeper 有两种安装方式:
H
huolibo 已提交
17 18
taosKeeper 安装方式:

19
- 安装 TDengine 官方安装包的同时会自动安装 taosKeeper, 详情请参考[ TDengine 安装](/operation/pkg-install)
H
huolibo 已提交
20 21 22

- 单独编译 taosKeeper 并安装,详情请参考 [taosKeeper](https://github.com/taosdata/taoskeeper) 仓库。

23
## 配置和运行方式
H
huolibo 已提交
24

25
### 配置
H
huolibo 已提交
26

H
huolibo 已提交
27
taosKeeper 需要在操作系统终端执行,该工具支持三种配置方式:[命令行参数](#命令行参数启动)[环境变量](#环境变量启动)[配置文件](#配置文件启动)。优先级为:命令行参数、环境变量、配置文件参数。
H
huolibo 已提交
28

29 30 31 32 33 34 35 36 37
**在运行 taosKeeper 之前要确保 TDengine 集群与 taosAdapter 已经在正确运行。** 并且 TDengine 已经开启监控服务,TDengine 配置文件 `taos.cfg` 中至少需要配置 `monitor``monitorFqdn`

```shell
monitor 1
monitorFqdn localhost # taoskeeper 服务的 FQDN
```

TDengine 监控配置相关,具体请参考:[TDengine 监控配置](../config/#监控相关)

H
huolibo 已提交
38

39
### 启动
H
huolibo 已提交
40

41 42
<Tabs>
<TabItem label="Linux" value="linux">
H
huolibo 已提交
43

44 45 46 47
安装后,请使用 `systemctl` 命令来启动 taoskeeper 的服务进程。

```bash
systemctl start taoskeeper
H
huolibo 已提交
48
```
H
huolibo 已提交
49

50
检查服务是否正常工作:
H
huolibo 已提交
51

52 53 54
```bash
systemctl status taoskeeper
```
H
huolibo 已提交
55

56 57 58 59
如果服务进程处于活动状态,则 status 指令会显示如下的相关信息:

```
Active: active (running)
H
huolibo 已提交
60 61
```

62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
如果后台服务进程处于停止状态,则 status 指令会显示如下的相关信息:

```
Active: inactive (dead)
```

如下 `systemctl` 命令可以帮助你管理 taoskeeper 服务:

- 启动服务进程:`systemctl start taoskeeper`

- 停止服务进程:`systemctl stop taoskeeper`

- 重启服务进程:`systemctl restart taoskeeper`

- 查看服务状态:`systemctl status taoskeeper`

:::info

- `systemctl` 命令需要 _root_ 权限来运行,如果您非 _root_ 用户,请在命令前添加 `sudo`
- 如果系统中不支持 `systemd`,也可以用手动运行 `/usr/local/taos/bin/taoskeeper` 方式启动 taoskeeper 服务。
- 故障排查:
- 如果服务异常请查看系统日志获取更多信息。
:::
</TabItem>

<TabItem label="macOS" value="macOS">

安装后,可以运行 `sudo launchctl start com.tdengine.taoskeeper` 来启动 taoskeeper 服务进程。

如下 `launchctl` 命令用于管理 taoskeeper 服务:

- 启动服务进程:`sudo launchctl start com.tdengine.taoskeeper`

- 停止服务进程:`sudo launchctl stop com.tdengine.taoskeeper`

- 查看服务状态:`sudo launchctl list | grep taoskeeper`

:::info

- `launchctl` 命令管理`com.tdengine.taoskeeper`需要管理员权限,务必在前面加 `sudo` 来增强安全性。
- `sudo launchctl list | grep taoskeeper` 指令返回的第一列是 `taoskeeper` 程序的 PID,若为 `-` 则说明 taoskeeper 服务未运行。
- 故障排查:
- 如果服务异常请查看系统日志获取更多信息。

:::

</TabItem>
</Tabs>

H
huolibo 已提交
111

112
#### 配置文件启动
H
huolibo 已提交
113

114
执行以下命令即可快速体验 taosKeeper。当不指定 taosKeeper 配置文件时,优先使用 `/etc/taos/keeper.toml` 配置,否则将使用默认配置。
H
huolibo 已提交
115 116

```shell
H
huolibo 已提交
117
$ taoskeeper -c <keeper config file>
H
huolibo 已提交
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
```

**下面是配置文件的示例:**
```toml
# gin 框架是否启用 debug
debug = false

# 服务监听端口, 默认为 6043
port = 6043

# 日志级别,包含 panic、error、info、debug、trace等
loglevel = "info"

# 程序中使用协程池的大小
gopoolsize = 50000

# 查询 TDengine 监控数据轮询间隔
RotationInterval = "15s"

[tdengine]
host = "127.0.0.1"
port = 6041
username = "root"
password = "taosdata"

# 需要被监控的 taosAdapter
[taosAdapter]
H
huolibo 已提交
145
address = ["127.0.0.1:6041"]
H
huolibo 已提交
146 147 148 149 150 151 152 153 154 155 156 157

[metrics]
# 监控指标前缀
prefix = "taos"

# 集群数据的标识符
cluster = "production"

# 存放监控数据的数据库
database = "log"

# 指定需要监控的普通表
H
huolibo 已提交
158
tables = []
H
huolibo 已提交
159 160 161 162 163 164 165 166 167
```

### 获取监控指标

taosKeeper 作为 TDengine 监控指标的导出工具,可以将 TDengine 产生的监控数据记录在指定数据库中,并提供导出接口。

#### 查看监控结果集

```shell
H
huolibo 已提交
168
$ taos
H
huolibo 已提交
169
# 如上示例,使用 log 库作为监控日志存储位置
H
huolibo 已提交
170 171
> use log;
> select * from cluster_info limit 1;
H
huolibo 已提交
172 173 174 175 176 177 178 179 180 181 182 183 184 185
```

结果示例:

```shell
           ts            |            first_ep            | first_ep_dnode_id |   version    |    master_uptime     | monitor_interval |  dbs_total  |  tbs_total  | stbs_total  | dnodes_total | dnodes_alive | mnodes_total | mnodes_alive | vgroups_total | vgroups_alive | vnodes_total | vnodes_alive | connections_total |  protocol   |           cluster_id           |
===============================================================================================================================================================================================================================================================================================================================================================================
 2022-08-16 17:37:01.629 | hlb:6030                       |                 1 | 3.0.0.0      |              0.27250 |               15 |           2 |          27 |          38 |            1 |            1 |            1 |            1 |             4 |             4 |            4 |            4 |                14 |           1 | 5981392874047724755            |
Query OK, 1 rows in database (0.036162s)
```

#### 导出监控指标

```shell
H
huolibo 已提交
186
$ curl http://127.0.0.1:6043/metrics
H
huolibo 已提交
187 188 189 190 191
```

部分结果集:

```shell
192
# HELP taos_cluster_info_connections_total
H
huolibo 已提交
193 194
# TYPE taos_cluster_info_connections_total counter
taos_cluster_info_connections_total{cluster_id="5981392874047724755"} 16
195
# HELP taos_cluster_info_dbs_total
H
huolibo 已提交
196 197
# TYPE taos_cluster_info_dbs_total counter
taos_cluster_info_dbs_total{cluster_id="5981392874047724755"} 2
198
# HELP taos_cluster_info_dnodes_alive
H
huolibo 已提交
199 200
# TYPE taos_cluster_info_dnodes_alive counter
taos_cluster_info_dnodes_alive{cluster_id="5981392874047724755"} 1
201
# HELP taos_cluster_info_dnodes_total
H
huolibo 已提交
202 203
# TYPE taos_cluster_info_dnodes_total counter
taos_cluster_info_dnodes_total{cluster_id="5981392874047724755"} 1
204
# HELP taos_cluster_info_first_ep
H
huolibo 已提交
205 206
# TYPE taos_cluster_info_first_ep gauge
taos_cluster_info_first_ep{cluster_id="5981392874047724755",value="hlb:6030"} 1
H
huolibo 已提交
207
```
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224

### check_health 

```
$ curl -i http://127.0.0.1:6043/check_health
```

返回结果:

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Mon, 03 Apr 2023 07:20:38 GMT
Content-Length: 19

{"version":"1.0.0"}
```