自定义安装

注解

自定义安装是在本身已有 zabbix 或需要单独部署 zabbix 和 zeus-iot。

安装 zabbix 服务

zabbix 安装可参照 zabbix官网 。这里就不做详细介绍。

注解

安装时建议使用 PostgreSQL 数据库,因为 zeus iot 使用的是 PostgreSQL 数据库。

zabbix 系统优化

  • 修改 zabbix 时区

    管理员用户登录 zabbix 管理界面进入 "管理(Administrator)" ----- "一般(General)" -----"界面设置(GUI)" ----- "Default time zone" 选择 "(UTC+08:00) Asia/Shanghai"

    ../_images/timezone01.png

    普通用户登录 zabbix 管理界面进入 "User settings" ----- "Profile" ----- "Time zone" 选择 "(UTC+08:00) Asia/Shanghai"

    ../_images/timezone02.png

安装 zeus-iot 系统

Zeus IoT 依赖 PostgreSQL 数据库、openjdk-1.8 驱动

安装 PostgreSQL 数据库

  • Centos/RedHat

# 安装 PostgreSQL 仓库源:

 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# 安装 PostgreSQL:

 sudo yum install -y postgresql13-server

# 初始化数据库并启动:

 sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
 sudo systemctl enable postgresql-13
 sudo systemctl start postgresql-13
  • Ubuntu

# 安装 PostgreSQL 仓库源:

 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# 安装 PostgreSQL:

 sudo apt-get update && sudo apt-get -y install postgresql

获取 zeus-iot 程序包

  • 直接下载 release 包

    xxx
    
  • 从源码编译

    git clone https://github.com/zmops/zeus-iot.git
    
    cd zeus-iot && git submodule update --init --recursive
    
    mvn clean package -U -Dmaven.test.skip=true -Dos.detected.name=linux -Dos.detected.arch=x86_64
    

    注解

    编译好的安装包在 dist 目录下。文件名为 zeus-iot-bin.tar.gz 。部署时只需解压即可。

初始化系统服务

1、 创建数据库

sudo -u postgres createdb -E Unicode -T template0 zeus-iot

2、 导入 SQL

# 解压安装包,初始化 sql 在安装目录下。
cat zeus-iot-bin/bin/sql/zeus-iot.sql | sudo -u postgres psql zeus-iot

3、 安装 JDK 驱动

# Centos/Redhat 安装

yum install java-1.8.0-openjdk.x86_64 -y

# Ubuntu 安装

apt install openjdk-8-jdk -y

修改配置文件

zeus-iot 主要由 zeus-iot-server 和 webapp 两个服务组成,配置文件分别是 ./zeus-iot-bin/conf/application.yml./zeus-iot-bin/webapp/webapp.yml

配置 zabbix token

zeus-iot 通过 zabbix token 与 zabbix api 进行权限认证,因此需要现在 zabbix 系统界面生成永久 token。

1、登录 zabbix 管理界面进入 "User settings" ----- "API tokens" ----- "Create API token"

../_images/token01.png

2、创建名为 zeus 的 API token, 取消 "Set expiration date and time" 的勾选项。确定后会生成 Auth token,点击 "Copy to clipboard" 复制token。

../_images/token02.png ../_images/token03.png

3、配置 zeus-iot 连接 zabbix token

vim ./zeus-iot-bin/webapp/webapp.yml

...
forest:
  log-enabled: false
  timeout: 5000
  variables:
    ...
    zbxServerPort: ${ZEUS_ZABBIX_PORT:80}
    zbxApiToken: 4d3ed2be23a3f325d6ccaaaeab76bbdc6a559f3c608e523f9906ea923f7d61c5
    ...
../_images/token04.png

其它启动参数配置

  • 直接修改配置文件

    以修改 zabbix 信息为例:

    vim ./zeus-iot-bin/webapp/webapp.yml
    
    forest:
      log-enabled: false
      timeout: 5000
      variables:
        ## Zabbix API IP And ServerIp and ServerPort
        zbxApiUrl: http://${ZEUS_ZABBIX_HOST:127.0.0.1}:${ZEUS_ZABBIX_PORT:80}/zabbix/api_jsonrpc.php
        zbxServerIp: ${ZEUS_ZABBIX_HOST:127.0.0.1}
        zbxServerPort: ${ZEUS_ZABBIX_PORT:80}
        zbxApiToken: 4d3ed2be23a3f325d6ccaaaeab76bbdc6a559f3c608e523f9906ea923f7d61c5
        taosUrl: http://${ZEUS_TAOS_HOST:127.0.0.1}:${ZEUS_TAOS_REST_PORT:6041}/rest/sql/${ZEUS_TAOS_DB:zeus_data}
        taosUser: root
        taosPwd: taosdata
    
  • 通过配置环境变量的方式修改(临时修改)

    zeus-iot 支持环境变量配置启动,可以通过 export ZEUS_ZABBIX_HOST=127.0.0.1 申明环境变量。

启动服务

zeus-iot 默认需要连接TDengine数据库,所以启动前请先配置 配置TDengine

# 启动

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

# 停止

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

注解

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