Skip to content

Commit

Permalink
add dashboard enterprise (vesoft-inc#1077)
Browse files Browse the repository at this point in the history
* [WIP]add dashboard enterprise

* update

* update

* Update 1.create-cluster.md

* update

* update

* update-1101

* update-1103

* update-1104

* update

* update

* update

* update-1105

* update

* update
  • Loading branch information
foesa-yang authored and cooper-lzy committed Nov 11, 2021
1 parent edd3086 commit 6f73172
Show file tree
Hide file tree
Showing 49 changed files with 626 additions and 8 deletions.
2 changes: 2 additions & 0 deletions docs-2.0/20.appendix/0.FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,8 @@ nebula-graphd version 2.5.0, Git: c397299c, Build Time: Aug 19 2021 11:20:18

### 如何扩缩容

用户可以使用 Dashboard(企业版),在可视化页面对 graphd 和 storaged 进行快速扩缩容,详情参见 [集群操作-扩缩容](../nebula-dashboard-en/4.cluster-operator/4.manage.md)。

Nebula Graph {{ nebula.release }} 未提供运维命令以实现自动扩缩容,参考以下步骤:

- metad 的扩容和缩容: metad 不支持扩缩容,也不支持迁移到新机器,也不要增加新的 metad 进程。
Expand Down
31 changes: 31 additions & 0 deletions docs-2.0/nebula-dashboard-en/1.what-is-dashboard-en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 什么是Nebula Dashboard(企业版)

Nebula Dashboard(简称Dashboard)是一款用于监控和管理Nebula Graph集群中机器和服务状态的可视化工具。本文主要介绍企业版Dashboard,社区版详情参见 [什么是Nebula Dashboard(社区版)](../nebula-dashboard/1.what-is-dashboard.md)

## 产品功能

- 创建指定版本的Nebula Graph集群,支持批量导入节点、一键添加服务等功能。
- 支持集群导入,集群balance leader、balance data。
- 支持可视化页面快速进行扩缩容操作。
- 支持快速修改指定集群中Storage及Graph服务的配置并重启服务。
- 支持在可视化页面进行服务启动、停止、重启操作。
- 监控集群中所有服务的信息,包括服务IP地址、版本和监控指标(例如查询数量、查询延迟、心跳延迟等)。
- 监控集群中所有机器的状态,包括CPU、内存、负载、磁盘和流量。
- 监控集群本身的信息,包括集群的服务信息、分区信息、配置和长时任务。

## 适用场景

- 针对大规模集群,需要可视化的运维监控平台。
- 需要方便快捷地监测关键指标,集中呈现业务的多个重点信息,保证业务正常运行。
- 需要多维度(例如时间段、聚合规则、指标)监控集群。
- 故障发生后,需要复盘问题,确认故障发生时间、异常现象。

## 注意事项

- 监控数据默认更新频率约为7秒。
- 监控数据默认保留14天,即只能查询最近14天内的监控数据。
- 只支持2.0.1及以上版本的Nebula Graph。

!!! note

监控服务由prometheus提供,更新频率和保留时间等都可以自行修改。详情请参见[prometheus官方文档](https://prometheus.io/docs/prometheus/latest/configuration/configuration/)。
100 changes: 100 additions & 0 deletions docs-2.0/nebula-dashboard-en/2.deploy-connect-dashboard-en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# 部署Dashboard

安装部署Dashboard,本文将详细介绍如何通过tar包安装部署。

## Nebula Graph版本

Dashboard版本和Nebula Graph的版本对应关系如下。

|Dashboard版本|Nebula Graph版本|
|:---|:---|
|{{ dashboard-ent.release }}|2.x|

## tar 包部署
### 前提条件

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

- 准备[MySql](https://www.mysql.com/cn/)环境,创建名称为`dashboard`的数据库。
- 确保在安装开始前,以下端口处于未被使用状态。

| 端口号 | 说明 |
| ---- | ---- |
| 7005 | Dashboard提供web服务的端口。 |
| 8090 | nebula-http-gateway提供HTTP服务的端口。 |
| 9100 | node-exporter服务的端口。 |
| 9200 | nebula-stats-exporter服务的端口。 |

- 准备License。License仅在企业版提供,请发送邮件至inquiry@vesoft.com获取。

### 安装及启动

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

!!! enterpriseonly

Dashboard仅在企业版提供,点击 [定价](https://nebula-graph.com.cn/pricing/) 查看更多。

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

```bash
$ tar -xzvf nebula-graph-dashboard-<version>.tar.gz
```

3. 使用`vim config/config.yaml`命令修改配置文件。

```bash
# 数据库信息
database:
dialect: mysql # 使用的数据库类型,目前仅支持MySql
host: 192.168.8.157 # 连接的MySql数据库的ip地址
port: 3306 # 连接的MySql数据库的端口号
username: root # 登陆MySql的账号
password: nebula # 登陆MySql的密码
name: dashboard # 对应的数据库名称
autoMigrate: true # 自动创建数据库表,默认为true
# exporter端口信息
exporter:
nodePort: 9100 # node-exporter服务的端口
nebulaPort: 9200 # nebula-stats-exporter服务的端口
# 服务信息
proxy:
gateway:
target: "localhost:8090" # gateway服务的IP地址和端口
prometheus:
target: "localhost:9090" # prometheus服务的IP地址和端口
```

4. 拷贝License至`nebula-dashboard`目录下。

```bash
$ cp -r <license> <dashboard_path>
```

例如:
```bash
$ cp -r nebula.license /usr/local/nebula-dashboard
```

!!! enterpriseonly

License仅在企业版提供,请发送邮件至inquiry@vesoft.com。

5. 启动Dashboard。

```bash
$ bash ./scripts/start.sh
```

### 停止服务

```bash
$ bash ./scripts/stop.sh
```

## 后续操作

启动成功后,在浏览器地址栏输入`http://<ip_address>:7005`
在浏览器窗口中看到以下登录界面表示已经成功部署并启动了Dashboard。

![start-page](../nebula-dashboard-en/figs/ds-028.png)
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# 创建集群

本文介绍如何通过Dashboard创建集群。

## 操作步骤

按以下方式创建集群:

1. 在集群管理页面,点击 **创建集群** 标签。
2. 在创建集群页面,完成以下配置:
- 输入 **集群名称**,最大可输入15个字符,本示例设置为`test_foesa`
- 选择Nebula Graph安装版本,本示例设置为`v2.6.1`
- 添加节点或者批量导入节点,如果是多节点的集群,需要添加每个节点的相关信息。

1. 配置每个Host的IP信息,本示例设置为`192.168.8.144`
2. 配置 SSH 信息,本示例设置如下:SSH端口号为`22`,SSH用户名为 `vesoft`,SSH 密码为`nebula`
3. 选择 Nebula Graph 安装包,本示例为`nebula-graph-2.6.1.el7.x86_64rpm`
4. (可选)输入节点名,可以对节点进行备注。本示例设置为`Noed_1`

![cluster](../figs/ds-021.png)

3. 勾选节点并在节点右上方,点击需要添加的服务。创建集群需要给节点添加3种类型的服务,如果不熟悉Nebula Graph架构,建议点击 **自动添加服务** 按钮。

![add-service](../figs/ds-029.png)

4. (可选)在下方的服务中,选择编辑meta、graph、storage服务的端口号、HTTP端口号、HTTP2端口号,点击确认保存。

![install](../figs/ds-021.png)

5. 点击**创建集群**,确定配置信息无误且节点无冲突后,点击**确认**

![check](../figs/ds-023.png)

6. 在集群管理页面中的列表中出现状态为`installing`的集群,需等待3-10分钟,状态变为`healthy`即集群创建成功。如果服务状态为`unhealthy`,表示集群服务中存在非正常运行的服务,请点击详情进行查看。
![installing](../figs/ds-024.png)

## 后续操作

成功创建集群后,用户可以对集群进行操作,详情见[总览](../4.cluster-operator/1.overview.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 导入集群

本文介绍如何通过Dashboard导入集群。当前版本仅支持官方下载的DEB、RPM包部署的集群导入,暂不支持导入使用Docker和Kubernetes方式部署的集群。

## 操作步骤

!!! caution

在同一集群下,服务需要统一版本。不支持在同一集群中导入不同版本的Nebula Graph实例。

1. 在集群列表页面,点击 **导入集群** 标签。
2. 在导入集群页面,输入连接Nebula Graph的信息:
- Graphd Host:<其中一个Graphd进程的虚机IP>:<端口号>。本示例设置为 `192.168.8.157:9669`
- 用户名:连接Nebula Graph的账号。
- 密码:连接Nebula Graph的密码。

!!! note

因为 Nebula Graph 默认不启用身份验证,所以,一般情况下用户可以使用 `root` 账号和任意密码连接 Nebula。
当 Nebula Graph 启用了身份验证后,用户只能使用指定的账号和密码连接 Nebula。关于 Nebula Graph 的身份验证功能,参考 [Nebula Graph 用户手册](../../7.data-security/1.authentication/1.authentication.md "点击前往 Nebula Graph 官网")。

3. 输入 **用户名****密码**,本示例设置为`vesoft``nebula`

![connect](../figs/ds-025.png)

4. 在连接服务节点页面完成以下配置:
- 输入集群的名称,最大可输入15个字符,本示例设置为`create_1027`
![connect](../figs/ds-026.png)
- 对节点进行 **授权****批量授权** 。授权需输入每个节点的 SSH 用户名及密码;批量授权需要上传CSV文件。请根据下载的CSV文件,编辑每个节点授权信息,尽量确保节点信息正确,否则容易造成上传失败。页面中节点状变为 **已授权**,则该节点授权成功。
![授权](../figs/ds-027.png)

5. 确保所有节点都授权成功,点击 **导入集群**

## 后续操作

成功导入集群后,用户可以对集群进行操作,详情见[总览](../4.cluster-operator/1.overview.md)
43 changes: 43 additions & 0 deletions docs-2.0/nebula-dashboard-en/4.cluster-operator/1.overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# 集群总览

本文主要介绍 Dashboard 的集群总览页面。在集群列表右侧,单击**详情**,即可进入指定集群的集群总览页面。

## 概览

![overview](../figs/ds-001.png)

Dashboard 的集群总览页面分为五个部分:

- 集群概况
- 集群信息
- 节点监控
- 状态列表
- 服务监控

### 集群概况

在集群概况中,显示了节点数量,Graphd、Storaged、Metad正在运行服务及异常服务数量。在本示例中,Storaged存在异常服务为 **1**,可以点击 **查看** 按钮,快速查看异常服务。

### 集群信息

在集群信息中,显示了 **集群名称****创建时间****创建用户****版本** 的信息。

!!! note

这里的版本信息为用户安装的Nebula Graph版本,而非Dashboard版本。

!!! caution

如果用户导入的Nebula Graph版本低于2.5或版本未知的情况下,默认显示为v2.0.1。

### 节点监控

支持快速查看节点监控信息,如cpu、memory等信息,支持在页面上点击![setup](../figs/Setup.png)插入基准线。并且用户也可以点击![watch](../figs/watch.png)快速跳转至节点监控页面,查看详情信息。

### 状态列表

用饼图的方式形象的展示节点运行服务状态。

### 服务监控

默认显示`query_latency_us`(查询平均延迟)和`slow_query_latency_us`(慢查询平均延迟)的信息,支持在页面上点击![setup](../figs/Setup.png)设置插入基准线。并且用户也可以点击![watch](../figs/watch.png)快速跳转至服务监控页面,查看详情信息。
33 changes: 33 additions & 0 deletions docs-2.0/nebula-dashboard-en/4.cluster-operator/2.monitor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# 集群监控

本文主要介绍 Dashboard 的集群监控中的节点监控和服务监控。

## 节点监控

![vertex](../figs/ds-002.png)

快速查看CPU、Memory、Load、Disk和Network In/Out变化情况。

- 如果需要设置基线,作为参考标准线,可以单击模块右上角的![setup](../figs/Setup.png)按钮。
- 如果需要查看某一项更详细的监控指标,可以单击模块右上角的![watch](../figs/watch.png)按钮,在示例中选择`Load`查看详情信息,如下图。
![load](../figs/ds-003.png)
- 默认最多可选择14天的监控数据进行查看,也可以快捷选择1小时、6小时、12小时、1天、3天、7天和14天,支持修改查看时间。
- 可以选择需要查看的机器和监控指标。监控指标详情请参见 [监控指标说明](../7.monitor-parameter.md)
- 可以设置基线,作为参考标准线。

## 服务监控

![service](../figs/ds-004.png)

快速查看Graph、Meta、Storage服务的信息,右上角显示正常服务和异常服务的数量。

!!! note

当前企业版的服务监控页仅支持每种服务设置两个监控指标,可以单击模块内的设置按钮进行调整。

- 如果需要查看某一项更详细的监控指标,可以单击模块右上角的![watch](../figs/watch.png)按钮,在示例中选择 `Graph` 查看详情信息,如下图。
![service](../figs/ds-005.png)
- 默认最多可选择14天的监控数据进行查看,也可以快捷选择1小时、6小时、12小时、1天、3天、7天和14天,支持修改查看时间。
- 可以选择需要查看的机器和监控指标。监控指标详情请参见 [监控指标说明](../7.monitor-parameter.md)
- 可以设置基线,作为参考标准线。
- 可以查看当前服务的状态。
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# 集群信息

本文主要介绍 Dashboard 的集群信息,主要为以下六个部分:
- 版本
- Leader
- Partition
- 服务信息
- 分片信息
- 长时任务

在查看集群信息之前,用户需要选择Host信息,输入登录Nebula Graph的账号(非Dashboard登录账号)和对应密码。多机部署时,用户可以任意选择一台虚机的HOST信息。

!!! caution

Nebula Graph 服务已经部署并启动。详细信息,参考[Nebula Graph 安装部署](../../4.deployment-and-installation/1.resource-preparations.md "点击前往 Nebula Graph 安装部署")。

![information](../figs/ds-006.png)

## 版本

![版本](../figs/ds-014.png)

显示所有服务及对应的Nebula版本。

## Leader

![Leader](../figs/ds-013.png)

显示Leader数量及Leader的分布,点击右上角的 **Balance Leader** 按钮可以快速在Nebula Graph集群中均衡分布 Leader。

## Partition

![partition](../figs/ds-012.png)

选择指定图空间,查看指定图空间的Partition分布情况。

## 服务信息

![服务信息](../figs/ds-011.png)

展示Storage服务的基本信息。用户可以通过右上角的 **Balance Date** 按钮启动任务,均衡分布集群中的所有分片。参数说明如下:

| 参数 | 说明 |
| :--- | :--- |
| `Host` | 主机地址 |
| `Port` | 主机端口号 |
| `Status` | 主机状态 |
| `Git Info Sha` | 版本Commit ID |
| `Leader Count` | Leader总数 |
| `Partition Distribution` | 分片分布 |
| `Leader Distribution` | Leader分布 |

## 分片信息

![分片信息](../figs/ds-010.png)

显示分片信息。用户需要在左上角选择图空间,查看分片信息。也可以通过右上角的输入框,输入分片ID,筛选展示的数据。参数说明如下:

|参数|说明|
|:---|:---|
|`Partition ID`|分片序号。|
|`Leader`|分片的leader副本的IP地址和端口。|
|`Peers`|分片所有副本的IP地址和端口。|
|`Losts`|分片的故障副本的IP地址和端口。|

## 长时任务

![长时任务](../figs/ds-009.png)

展示所有作业的信息。查看作业信息之前,用户需要在右上角选择图空间。暂不支持在线管理作业,详情请参见[作业管理](../../3.ngql-guide/18.operation-and-maintenance-statements/4.job-statements.md)。参数说明如下:

| 参数 | 说明 |
| :--- | :--- |
| `Job ID` | 显示作业ID。 |
| `Command` | 显示命令类型。 |
| `Status` | 显示作业或任务的状态。状态说明参见 [作业状态](../../3.ngql-guide/18.operation-and-maintenance-statements/4.job-statements.md#_6)|
|`Start Time`|显示作业或任务开始执行的时间。|
| `Stop Time` | 显示作业或任务结束执行的时间,结束后的状态包括`FINISHED``FAILED``STOPPED`|
Loading

0 comments on commit 6f73172

Please sign in to comment.