Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge dashboard #1202

Merged
merged 14 commits into from
Nov 11, 2021
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