Skip to content

Latest commit

 

History

History
168 lines (118 loc) · 3.82 KB

README-CN.md

File metadata and controls

168 lines (118 loc) · 3.82 KB

TaosKeeper

taosKeeper 是 TDengine 3.0 版本监控指标的导出工具,通过简单的几项配置即可获取 TDengine 的运行状态。

taosKeeper 使用 TDengine RESTful 接口,所以不需要安装 TDengine 客户端即可使用。

构建

获取源码

从 GitHub 克隆源码:

git clone https://github.com/taosdata/taoskeeper
cd taoskeeper

编译

taosKeeper 使用 GO 语言编写,在构建前需要配置好 GO 语言开发环境。

go mod tidy
go build

安装

如果是自行构建的项目,仅需要拷贝 taoskeeper 文件到你的 PATH 中。

sudo install taoskeeper /usr/bin/

启动

在启动前,应该做好如下配置: 在 /etc/taos/taoskeeper.toml 配置 TDengine 连接参数以及监控指标前缀等其他信息。

# 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]
address = ["127.0.0.1:6041"]

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

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

# 指定需要监控的普通表
tables = []

[environment]
# 是否在容器中运行,影响 taosKeeper 自身的监控数据
incgroup = false

现在可以启动服务,输入:

taoskeeper

如果你使用 systemd,复制 taoskeeper.service/lib/systemd/system/,并启动服务。

sudo cp taoskeeper.service /lib/systemd/system/
sudo systemctl daemon-reload
sudo systemctl start taoskeeper

让 taosKeeper 随系统开机自启动。

sudo systemctl enable taoskeeper

如果使用 systemd,你可以使用如下命令完成安装

go mod tidy
go build
sudo install taoskeeper /usr/bin/
sudo cp taoskeeper.service /lib/systemd/system/
sudo systemctl daemon-reload
sudo systemctl start taoskeeper
sudo systemctl enable taoskeeper

Docker

如下介绍了如何在 docker 中构建 taosKeeper:

在构建前请配置好 ./config/taoskeeper.toml 中合适的参数,并编辑 Dockerfile ,示例如下。

FROM golang:1.17.6-alpine as builder

WORKDIR /usr/src/taoskeeper
COPY ./ /usr/src/taoskeeper/
ENV GO111MODULE=on \
    GOPROXY=https://goproxy.cn,direct
RUN go mod tidy && go build

FROM alpine:3
RUN mkdir -p /etc/taos
COPY --from=builder /usr/src/taoskeeper/taoskeeper /usr/bin/
COPY ./config/taoskeeper.toml /etc/taos/taoskeeper.toml
EXPOSE 6043
CMD ["taoskeeper"]

如果已经有 taosKeeper 可执行文件,在配置好 taoskeeper.toml 后你可以使用如下方式构建:

FROM ubuntu:18.04
RUN mkdir -p /etc/taos
COPY ./taoskeeper /usr/bin/
COPY ./taoskeeper.toml /etc/taos/taoskeeper.toml
EXPOSE 6043
CMD ["taoskeeper"]

常见问题

  • 启动报错,显示connection refused

    解析:taosKeeper 依赖 restful 接口查询数据,请检查 taosAdapter 是否正常运行或 taoskeeper.toml 中 taosAdapter 地址是否正确。

  • taosKeeper 监控不同 TDengine 显示的检测指标数目不一致?

    解析:如果 TDengine 中未创建某项指标,taoskeeper 不能获取对应的检测结果。

  • 不能接收到 TDengine 的监控日志。

    解析: 修改 /etc/taos/taos.cfg 文件并增加如下参数:

    monitor                  1  // 启用monitor
    monitorInterval          30  // 发送间隔 (s)
    monitorFqdn              localhost // 接收消息的FQDN,默认为空
    monitorPort              6043      // 接收消息的端口号
    monitorMaxLogs           100       // 每个监控间隔缓存的最大日志数量