[toc]
Zeus IoT 基于 zabbix-5.4 安装。
-
硬件依赖
目前 Zeus IoT 支持 Linux x86_64 系统平台,其它系统平台测试中。
配置规格 系统平台 CPU 内存 存储 最低配置 Linux x86_64 2 核 4 GB 100 GB 推荐配置 Linux x86_64 4 核 8 GB 500 GB -
软件依赖
操作系统 Centos 7.0+/Redhat 7.0+/Ubuntu 18.04+ JDK 1.8 数据库 PostgreSQL 12+/InfluxDB/TDengine-2.2x 数据采集 Zabbix Server 5.4.x 数据代理 Zabbix Proxy 5.4.x 可视化 Grafana 7.x
简化 zabbix 安装部署,方便客户快速使用 Zeus IoT 产品。
系统终端执行以下命令快速安装
-
Centos7/Redhat7
curl -sL https://github.com/zmops/zeus-iot/raw/develop/docs/centos/install.sh | bash -s install
-
Ubuntu 20.04
curl -sL https://github.com/zmops/zeus-iot/raw/develop/docs/ubuntu/install.sh | bash -s install
自定义安装是在本身已有 zabbix 或需要分开部署 zabbix 和 zeus-iot 服务。
zabbix 安装可参照zabbix官网 。这里就不做详细介绍。
💡 建议使用 PostgreSQL 数据库,因为 zeus-iot-ui 使用的是 PostgreSQL 数据库。
- 修改 zabbix 时区
- 管理员用户登录 zabbix 管理界面进入 "管理(Administrator)" ----- "一般()" ----- "Default time zone" 选择 "(UTC+08:00) Asia/Shanghai"
- 普通用户登录 zabbix 管理界面进入 "User settings" ----- "Profile" ----- "Time zone" 选择 "(UTC+08:00) Asia/Shanghai"
-
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
-
直接下载 release 包
-
从源码编译
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
💡 编译好的安装包在 dist 目录下。文件名为
zeus-iot-bin.tar.gz
。部署时只需解压即可。
1、 创建数据库
sudo -u postgres createdb -E Unicode -T template0 zeus-iot
2、 导入 SQL
# 解压安装包,初始化 sql 在安装目录下。
cat 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
。
1、登录 zabbix 管理界面进入 "User settings" ----- "API tokens" ----- "Create API token"
2、创建名为 zeus 的 API token, 取消 "Set expiration date and time" 的勾选项。确定后会生成 Auth token,点击 "Copy to clipboard" 复制token。
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 # 修改此处token信息
...
...
-
直接修改配置文件
以修改 zabbix 信息为例:
vim ./zeus-iot-bin/webapp/webapp.yml forest: log-enabled: false timeout: 5000 variables: ## Zabbix API IP And ServerIp and ServerPort 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 默认需要连接 taos 数据库,所以启动前请先[配置taos数据库](#配置 taos 数据库)
# 启动
./zeus-iot-bin/bin/startup.sh
# 停止
./zeus-iot-bin/bin/stop.sh
可通过涛思官网获取安装包
💡 zeus-iot 默认使用 RESTful connector 连接涛思数据库。
-
Centos/Redhat 安装
rpm -ivh TDengine-server-2.2.0.2-Linux-x64.rpm
- **Ubuntu/Debain 安装**
```shell
dpkg -i TDengine-server-2.2.0.2-Linux-x64.deb
💡 这里只介绍单机版涛思安装部署,安装时是以交互式安装,只需按回车。如要安装集群版涛思需要查阅 涛思官网文档
-
启动 taos
systemctl start taosd
- **创建 zeus_data 数据库**
```shell
# linux 命令行登录taos
taos
# 创建 zeus_data 数据库
taos> create database zeus_data;
修改 zabbix-server.conf 配置文件,找到如下配置项:
### Option: ExportDir
# Directory for real time export of events, history and trends in newline delimited JSON format.
# If set, enables real time export.
#
# Mandatory: no
# Default:
ExportDir=/data
### Option: ExportFileSize
# Maximum size per export file in bytes.
# Only used for rotation if ExportDir is set.
#
# Mandatory: no
# Range: 1M-1G
# Default:
ExportFileSize=1G
### Option: ExportType
# List of comma delimited types of real time export - allows to control export entities by their
# type (events, history, trends) individually.
# Valid only if ExportDir is set.
#
# Mandatory: no
# Default:
ExportType=history
- ExportDir=/data/zabbix_history 配置导出目录
- ExportFileSize=1G 配置导出文件的大小
- ExportType=history 配置导出的数据表
创建导出的目录并重启 zabbix-server 使配置生效
mkdir -p /data/zabbix_history
systemctl restart zabbix-server
# 停止 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-bin/bin/startup.sh