部署 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、内存、负载、磁盘和流量。
-
Enterpriseonly
License 仅在企业版提供,申请 License 需填写 NebulaGraph 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.4.2.linux-amd64.tar.gz -C /usr/local/
-
使用
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 数据库存放邮箱信息的字段名。
-
拷贝 License 至
nebula-dashboard-ent
目录下。$ cp -r <license> <dashboard_path>
例如:
$ cp -r nebula.license /usr/local/nebula-dashboard-ent
-
启动 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 包部署¶
安装¶
-
下载 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 至
nebula-dashboard-ent
目录下。$ cp -r <license> <dashboard_path>
例如:
$ cp -r nebula.license /usr/local/nebula-dashboard-ent
-
(可选)使用以下命令查看所有服务状态、启动服务。
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/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 包部署¶
安装¶
-
下载 DEB 包。
-
使用
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 企业版时不支持自定义安装路径。
-
拷贝 License 至
nebula-dashboard-ent
目录下。$ cp -r <license> <dashboard_path>
例如:
$ cp -r nebula.license /usr/local/nebula-dashboard-ent
-
(可选)使用以下命令查看所有服务状态、启动服务。
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 和 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.Mode 为console 时生效。 |
access.log |
访问日志。Dashboard 的配置Log.Mode 为file 时生效。 |
error.log |
错误日志。Dashboard 的配置Log.Mode 为file 时生效。 |
severe.log |
严重错误日志。Dashboard 的配置Log.Mode 为file 时生效。 |
slow.log |
慢日志。Dashboard 的配置Log.Mode 为file 时生效。 |
stat.log |
统计日志。Dashboard 的配置Log.Mode 为file 时生效。 |