前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实践分享|关于 nebula-stats-exporter 的使用

实践分享|关于 nebula-stats-exporter 的使用

原创
作者头像
用户11179359
发布2024-06-24 18:12:27
690
发布2024-06-24 18:12:27

图数据库可以高效地表达、存储和分析复杂关系和网络,在特定场景下有着不错的性能。希望通过这篇 nebula-stats-exporter 的实践文章可以给各位读者朋友们一点启发。

一、介绍

​ nebula-stats-exporter是一个stats接口转换工具,可以将stats接口返回的数据转换为Prometheus可接受的数据格式,实现对NebulaGraph数据采集以及监控

二、环境

本篇文章将会对二进制部署以及docker-compose部署两种部署方式使用nebula-stats-exporter进行说明,均使用目前最新版本3.8.0

2.1、二进制部署

​ 环境部署参考官方文档 1,使用RPM/DEB的方式部署。

代码语言:javascript
复制
# 下载安装包,我本地使用ubuntu 1804,下载对应安装包
https://oss-cdn.nebula-graph.com.cn/package/3.8.0/nebula-graph-3.8.0.ubuntu1804.amd64.deb

# 安装
sudo dpkg -i nebula-graph-3.8.0.ubuntu1804.amd64.deb

# 启动
sudo /usr/local/nebula/scripts/nebula.service start all

# 确认服务状态
$ sudo /usr/local/nebula/scripts/nebula.service status all

# 下载console工具,从下面的页面找对对应的版本下载
https://github.com/vesoft-inc/nebula-console/releases

# 重命名,并修改权限
mv nebula-console-linux-amd64-v3.8.0 nebula-console
chmod 755 nebula-console

# 使用console连接,注意实际上都是默认参数,直接使用./nebula-console就可以连接本地,不需要任何参数,密码默认为空
./nebula-console -addr <ip> -port <port> -u <username> -p <password>

# 注册 Storage 服务
ADD HOSTS 127.0.0.1:9779

# 安装完成,截图留念
代码语言:javascript
复制
# 测试三个服务的stats接口,
Meta:curl 127.0.0.1:19559/stats
Graph:curl 127.0.0.1:19669/stats
Storage:curl 127.0.0.1:19779/stats
2.2、docker-compose部署

环境部署参考官方文档,使用docker-compose部署

代码语言:javascript
复制
# 下载
git clone -b release-3.8 https://github.com/vesoft-inc/nebula-docker-compose.git
​
# 切换路径
cd nebula-docker-compose/
​
# 修改docker-compose.yaml,为了开启stats接口访问
修改内容如下
Meta服务三处
- 29559:19559
- 39559:19559
- 49559:19559
Graph服务三处
- 29669:19669
- 39669:19669
- 49669:19669
Storage服务三处
- 29779:19779
- 39779:19779
- 49779:19779
​
# 启动服务
docker-compose up -d
​
# docker部署无需手动添加Storage,使用console连接查看,服务正常
代码语言:javascript
复制
# 测试服务的stats接口,
Meta
curl 127.0.0.1:29559/stats
curl 127.0.0.1:39559/stats
curl 127.0.0.1:49559/stats
​
Graph:
curl 127.0.0.1:29669/stats
curl 127.0.0.1:39669/stats
curl 127.0.0.1:49669/stats
​
Storage
curl 127.0.0.1:29779/stats
curl 127.0.0.1:39779/stats
curl 127.0.0.1:49779/stats
三、nebula-stats-exporte安装配置
3.1、RPM/DEB方式部署的nebula,对应使用二进制方式部署nebula-stats-exporte
代码语言:javascript
复制
# 下载
git clone https://github.com/vesoft-inc/nebula-stats-exporter.git

# 编译
cd nebula-stats-exporter
make build

# 创建config.yaml
vim config.yaml

# 内容
clusters:
  - name: nebula
    instances:
      - name: metad
        endpointIP: 127.0.0.1
        endpointPort: 19559
        componentType: metad
      - name: graphd
        endpointIP: 127.0.0.1
        endpointPort: 19669
        componentType: graphd
      - name: storaged0
        endpointIP: 127.0.0.1
        endpointPort: 19779
        componentType: storaged
        
