Skip to content

Commit

Permalink
Merge dashboard (#1202)
Browse files Browse the repository at this point in the history
* Update 8.predicate.md (#1124)

* add dashboard enterprise (#1077)

* [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

* add dashboard to yaml (#1173)

* fix problem (#1174)

* modify dashboard ent (#1175)

* modify dashboard ent

* update-1108

* Update 1.create-cluster.md

* Update 1.what-is-dashboard-en.md

* Update 1.create-cluster.md

* update

* update

* Update mkdocs.yml (#1178)

* change en to ent (#1179)

* Change en to ent (#1180)

* change en to ent

* update

* Delete 2.deploy-connect-dashboard-en.md (#1181)

* Update dashboard ent (#1182)

* Update dashboard ent

* update

* Update 8.faq.md

* update

* Update 2.deploy-connect-dashboard-ent.md

* update-1109

* Update 2.deploy-connect-dashboard-ent.md

* Update Python client installation instruction (#1189)

Mirror update to vesoft-inc/nebula-python#152

* Update ex-ug-import-from-sst.md (#1188)

* Update ex-ug-import-from-sst.md

* Update ex-ug-import-from-sst.md

* Add link for Exchange bench (#1195)

* update dashboard (#1197)

* update

* Update 6.eco-tool-version.md

Co-authored-by: randomJoe211 <69501902+randomJoe211@users.noreply.github.com>
Co-authored-by: foesa <35463247+foesa-yang@users.noreply.github.com>
Co-authored-by: Grey Li <withlihui@gmail.com>
  • Loading branch information
4 people committed Nov 11, 2021
1 parent d9c2893 commit c40d326
Show file tree
Hide file tree
Showing 58 changed files with 728 additions and 23 deletions.
14 changes: 2 additions & 12 deletions docs-2.0/14.client/5.nebula-python-client.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,10 @@ $ pip install nebula2-python==<version>
$ cd nebula-python
```

3. 执行如下命令安装依赖
3. 执行如下命令安装

```bash
$ pip install -r requirements.txt
```

!!! note

如果想在开发模式下进行单元测试,请安装`requirements-dev.txt`的依赖。

4. 执行如下命令安装。

```bash
$ sudo python3 setup.py install
$ pip install .
```

## 核心代码
Expand Down
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-ent/4.cluster-operator/4.manage.md)

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

- metad 的扩容和缩容: metad 不支持扩缩容,也不支持迁移到新机器,也不要增加新的 metad 进程。
Expand Down
11 changes: 9 additions & 2 deletions docs-2.0/20.appendix/6.eco-tool-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,7 @@ Nebula Graph Studio(简称 Studio)是一款可以通过Web访问的图数据
|:---|:---|
| {{ nebula.release }} | {{studio.release}}(3754219)|

<!--
## Nebula Dashboard
## Nebula Dashboard(社区版)

Nebula Dashboard(简称Dashboard)是一款用于监控Nebula Graph集群中机器和服务状态的可视化工具。详情参见[什么是Nebula Dashboard](../nebula-dashboard/1.what-is-dashboard.md)

Expand All @@ -50,6 +49,14 @@ Nebula Dashboard(简称Dashboard)是一款用于监控Nebula Graph集群中
-->


## Nebula Dashboard(企业版)

Nebula Dashboard(简称Dashboard)是一款用于监控和管理Nebula Graph多集群中机器和服务状态的可视化工具,支持在可视化界面进行集群创建、集群导入、数据平衡、扩容缩容等操作。详情参见[什么是Nebula Dashboard](../nebula-dashboard-ent/1.what-is-dashboard-ent.md)

|Nebula Graph版本|Dashboard企业版本(commit id)|
|:---|:---|
| {{ nebula.release }} | {{dashboard-ent.release}}(79248d9) |

## Nebula Explorer

Nebula Explorer(简称Explorer)是一款可以通过Web访问的图探索可视化工具,搭配Nebula Graph内核使用,用于与图数据进行可视化交互。即使没有图数据操作经验,用户也可以快速成为图专家。详情参见[什么是Nebula Explorer](../nebula-explorer/about-explorer/ex-ug-what-is-explorer.md)
Expand Down
33 changes: 33 additions & 0 deletions docs-2.0/nebula-dashboard-ent/1.what-is-dashboard-ent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# 什么是Nebula Dashboard(企业版)

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

## 产品功能

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

## 适用场景

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

## 注意事项

- 监控数据默认更新频率约为7秒。
- 监控数据默认保留14天,即只能查询最近14天内的监控数据。
- 只支持2.0.1及以上版本的Nebula Graph。
- 建议使用最新版本的Chrome访问Dashboard。
- 建议使用官方提供的安装包进行集群创建或导入。

!!! note

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

本文将详细介绍如何安装并部署Dashboard。

## 前提条件

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

- 选择并下载符合版本的Dashboard,Dashboard版本和Nebula Graph的版本对应关系如下。

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

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

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

- 准备License。

!!! enterpriseonly

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: "127.0.0.1:8090" # gateway服务的IP地址和端口
prometheus:
target: "127.0.0.1:9090" # prometheus服务的IP地址和端口
```

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

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

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

5. 启动Dashboard。

可以使用以下命令一键启动Dashboard。
```bash
$ cd scripts
$ sudo ./dashboard.service start all
```
或是执行以下命令,分别启动prometheus、webserver、exporter和gateway服务以启动Dashboard。
```bash
$ cd scripts
$ sudo ./dashboard.server start prometheus # 启动prometheus服务
$ sudo ./dashboard.server start webserver #启动webserver服务
$ sudo ./dashboard.server start exporter #启动exporter服务
$ sudo ./dashboard.server start gateway #启动gateway服务
```

## 管理Dashboard服务

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

### 语法

```bash
$ 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的安装在当前目录下,用户可以用以下命令管理服务。
```bash
$ sudo /dashboard/scripts/dashboard.service start all #启动Dashboard所有服务
$ sudo /dashboard/scripts/dashboard.service stop all #停止Dashboard所有服务
$ sudo /dashboard/scripts/dashboard.service status all #查看Dashboard所有服务状态
```

## 后续操作

启动成功后,在浏览器地址栏输入`http://<ip_address>:7005`

在浏览器窗口中看到以下登录界面表示已经成功部署并启动了Dashboard,用户可以通过默认用户名`nebula`和密码`nebula`登陆Dashboard的GOD用户。可以在 [系统设置](../nebula-dashboard-ent/6.system-settings.md) 中修改密码,也可以在 [权限管理](../nebula-dashboard-ent/5.account-management.md) 页面创建权限为ADMIN的账号用来登陆Dashboard。

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

本文介绍如何通过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)

- **批量导入节点**,需要添加每个节点的相关信息。批量导入需要先选择安装包后点击**下载CSV模版**。按照模版填写后上传,尽量确保节点信息正确,否则容易造成上传失败。

![batch-import](../figs/ds-030.png)

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

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

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

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包部署的集群和Dashboard创建的集群导入,暂不支持导入使用Docker和Kubernetes方式部署的集群。

## 操作步骤

!!! caution

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

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

!!! note

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

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

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

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

## 后续操作

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

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

## 概览

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

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

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

### 集群概况

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

### 集群信息

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

!!! note

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

!!! caution

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

### 节点监控

- 支持快速查看节点监控信息,可点击切换展示的信息,默认显示cpu信息。
- 支持在页面上点击![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-ent/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)
- 可以设置基线,作为参考标准线。
- 可以查看当前服务的状态。
Loading

0 comments on commit c40d326

Please sign in to comment.