跳转至

部署 Dashboard 企业版

本文将详细介绍如何安装并部署 Dashboard 企业版。

前提条件

在部署 Dashboard 之前,用户需要确认以下信息:

  • 选择并下载符合版本的 Dashboard。关于 Dashboard 和 NebulaGraph 的版本对应关系,参见版本兼容性
  • Dashboard 支持 SQLite 和 MySQL 存储 Dashboard 元数据。如果用户使用 MySQL,需准备版本为 5.7 以上的 MySQL 环境,创建名称为dashboard的数据库,字符集为utf8

    Note

    如果使用 SQLite 存储 Dashboard 元数据,则无需准备 SQLite 环境。

  • 确保在安装开始前,以下端口处于未被使用状态。

    端口号 说明
    7005 Dashboard 提供 web 服务的端口。
    9090 Prometheus 服务的端口。
    9200 nebula-stats-exporter 服务的端口。
    9093 Alertmanager 服务的端口。接收 Prometheus 告警,发送告警通知给 Dashboard。
    9100 node-exporter 的服务端口。在集群创建后,自动部署在目标机器内,收集集群中机器的资源信息,包括 CPU、内存、负载、磁盘和流量。

使用 TAR 包部署

安装

  1. 根据需要下载 TAR 包,建议选择最新版本。

    Enterpriseonly

    用户可以在线申请试用 Dashboard 企业版;如需购买,通过邮箱(inquiry@vesoft.com)联系销售人员。点击定价查看更多。

  2. 使用tar -xzvf解压 TAR 包。

    $ tar -xzvf nebula-dashboard-ent-<version>.linux-amd64.tar.gz -C <install_path>
    

    例如:

    $ tar -xzvf nebula-dashboard-ent-3.1.2.linux-amd64.tar.gz -C /usr/local/
    
  3. 使用vim /usr/local/nebula-dashboard-ent/config/config.yaml命令设置配置文件。

    server:
      host: 0.0.0.0 # 指定能访问 Dashboard 的地址段。
      port: 7005 # 访问 Dashboard 企业版服务的默认端口。
      certFile: "" # 通过 HTTPS 访问 Dashboard 的本地设备证书路径。
      keyFile: "" # 通过 HTTPS 访问 Dashboard 的本地设备证书密钥路径。
    
    database:
      dialect: sqlite # 使用的数据库类型,目前支持 SQLite 和 MySQL,默认使用 SQLite。
      autoMigrate: true # 自动创建数据库表,默认为 true。
      # SQLite 相关信息,当 dialect 为 sqlite 时配置。
      sqliteFilePath: data/dashboard.sqlite.db # SQLite 数据库保存信息的默认路径。
      # MySQL 相关信息,当 dialect 为 mysql 时配置。
      host: 192.168.8.157 # 连接的 MySQL 数据库的 IP 地址。
      port: 3306 # 连接的 MySQL 数据库的端口号。
      username: root # 登陆 MySQL 的账户。
      password: nebula # 登陆 MySQL 的密码。
      name: dashboard # 对应的数据库名称。
    
    # exporter 端口信息
    exporter:
      nodePort: 9100 # node-exporter 服务的端口。
      nebulaPort: 9200 # nebula-stats-exporter 服务的端口。
    
    # 服务信息
    proxy:
      prometheus:
        target: "127.0.0.1:9090" # prometheus 服务的 IP 地址和端口。
      alertmanager:
        target: "127.0.0.1:9093" # alertmanager 服务的 IP 地址和端口。
    
    # 邀请 LDAP 账号的发件人邮箱信息
    mail:
      host: smtp.office365.com #  SMTP 服务器地址。
      port: 587 # SMTP 服务器的端口号。
      username: "" # SMTP 服务器的用户名。
      password: "" # SMTP 服务器的密码。
    
    # 系统信息
    system:
      webAddress: http://127.0.0.1:7005 # 外网访问 Dashboard 的地址,也可以设置为域名。用于一些接口回调,例如邮件被邀请人可以使用此链接访问 Dashboard。
      messageStore: 90 # 保存告警消息的天数,默认 90 天。
    
    # LDAP 信息
    ldap:
      server: ldap://127.0.0.1 # LDAP 服务器地址。
      bindDN: cn=admin,dc=vesoft,dc=com # LDAP 服务器登录用户名。
      bindPassword: "" # LDAP 服务器登录密码。
      baseDN: dc=vesoft,dc=com # 查询用户数据的路径。
      userFilter: "&(objectClass=*)" # 查询条件。
      emailKey: mail # LDAP 数据库存放邮箱信息的字段名。
    ...
    # 备份和恢复
    br:
    backupLogsDir: "logs/br/backupLogsDir"
    restoreLogsDir: "logs/br/restoreLogsDir"
    
  4. 拷贝 License 至nebula-dashboard-ent目录下。

    $ cp -r <license> <dashboard_path>
    

    例如:

    $ cp -r nebula.license /usr/local/nebula-dashboard-ent
    

  5. 启动 Dashboard。

    可以使用以下命令一键启动 Dashboard。

    $ cd /usr/local/nebula-dashboard-ent/scripts
    $ sudo ./dashboard.service start all
    
    或是执行以下命令,分别启动 Prometheus、nebula-dashboard-server、nebula-stats-exporter 和 Alertmanager 依赖服务以启动 Dashboard。

    $ cd scripts
    $ sudo ./dashboard.service start prometheus # 启动 Prometheus 服务
    $ sudo ./dashboard.service start webserver #启动 nebula-dashboard-server 服务
    $ sudo ./dashboard.service start exporter #启动 nebula-stats-exporter 服务
    $ sudo ./dashboard.service start alertmanager #启动 Alertmanager 服务
    

