部署 Dashboard 企业版¶
本文将详细介绍如何安装并部署 Dashboard 企业版。
前提条件¶
在部署 Dashboard 之前,用户需要确认以下信息:
- 选择并下载符合版本的 Dashboard。关于 Dashboard 和 Nebula Graph 的版本对应关系,参见版本兼容性。
-
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、内存、负载、磁盘和流量。
-
Enterpriseonly
License 仅在企业版提供,申请 License 需填写 Nebula Dashboard 试用申请。
使用 TAR 包部署¶
安装¶
-
根据需要下载 TAR 包,建议选择最新版本。
-
使用
tar -xzvf
解压 TAR 包。$ tar -xzvf nebula-dashboard-ent-<version>.linux-amd64.tar.gz -C <install_path>
例如:
$ tar -xzvf nebula-dashboard-ent-3.1.0.linux-amd64.tar.gz -C /usr/local/
-
使用
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"
-
拷贝 License 至
nebula-dashboard-ent
目录下。$ cp -r <license> <dashboard_path>
例如:
$ cp -r nebula.license /usr/local/nebula-dashboard-ent
-
启动 Dashboard。
可以使用以下命令一键启动 Dashboard。
或是执行以下命令,分别启动 Prometheus、nebula-dashboard-server、nebula-stats-exporter 和 Alertmanager 依赖服务以启动 Dashboard。$ cd /usr/local/nebula-dashboard-ent/scripts $ sudo ./dashboard.service start all
$ 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 包部署¶
安装¶
-
下载 RPM 包。
-
使用
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。
例如:
Nebula 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
-
(可选)使用以下命令查看所有服务状态、启动服务。
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}
-
(可选)如需配置集群告警信息的接收人及配置 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 包部署¶
安装¶
-
下载 DEB 包。
-
使用
sudo dpkg -i <package_name>
命令安装 DEB 包。例如,安装 Dashboard 企业版需要运行以下命令,默认安装路径为
/usr/local/nebula-dashboard-ent
:sudo dpkg -i nebula-dashboard-ent-3.1.0.ubuntu1804.amd64.deb
Note
使用 DEB 包安装 Dashboard 企业版时不支持自定义安装路径。
在可视化的安装过程中,用户需要输入 License 的路径,选择存放元数据的数据库,目前支持 SQLite 和 MySQL。
例如:
Nebula 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
-
(可选)使用以下命令查看所有服务状态、启动服务。
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}
-
(可选)如需配置集群告警信息的接收人及配置 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。
Note
首次登录企业版 Nebula Dashboard 的时候,页面显示最终用户许可协议的内容,请仔细阅读并单击同意。
用户可以使用初始化用户名nebula
和密码nebula
登录 Dashboard。登录 Dashboard 后可创建 LDAP 账户和普通账户,然后使用不同的账户登录 Dashboard。关于账户的详情,参见权限管理。