配置 TDengine 数据库

Zeus IoT 将 zabbix 历史数据实时同步到 TDengine 数据库中。利用 TDengine 时序数据库高效的特性,有效避免 zabbix 历史数据过大导致服务卡顿。

安装 TDengine 数据库

获取 TDengine 数据库

可通过 涛思官网 获取安装包

注解

zeus-iot 默认使用 RESTful connector 连接涛思数据库。

安装 TDengine 数据库

  • Centos/Redhat 安装

    rpm -ivh TDengine-server-2.2.0.2-Linux-x64.rpm
    
  • Ubuntu/Debain 安装

    dpkg -i TDengine-server-2.2.0.2-Linux-x64.deb
    

注解

这里只介绍单机版涛思安装部署,安装时是以交互式安装,只需按回车。如要安装集群版涛思需要查阅 涛思官网文档

  • 启动 taos

    systemctl start taosd
    
  • 创建 zeus_data 数据库

    # linux 命令行登录taos
    
    $ taos
    
    # 创建 zeus_data 数据库
    
    taos> create database zeus_data;
    

启用 zabbix 导出功能

  • 开启导出功能

    修改 zabbix-server.conf 配置文件,如下:

    ../_images/zabbix03.png
    • ExportDir=/data/zabbix_history 配置导出目录

    • ExportFileSize=1G 配置导出文件的大小

    • ExportType=history 配置导出的数据表

    创建导出的目录并重启 zabbix-server 使配置生效

    mkdir -p /data/zabbix_history
    
    systemctl restart zabbix-server
    
  • 数据同步配置

    编辑 application.yml 配置文件开启同步功能。

    vim ./zeus-iot-bin/conf/application.yml
    ...
    # ndjson file read realtime
    server-transfer:
      selector: ${ZS_SERVER_TRANSFER:default}
      default:
        name: ${ZS_TRANSFER_NAME:zeus-transfer}
        pattern: ${ZS_TRANSFER_PATTERN:/data/zabbix_history/history-history-syncer-[0-9]{1}.ndjson}    ## /data/zabbix_history 与上面 zabbix 配置的导出目录相同
        fileMaxWait: ${ZS_TRANSFER_FILE_MAXWAIT:30}
    ...
    
    ../_images/zeusiot01.png

修改 zeus-iot 数据库连接

# 停止 zeus-iot 服务

./zeus-iot-bin/bin/stop.sh

# 修改数据连接配置如下

vim ./zeus-iot-bin/conf/application.yml

...
# tdengine storage realtime
storage:
selector: ${ZS_STORAGE:tdengine}
tdengine:
  url: ${ZS_STORAGE_TDENGINE_URL:jdbc:TAOS://127.0.0.1:6030/zeus_data} # TDEngine jdbcUrl
  user: ${ZS_STORAGE_TDENGINE_USER:root}
  password: ${ZS_STORAGE_TDENGINE_PASSWORD:taosdata}
...

# 启动 zeus-iot 服务

./zeus-iot-bin/bin/startup.sh

注解

系统启动日志在 zeus-iot-bin/logs 目录下,文件名分别为 webapp-console.logzeus-iot-server.log