Note

在启动 Dashboard 后,如再修改配置文件的话,在修改后,可在scripts目录下执行dashboard.service restart all同步修改至 Dashboard 客户端页面中。

管理 Dashboard 服务

Dashboard 使用脚本dashboard.service管理服务,包括启动、停止和查看。

$ sudo <dashboard_path>/dashboard/scripts/dashboard.service
[-v] [-h]
<start|stop|status>  <prometheus|webserver|exporter|gateway|all>
参数 说明
dashboard_path Dashboard 安装路径。
-v 显示详细调试信息。
-h 显示帮助信息。
start 启动服务。
stop 停止服务。
status 查看服务状态。
prometheus 管理 prometheus 服务。
webserver 管理 webserver 服务。
exporter 管理 exporter 服务。
gateway 管理 gateway 服务。
all 管理所有服务。

示例

Dashboard 的安装在当前目录下,用户可以用以下命令管理服务。

$ sudo /dashboard/scripts/dashboard.service start all #启动 Dashboard 所有服务。
$ sudo /dashboard/scripts/dashboard.service stop all #停止 Dashboard 所有服务。
$ sudo /dashboard/scripts/dashboard.service status all #查看 Dashboard 所有服务状态。
$ sudo /dashboard/scripts/dashboard.service restart all #重启 Dashboard 所有服务状态。

使用 RPM 包部署

