跳转至

部署 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.4.2.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   # 日志保存方式,支持 console 和 file。console 表示服务日志会记录在 webserver.log里;file 表示服务日志会分别记录在 access.log、error.log、severe.log、slow.log 和 stat.log 里。
    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 客户端页面中。

使用 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. 拷贝 License 至nebula-dashboard-ent目录下。

    $ cp -r <license> <dashboard_path>
    

    例如:

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

  4. (可选)使用以下命令查看所有服务状态、启动服务。

    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}
    
  5. (可选)如需配置集群告警信息的接收人及配置 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 数据库存放邮箱信息的字段名。
    

卸载

执行以下命令卸载通过 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.4.2.ubuntu1804.amd64.deb
    

    Note

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

  3. 拷贝 License 至nebula-dashboard-ent目录下。

    $ cp -r <license> <dashboard_path>
    

    例如:

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

  4. (可选)使用以下命令查看所有服务状态、启动服务。

    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}
    
  5. (可选)如需配置 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 天。
    

卸载

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

sudo dpkg -r <package_name>

管理 Dashboard 服务

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

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

Note

查看 Dashboard 版本可以使用命令./dashboard.service -version

示例

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 所有服务状态。

查看日志

用户可以在logs目录内查看 Dashboard 企业版的日志。

例如:

cat logs/prometheus.log

日志文件说明如下。

日志文件名 说明
alertmanager.log Alertmanager 服务日志。
nebula-stats-exporter.log nebula-stats-exporter 服务日志。
prometheus.log Prometheus 服务日志。
br 备份恢复日志。
webserver.log Dashboard 服务日志。
Dashboard 的配置Log.Modeconsole时生效。
access.log 访问日志。
Dashboard 的配置Log.Modefile时生效。
error.log 错误日志。
Dashboard 的配置Log.Modefile时生效。
severe.log 严重错误日志。
Dashboard 的配置Log.Modefile时生效。
slow.log 慢日志。
Dashboard 的配置Log.Modefile时生效。
stat.log 统计日志。
Dashboard 的配置Log.Modefile时生效。

后续操作

连接 Dashboard


最后更新: February 2, 2023