# 启动服务
./nebula-stats-exporter --bare-metal --bare-metal-config=./config.yaml

# 服务正常启动,改为后台运行模式,截图留念
nohup ./nebula-stats-exporter --bare-metal --bare-metal-config=./config.yaml > nebula-stats-exporter.log  2>&1 &
代码语言:javascript
复制
# 测试接口
curl 127.0.0.1:9100/metrics
3.2、docker-compose部署nebula,对应使用docker方式nebula-stats-exporte
代码语言:javascript
复制
# # 创建config.yaml
vim config.yaml

# 内容
clusters:
  - name: nebula
    instances:
      - name: metad0
        endpointIP: 127.0.0.1
        endpointPort: 29559
        componentType: metad
      - name: metad1
        endpointIP: 127.0.0.1
        endpointPort: 39559
        componentType: metad
      - name: metad2
        endpointIP: 127.0.0.1
        endpointPort: 49559
        componentType: metad
      - name: graphd0
        endpointIP: 127.0.0.1
        endpointPort: 29669
        componentType: graphd
      - name: graphd1
        endpointIP: 127.0.0.1
        endpointPort: 39669
        componentType: graphd
      - name: graphd2
        endpointIP: 127.0.0.1
        endpointPort: 49669
        componentType: graphd
      - name: storaged0
        endpointIP: 127.0.0.1
        endpointPort: 29779
        componentType: storaged
      - name: storaged1
        endpointIP: 127.0.0.1
        endpointPort: 39779
        componentType: storaged
      - name: storaged2
        endpointIP: 127.0.0.1
        endpointPort: 49779
        componentType: storaged


# 启动,需要注意config.yaml路径按实际修改,我为了方便使用127.0.0.1 将-p 9100:9100 换成了--network=host,直接使用主机网络(因为容器部署使用bridge网络,127.0.0.1只能连接容器内)
docker run -d --restart=always --name nebula-stats-exporter -p 9100:9100 \
    -v "$(pwd)/deploy/bare-metal/config.yaml:/config.yaml" \
    vesoft/nebula-stats-exporter:v3.3.0 --bare-metal --bare-metal-config=/config.yaml

# 查看日志
docker logs -f nebula-stats-exporter

# 截图留念
四、整合Prometheus和grafana

无论使用那种方式部署nebula和nebula-stats-exporter,这部分内容是一样的

4.1、安装Prometheus和grafana,请参考官方文档,此处不是文章主要内容
4.2、Prometheus配置文件
代码语言:javascript
复制
# 编辑prometheus.yml
vim prometheus.yml

# 内容,根据实际IP填写
scrape_configs:
  - job_name: 'nebula-stats-exporter'
    static_configs:
      - targets: ['127.0.0.1:9100']
      
# 访问9090端口,查看是否正常
# 截图留念
4.3、grafana配置
4.3.1、添加Prometheus数据源
image
image
4.3.2、导入dashboard样式,
代码语言:javascript
复制
# 下载地址
https://github.com/vesoft-inc/nebula-stats-exporter/blob/master/deploy/grafana/nebula-grafana.json
五、总结

​ 本文阐述了使用nebula-stats-exporter对nebula各个服务进行监控的方式,希望能对大家有所帮助

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、介绍
  • 二、环境
    • 2.1、二进制部署
      • 2.2、docker-compose部署
      • 三、nebula-stats-exporte安装配置
        • 3.1、RPM/DEB方式部署的nebula,对应使用二进制方式部署nebula-stats-exporte
          • 3.2、docker-compose部署nebula,对应使用docker方式nebula-stats-exporte
          • 四、整合Prometheus和grafana
            • 4.1、安装Prometheus和grafana,请参考官方文档,此处不是文章主要内容
              • 4.2、Prometheus配置文件
                • 4.3、grafana配置
                  • 4.3.1、添加Prometheus数据源
                    • 4.3.2、导入dashboard样式,
                    • 五、总结
                    相关产品与服务
                    容器服务
                    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档