安装

  1. 下载 RPM 包。

    Enterpriseonly

    用户可以在线申请试用 Dashboard 企业版;如需购买,通过邮箱(inquiry@vesoft.com)联系销售人员。点击定价查看更多。

  2. 使用sudo rpm -ivh <package_name>命令安装 RPM 包。

    例如,安装 Dashboard 企业版需要运行以下命令,默认安装路径为/usr/local/nebula-dashboard-ent

    sudo rpm -ivh nebula-dashboard-ent-<version>.x86_64.rpm
    

    也可以使用以下命令安装到指定路径:

    sudo rpm -ivh nebula-dashboard-ent-xxx.rpm --prefix=<path> 
    

    在可视化的安装过程中,用户需要输入 License 的路径,选择存放元数据的数据库,目前支持 SQLite 和 MySQL。

    例如:

    NebulaGraph Dashboard Enterprise version need license, please enter the license file path(~/nebula.license): /home/vesoft/license/nebula.license
    
    Which database do you want to use? [sqlite | mysql]:sqlite # 不填默认为 SQLite。
    
    Do you want to start the service now? [Y/N]: y      
    
    Nebula Dashboard Enterprise version need license, please enter the license file path(~/nebula.license): /home/vesoft/license/nebula.license  # license的存放路径。
    
    Which database do you want to use? [sqlite | mysql]:mysql
    
    Step1: set mysql database config
    
    Enter mysql host(127.0.0.1): 192.168.8.157  # 连接的 MySQL 数据库的 IP 地址。
    
    Enter mysql service port(3306):  # 连接的 MySQL 数据库的端口号。默认3306。
    
    Enter mysql username(root): # 登录 MySQL 的账户。
    
    Enter mysql password(nebula): # 登录 MySQL 的密码。
    
    Enter mysql database name(dashboard): # MySQL 数据库名称。
    
    Do you want to start the service now? [Y/N]: y
    
  3. (可选)使用以下命令查看所有服务状态、启动服务。

    sudo systemctl list-dependencies nebula-dashboard.target  # 查看状态
    sudo systemctl start nebula-dashboard.target   # 启动服务
    

    用户也可以执行以下命令查看、启停单一服务,例如:

    sudo systemctl {status|stop|start}  {nbd-prometheus.service|nbd-alert-manager.service|nbd-stats-exporter.service|nbd-webserver.service}
    
  4. (可选)如需配置集群告警信息的接收人及配置 LDAP 账户,使用vim /usr/local/nebula-dashboard-ent/config/config.yaml命令添加以下配置。

    # 邀请 LDAP 账号的发件人邮箱信息
    mail:
      host: smtp.office365.com #  SMTP 服务器地址。
      port: 587 # SMTP 服务器的端口号。
      username: "" # SMTP 服务器的用户名。
      password: "" # SMTP 服务器的密码。
    # 系统信息
    system:
      webAddress: http://127.0.0.1:7005 # 邮件被邀请人连接 Dashboard 的访问地址。
      messageStore: 90 # 保存告警消息的天数,默认 90 天。
    # LDAP 信息
    ldap:
      server: ldap://127.0.0.1 # LDAP 服务器地址。
      bindDN: cn=admin,dc=vesoft,dc=com # LDAP 服务器登录用户名。
      bindPassword: "" # LDAP 服务器登录密码。
      baseDN: dc=vesoft,dc=com # 查询用户数据的路径。
      userFilter: "&(objectClass=*)" # 查询条件。
      emailKey: mail # LDAP 数据库存放邮箱信息的字段名。
    

    查看日志

用户可以在/var/log/messages路径下查看 Dashboard 企业版的操作日志。

例如:

sudo cat /var/log/messages

或者执行以下命令查看 Dashboard 中各个服务的日志:

journalctl -u {nbd-prometheus.service|nbd-alert-manager.service|nbd-stats-exporter.service|nbd-webserver.service} -b

例如,查看 Prometheus 服务的日志:

journalctl -u nbd-prometheus.service -b

卸载

执行以下命令卸载通过 RPM 包部署的 Dashboard。

sudo rpm -e <package_name>

使用 DEB 包部署

