跳转至

部署 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 企业版;如需购买,请联系我们。点击定价查看更多。

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

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

    例如:

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

    Name: dashboard-api
    Host: 0.0.0.0    # 指定能访问 Dashboard 的地址。
    Port: 7005  # 访问 Dashboard 企业版服务的默认端口。
    MaxBytes: 1073741824 # Http 可接受请求的最大 ContentLength,默认为 1048576。取值范围:0 ~ 8388608。
    Timeout: 15000  # 访问超时时间。
    Debug:      # 是否开启Debug模式。
      Enable: false
    Log:     # Dashboard 运行日志设置。
      KeepDays: 7    # 日志保留天数。
      Mode: console   # 日志保存方式。
    Database:
      Dialect: sqlite  # 使用的数据库类型,目前支持 SQLite 和 MySQL,默认使用 SQLite。
      AutoMigrate: true # 自动创建数据库表,默认为 true。
      Host: 127.0.0.1 # 连接的 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:
      PrometheusAddr: 127.0.0.1:9090 # prometheus 服务的 IP 地址和端口。
      AlertmanagerAddr: 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 数据库存放邮箱信息的字段名。
    
  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 企业版;如需购买,请联系我们。点击定价查看更多。

  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> 
    
  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/etc/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 企业版;如需购买,请联系我们。点击定价查看更多。

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

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

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

    Note

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

  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 和 OAuth2.0 账号的发件人邮箱信息以及告警消息保存天数,使用vim /usr/local/nebula-dashboard-ent/etc/config.yaml命令添加以下配置。

    # 邀请 LDAP 和 OAuth2.0 账号的发件人邮箱信息
    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 天。
    

查看日志

用户可以在/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 账户、OAuth2.0 账户和普通账户,然后使用不同的账户登录 Dashboard。关于账户的详情,参见权限管理


最后更新: December 2, 2022