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

Update 2.deploy-dashboard.md #1987

Merged
merged 1 commit into from
Jul 19, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
279 changes: 138 additions & 141 deletions docs-2.0/nebula-dashboard/2.deploy-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,143 @@
|prometheus | 存储监控数据的时间序列数据库。|9090|
|nebula-http-gateway | 为集群服务提供 HTTP 接口,执行 nGQL 语句与 Nebula Graph 数据库进行交互。|8090|

## 方式一 通过 Docker Compose 部署 Dashboard 依赖服务

## 方式一 逐一部署 Dashboard 依赖服务
支持通过 Docker Compose 启动 Dashboard 所需的所有服务。

### 前提条件

确保用户在部署 Dashboard 的机器上已经安装了 Docker。

### 操作步骤

1. 在 Nebula Graph 集群的每台机器上的`nebula-dashboard`安装目录下,进入`vendors/node-exporter`,然后分别执行以下命令启动`node-exporter`。

```bash
nohup ./node-exporter --web.listen-address=":9100" &
```

!!! note

用户可根据需要,决定是否在集群中的每台机器上启动`node-exporter`服务。

2. 在部署 Dashboard 机器上的`nebula-dashboard`安装目录下,部署 Dashboard 所需的服务。

1. 进入`vendors/nebula-stats-exporter`目录,通过修改`config.yaml`文件,配置 Nebula Graph 集群所有服务的 HTTP 端口及所在机器的 IP。示例如下:

```yaml
clusters:
- name: nebula
instances:
- name: metad0
endpointIP: 192.168.8.157
endpointPort: 19559
componentType: metad
- name: metad1
endpointIP: 192.168.8.155
endpointPort: 19559
componentType: metad
- name: metad2
endpointIP: 192.168.8.154
endpointPort: 19559
componentType: metad
- name: graphd0
endpointIP: 192.168.8.157
endpointPort: 19669
componentType: graphd
- name: graphd1
endpointIP: 192.168.8.155
endpointPort: 19669
componentType: graphd
- name: graphd2
endpointIP: 192.168.8.154
endpointPort: 19669
componentType: graphd
- name: storaged0
endpointIP: 192.168.8.157
endpointPort: 19779
componentType: storaged
- name: storaged1
endpointIP: 192.168.8.155
endpointPort: 19779
componentType: storaged
- name: storaged2
endpointIP: 192.168.8.154
endpointPort: 19779
componentType: storaged
```

2. 进入`vendors/prometheus`目录,通过修改`prometheus.yaml`文件,配置`node-exporter`和`nebula-stats-exporter`服务的地址和端口。示例如下:

```bash
global:
scrape_interval: 5s # 收集监控数据的间隔时间。默认为 1 分钟。
evaluation_interval: 5s # 告警规则扫描时间间隔。默认为 1 分钟。
scrape_configs:
- job_name: 'node-exporter'
static_configs:
- targets: [
'192.168.8.154:9100',
'192.168.8.155:9100',
'192.168.8.157:9100' # node-exporter 服务的 IP 地址和端口。
]
- job_name: 'nebula-stats-exporter'
static_configs:
- targets: [
'nebula-stats-exporter:9200', # nebula-stats-exporter 服务的地址和端口。
]
```

3. 在目录`nebula-dashboard`内,修改文件`config.json`,配置代理信息。

```json
{
"port": 7003,
"proxy":{
"gateway":{
"target": "nebula-http-gateway:8090" # nebula-http-gateway 服务的地址和端口号。
},
"prometheus":{
"target": "prometheus:9090" # Prometheus 服务的地址和端口号。
},
"graph":{
"target": "graphd:19669" # 用于获取 Graph 服务的运行配置。
},
"storage":{
"target": "graphd:19779" # 用于获取 Storage 服务的运行配置。
}
},
"nebulaServer": {
"ip": "192.168.8.131", # 任一 Graph 服务的机器 IP。
"port": 9669 # Graph 服务的端口号。
}
}
```

3. 在任意目录下执行以下命令创建供 Dashboard 中所有服务相互访问的网络。

```bash
docker network create nebula-net
```

4. 在目录`nebula-dashboard`内,执行以下命令启动 Dashboard 的依赖服务。

```bash
docker-compose -f docker-compose.yaml up -d
```