安装

  1. 下载 DEB 包。

    Enterpriseonly

    用户可以在线申请试用 Dashboard 企业版;如需购买,通过邮箱(inquiry@vesoft.com)联系销售人员。点击定价查看更多。

  2. 使用sudo dpkg -i <package_name>命令安装 DEB 包。

    例如,安装 Dashboard 企业版需要运行以下命令,默认安装路径为/usr/local/nebula-dashboard-ent

    sudo dpkg -i nebula-dashboard-ent-3.1.2.ubuntu1804.amd64.deb
    

    Note

    使用 DEB 包安装 Dashboard 企业版时不支持自定义安装路径。

    在可视化的安装过程中,用户需要输入 License 的路径,选择存放元数据的数据库,目前支持 SQLite 和 MySQL。

    例如:

    NebulaGraph Dashboard Enterprise version need license, please enter the license file path(~/nebula.license): /home/vesoft/license/nebula.license
    
    Which database do you want to use? [sqlite | mysql]:sqlite # 不填默认为 SQLite。
    
    Do you want to start the service now? [Y/N]: y      
    
    Nebula Dashboard Enterprise version need license, please enter the license file path(~/nebula.license): /home/vesoft/license/nebula.license  # license的存放路径。
    
    Which database do you want to use? [sqlite | mysql]:mysql
    
    Step1: set mysql database config
    
    Enter mysql host(127.0.0.1): 192.168.8.157  # 连接的 MySQL 数据库的 IP 地址。
    
    Enter mysql service port(3306):  # 连接的 MySQL 数据库的端口号。默认3306。
    
    Enter mysql username(root): # 登录 MySQL 的账户。
    
    Enter mysql password(nebula): # 登录 MySQL 的密码。
    
    Enter mysql database name(dashboard): # MySQL 数据库名称。
    
    Do you want to start the service now? [Y/N]: y
    
  3. (可选)使用以下命令查看所有服务状态、启动服务。

    sudo systemctl list-dependencies nebula-dashboard.target  # 查看状态
    sudo systemctl start nebula-dashboard.target   # 启动服务
    

    用户也可以执行以下命令查看、启停单一服务,例如:

    sudo {systemctl status|stop|start}  {nbd-prometheus.service|nbd-alert-manager.service|nbd-stats-exporter.service|nbd-webserver.service}
    
  4. (可选)如需配置集群告警信息的接收人及配置 LDAP 账户,使用vim /usr/local/nebula-dashboard-ent/config/config.yaml命令添加以下配置。

    # 邀请 LDAP 账号的发件人邮箱信息
    mail:
      host: smtp.office365.com #  SMTP 服务器地址。
      port: 587 # SMTP 服务器的端口号。
      username: "" # SMTP 服务器的用户名。
      password: "" # SMTP 服务器的密码。
    # 系统信息
    system:
      webAddress: http://127.0.0.1:7005 # 邮件被邀请人连接 Dashboard 的访问地址。
      messageStore: 90 # 保存告警消息的天数,默认 90 天。
    # LDAP 信息
    ldap:
      server: ldap://127.0.0.1 # LDAP 服务器地址。
      bindDN: cn=admin,dc=vesoft,dc=com # LDAP 服务器登录用户名。
      bindPassword: "" # LDAP 服务器登录密码。
      baseDN: dc=vesoft,dc=com # 查询用户数据的路径。
      userFilter: "&(objectClass=*)" # 查询条件。
      emailKey: mail # LDAP 数据库存放邮箱信息的字段名。
    

    查看日志

用户可以在/var/log/syslog路径下查看 Dashboard 企业版的操作日志。

例如:

sudo cat /var/log/syslog

或者执行以下命令查看 Dashboard 中各个服务的日志:

journalctl -u {nbd-prometheus.service|nbd-alert-manager.service|nbd-stats-exporter.service|nbd-webserver.service} -b

例如,查看 Prometheus 服务的日志:

journalctl -u nbd-prometheus.service -b

卸载

执行以下命令卸载通过 DEB 包部署的 Dashboard。

sudo dpkg -r <package_name>

连接 Dashboard

成功启动 Dashboard 后,在浏览器地址栏输入http://<ip_address>:7005

如在浏览器窗口中看到以下登录界面,则表示已经成功部署并启动了 Dashboard。

dashboard-login-cn

Note

首次登录企业版 NebulaGraph Dashboard 的时候,页面显示最终用户许可协议的内容,请仔细阅读并单击同意

用户可以使用初始化用户名nebula和密码nebula登录 Dashboard。登录 Dashboard 后可创建 LDAP 账户和普通账户,然后使用不同的账户登录 Dashboard。关于账户的详情,参见权限管理


最后更新: February 3, 2023