********** 自定义安装 ********** .. note:: 自定义安装是在本身已有 zabbix 或需要单独部署 zabbix 和 zeus-iot。 .. _install_zabbix: 安装 zabbix 服务 ----------------- **zabbix 安装可参照** `zabbix官网 `_ 。这里就不做详细介绍。 .. note:: 安装时建议使用 PostgreSQL 数据库,因为 zeus iot 使用的是 PostgreSQL 数据库。 zabbix 系统优化 ^^^^^^^^^^^^^^^^^ - **修改 zabbix 时区** 管理员用户登录 zabbix 管理界面进入 "**管理(Administrator)**" ----- "**一般(General)**" -----"**界面设置(GUI)**" ----- "**Default time zone**" 选择 "(UTC+08:00) Asia/Shanghai" .. image:: /_static/images/doc/zh/install_guide/timezone01.png :width: 800px 普通用户登录 zabbix 管理界面进入 "**User settings**" ----- "**Profile**" ----- "**Time zone**" 选择 "(UTC+08:00) Asia/Shanghai" .. image:: /_static/images/doc/zh/install_guide/timezone02.png :width: 800px .. _install_zeus: 安装 zeus-iot 系统 --------------------- Zeus IoT 依赖 PostgreSQL 数据库、openjdk-1.8 驱动 安装 PostgreSQL 数据库 ^^^^^^^^^^^^^^^^^^^^^^ - Centos/RedHat .. code-block:: bash # 安装 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 .. code-block:: bash # 安装 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 包 .. code-block:: bash xxx - 从源码编译 .. code-block:: bash 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 .. note:: 编译好的安装包在 dist 目录下。文件名为 `zeus-iot-bin.tar.gz` 。部署时只需解压即可。 初始化系统服务 ^^^^^^^^^^^^^^^^ 1、 创建数据库 .. code-block:: bash sudo -u postgres createdb -E Unicode -T template0 zeus-iot 2、 导入 SQL .. code-block:: bash # 解压安装包,初始化 sql 在安装目录下。 cat zeus-iot-bin/bin/sql/zeus-iot.sql | sudo -u postgres psql zeus-iot 3、 安装 JDK 驱动 .. code-block:: bash # Centos/Redhat 安装 yum install java-1.8.0-openjdk.x86_64 -y # Ubuntu 安装 apt install openjdk-8-jdk -y .. _initial_config: 修改配置文件 ^^^^^^^^^^^^ 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**" .. image:: /_static/images/doc/zh/install_guide/token01.png :width: 1200px 2、创建名为 zeus 的 API token, 取消 "**Set expiration date and time**" 的勾选项。确定后会生成 Auth token,点击 "Copy to clipboard" 复制token。 .. image:: /_static/images/doc/zh/install_guide/token02.png :width: 800px .. image:: /_static/images/doc/zh/install_guide/token03.png :width: 800px 3、配置 zeus-iot 连接 zabbix token .. code-block:: bash vim ./zeus-iot-bin/webapp/webapp.yml ... forest: log-enabled: false timeout: 5000 variables: ... zbxServerPort: ${ZEUS_ZABBIX_PORT:80} zbxApiToken: 4d3ed2be23a3f325d6ccaaaeab76bbdc6a559f3c608e523f9906ea923f7d61c5 ... .. image:: /_static/images/doc/zh/install_guide/token04.png :width: 800px 其它启动参数配置 **************** - 直接修改配置文件 以修改 zabbix 信息为例: .. code-block:: bash 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数据库,所以启动前请先配置 \ :ref:`配置TDengine `\ .. code-block:: # 启动 ./zeus-iot-bin/bin/startup.sh # 停止 ./zeus-iot-bin/bin/stop.sh .. note:: 系统启动日志在 ``zeus-iot-bin/logs`` 目录下,文件名分别为 ``webapp-console.log`` 和 ``zeus-iot-server.log``