关于`docker-compose.yaml`文件中参数的解释,参见[服务配置](https://docs.docker.com/compose/compose-file/compose-file-v3/#service-configuration-reference)。


5. 执行`docker ps`命令查看服务的状态,然后分别进行以下操作检查服务是否都正常启动。

- 在浏览器中输入`<IP>:9200`检查`nebula-stats-exporter`服务是否正常启动。
- 在浏览器中输入`<IP>:9100`检查`node-exporter`服务是否正常启动。
- 在浏览器中输入`<IP>:9090`检查`prometheus`服务是否正常启动。
- 在浏览器中输入`<IP>:8090`检查`nebula-http-gateway`服务是否正常启动。
- 在浏览器中输入`<IP>:7003`检查`dashboard`服务是否正常启动。

## 方式二 逐一部署 Dashboard 依赖服务

### 部署`node-exporter`服务

Expand Down Expand Up @@ -197,145 +332,10 @@ $ nohup ./nebula-httpd &

服务启动后,可以在浏览器中输入`<IP>:7003`检查服务是否正常启动。

## 方式二 通过 Docker Compose 部署 Dashboard 依赖服务

支持通过 Docker Compose 启动 Dashboard 所需的所有服务。

### 前提条件

确保用户在部署 Dashboard 的机器上已经安装了 Docker。

### 操作步骤

1. 在 Nebula Graph 集群的每台机器上的`nebula-dashboard`安装目录下,进入`vendors/node-exporter`,然后分别执行以下命令启动`node-exporter`。

```bash
nohup ./node-exporter --web.listen-address=":9100" &
```

!!! note

用户可根据需要,决定是否在集群中的每台机器上启动`node-exporter`服务。

2. 在部署 Dashboard 机器上的`nebula-dashboard`安装目录下,部署 Dashboard 所需的服务。

1. 进入`vendors/nebula-stats-exporter`目录,通过修改`config.yaml`文件,配置 Nebula Graph 集群所有服务的 HTTP 端口及所在机器的 IP。示例如下:

```yaml
clusters:
- name: nebula
instances:
- name: metad0
endpointIP: 192.168.8.157
endpointPort: 19559
componentType: metad
- name: metad1
endpointIP: 192.168.8.155
endpointPort: 19559
componentType: metad
- name: metad2
endpointIP: 192.168.8.154
endpointPort: 19559
componentType: metad
- name: graphd0
endpointIP: 192.168.8.157
endpointPort: 19669
componentType: graphd
- name: graphd1
endpointIP: 192.168.8.155
endpointPort: 19669
componentType: graphd
- name: graphd2
endpointIP: 192.168.8.154
endpointPort: 19669
componentType: graphd
- name: storaged0
endpointIP: 192.168.8.157
endpointPort: 19779
componentType: storaged
- name: storaged1
endpointIP: 192.168.8.155
endpointPort: 19779
componentType: storaged
- name: storaged2
endpointIP: 192.168.8.154
endpointPort: 19779
componentType: storaged
```

2. 进入`vendors/prometheus`目录,通过修改`prometheus.yaml`文件,配置`node-exporter`和`nebula-stats-exporter`服务的地址和端口。示例如下:

```bash
global:
scrape_interval: 5s # 收集监控数据的间隔时间。默认为 1 分钟。
evaluation_interval: 5s # 告警规则扫描时间间隔。默认为 1 分钟。
scrape_configs:
- job_name: 'node-exporter'
static_configs:
- targets: [
'192.168.8.154:9100',
'192.168.8.155:9100',
'192.168.8.157:9100' # node-exporter 服务的 IP 地址和端口。
]
- job_name: 'nebula-stats-exporter'
static_configs:
- targets: [
'nebula-stats-exporter:9200', # nebula-stats-exporter 服务的地址和端口。
]
```

3. 在目录`nebula-dashboard`内,修改文件`config.json`,配置代理信息。

```json
{
"port": 7003,
"proxy":{
"gateway":{
"target": "nebula-http-gateway:8090" # nebula-http-gateway 服务的地址和端口号。
},
"prometheus":{
"target": "prometheus:9090" # Prometheus 服务的地址和端口号。
},
"graph":{
"target": "graphd:19669" # 用于获取 Graph 服务的运行配置。
},
"storage":{
"target": "graphd:19779" # 用于获取 Storage 服务的运行配置。
}
},
"nebulaServer": {
"ip": "192.168.8.131", # 任一 Graph 服务的机器 IP。
"port": 9669 # Graph 服务的端口号。
}
}
```

3. 在任意目录下执行以下命令创建供 Dashboard 中所有服务相互访问的网络。

```bash
docker network create nebula-net
```

4. 在目录`nebula-dashboard`内,执行以下命令启动 Dashboard 的依赖服务。

```bash
docker-compose -f docker-compose.yaml up -d
```

关于`docker-compose.yaml`文件中参数的解释,参见[服务配置](https://docs.docker.com/compose/compose-file/compose-file-v3/#service-configuration-reference)。


5. 执行`docker ps`命令查看服务的状态,然后分别进行以下操作检查服务是否都正常启动。

- 在浏览器中输入`<IP>:9200`检查`nebula-stats-exporter`服务是否正常启动。
- 在浏览器中输入`<IP>:9100`检查`node-exporter`服务是否正常启动。
- 在浏览器中输入`<IP>:9090`检查`prometheus`服务是否正常启动。
- 在浏览器中输入`<IP>:8090`检查`nebula-http-gateway`服务是否正常启动。
- 在浏览器中输入`<IP>:7003`检查`dashboard`服务是否正常启动。


## 停止 Dashboard

- 对于通过 Docker Compose 启动的 Dashboard,执行`docker-compose stop`命令停止。

- 对于通过逐一部署方式启动的 Dashboard,执行`kill <pid>`的方式停止,示例如下:

```bash
Expand All @@ -346,9 +346,6 @@ $ nohup ./nebula-httpd &
$ kill $(lsof -t -i :7003) # 停止 dashboard 服务
```

- 对于通过 Docker Compose 启动的 Dashboard,执行`docker-compose stop`命令停止。


## 后续操作

[连接 Dashboard](3.connect-dashboard.md)