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

news2024/10/23 22:27:22

在这里插入图片描述
大家好,这里是玖叁叁,目前从事全栈工程师工作,刚刚接触 NebulaGraph 不久,还在努力学习当中。图数据库可以高效地表达、存储和分析复杂关系和网络,在特定场景下有着不错的性能。希望通过这篇 nebula-stats-exporter 的实践文章可以给各位读者朋友们一点启发。

一、介绍

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

二、环境

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

2.1、二进制部署

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

# 下载安装包,我本地使用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

# 安装完成,截图留念

请添加图片描述

# 测试三个服务的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部署

# 下载
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连接查看,服务正常

在这里插入图片描述

# 测试服务的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
# 下载
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 &

在这里插入图片描述

# 测试接口
curl 127.0.0.1:9100/metrics
3.2、docker-compose部署nebula,对应使用docker方式nebula-stats-exporte
# # 创建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配置文件
# 编辑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数据源

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.3.2、导入dashboard样式,
# 下载地址
https://github.com/vesoft-inc/nebula-stats-exporter/blob/master/deploy/grafana/nebula-grafana.json

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

五、总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1843097.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Tesseract-OCR 5.0LSTM训练

准备工作 1.安装tesseract5.0版本 2.配置tesserac环境变量 3.jTessBoxEditor(需要java环境) 很多博客已有详细教程&#xff0c;不再赘述&#xff0c;本文以训练为主 最终文件目录: --tif 需要训练的tif文件 --lstmf 后文会讲到生成的方式 --txt 后文会讲到生成的方式 --box 后文…

JavaScript:at()方法遇到的问题并解决

目录 第一章 前言 第二章 使用at方法 第三章 分析原因并解决问题 第一章 前言 最近上线了一个项目&#xff0c;测试过程中并没有什么问题&#xff0c;但是上线后使用的用户多了&#xff0c;结果出现了这么一个问题&#xff1a;.at方法对低版本手机的浏览器不兼容问题&#x…

C++的动态内存分配

使用new/delete操作符在堆中分配/释放内存//使用new操作符在堆中分配内存int* p1 = new int;*p1 = 2234;qDebug() << "数字是:" << *p1;//使用delete操作符在堆中释放内存delete p1;在分配内存的同时初始化//在分配内存的时初始化int* p2 = new int(100…

windows和linux下清空Redis

前言 在本文中&#xff0c;我们将详尽阐述在Windows与Linux操作系统中有效清除Redis缓存的实践方法&#xff0c;旨在为您提供清晰、高效的指导流程&#xff0c;确保数据管理的灵活性与效率。 windows下推荐两款可视化工具 Another Redis Desktop Manager 这是我用的最多也是最…

【iOS】#include、#import、@class、@import

文章目录 #include#importclassimport总结 #include #include是c\c中的预处理器指令&#xff0c;用于包含头文件的内容 但是使用#include可能会出现重复包含文件的问题&#xff0c;因此需要使用&#xff08;#ifndef/#define/#endif&#xff09;。 #import //导入系统头文件…

Linux-目录和文件

目录 一、Linux目录 1、Linux常见目录 2、常见的Linux文件类型 二、cat-查看文件命令 1、cat命令用法 三、分页查看文件内容 1、 more命令 ​2、less命令 ​3、more和less的区别 四、查看文件开头或末尾 1、head命令 2、tail命令 3、wc-统计文件内容 4、grep 命令…

NLP基础概念

NLP任务不同于CV任务&#xff0c;它存在更多难点&#xff0c;例如&#xff1a; 数据表示&#xff1a;NLP任务处理的是文本数据&#xff0c;需要将自然语言文本转化为计算机可处理的形式&#xff0c;即如何把字符串变为数值数据&#xff0c;常用的有词嵌入&#xff08;Word Embe…

20240621 每日AI必读资讯

&#x1f916;GPT-4 通过图灵测试&#xff01;&#xff01; 研究人员称人们在图灵测试中无法区分 GPT-4 和人类&#xff0c;圣地亚哥加州大学认知科学系的研究人员针对GPT 4复刻了图灵测试。 研究人员招募了500名参与者&#xff0c;与四个代理人&#xff1a;人类、1960年代的…

英伟达和IBM搞事情!主攻“量子计算+AI”

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨娴睿/慕一 排版丨沛贤 深度好文&#xff1a;2000字丨8分钟阅读 Ismael Faro是一位计算机工程师&#xff0c;自2015年以来&#xff0c;他就成为开发IBM量子软件生态系统的重要人物。从2016…

Debugger的使用

断点调试 1.打断点 2.以debug模式运行 3.流程控制

一款Wordpress网站导航主题,带昼夜切换功能

Wordpress网站导航主题&#xff0c;带昼夜切换功能。 基于wordpress&#xff0c;部署和使用都比较方便。 界面比较简洁大方。后台管理功能也比较全面&#xff0c;值得一试。 这款主题界面、功能都非常简洁。 作者把这款定位为简约导航主题&#xff0c;所以这款wordpress导航…

61.WEB渗透测试-信息收集- WAF、框架组件识别(1)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;60.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露&#xff08;8&#xff09; WAF的识…

西米支付:【风控升级】同一商户集中交易,将会限制正常用卡

支付公司风控策略再升级&#xff01;近日&#xff0c;有某支付公司代理透漏&#xff0c;客户反馈机器突然不能刷卡了&#xff0c;换卡也无法交易&#xff0c;交易均提示06-超出商户限额&#xff0c;然而该款机器刷卡限额为单日30万&#xff0c;单月300万&#xff0c;客户并未触…

使用MyBatisPlus进行字段的自动填充

使用MyBatisPlus进行字段的自动填充 需求场景 当我们往数据库里面插入一条数据&#xff0c;或者是更新一条数据时&#xff0c;一般都需要标记创建时间create_time和更新时间update_time的值&#xff0c;但是如果我们每张表的每个请求&#xff0c;在执行sql语句的时候我们都手…

arco design表单label和输入框的空间分布

表单空间分布 arco利用的栅格系统来实现label、input的大小分布 <a-form :model"formData.form" :label-col-props"{ span: 6 }" :wrapper-col-props"{ span: 18 }" >// 其它...... </a-form>栅格系统中&#xff0c;默认空间总量2…

web 腾讯地图怎么设置卫星底图??

引用腾讯地图JavaScript SDK (腾讯地图引用文档) 设置卫星底图代码如下&#xff1a;官网示例 new TMap.Map("container", {// zoom: 16, //设置地图缩放级别zoom: 17.2, //设置地图缩放级别center: new TMap.LatLng(lat, long), //设置地图中心点坐标pitch: 35, //…

OZON彩妆热销产品,OZON热销化妆品

在当今的电商时代&#xff0c;OZON平台以其卓越的服务和丰富的产品种类&#xff0c;成为了众多消费者和美妆爱好者的首选。特别是在彩妆领域&#xff0c;OZON平台上的热销产品不仅满足了消费者的多样化需求&#xff0c;更引领了美妆新潮流。本文将为您详细解读OZON彩妆热销产品…

Matlab个性化绘图第3期—带三维球标记的折线图

前段时间有会员在群里问该如何绘制下面这种带三维球标记的折线图&#xff1a; 本期内容就来分享一下带三维球标记的折线图的Matlab绘制思路。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已上传资源群中&#xff0c;加群的朋友请自行下载。有需…

Arduino平台软硬件原理及使用——无源蜂鸣器模块的使用

文章目录 一、蜂鸣器发声原理 二、无源蜂鸣器与有源蜂鸣器的区分 三、无源蜂鸣器模块在Arduino中的使用 一、蜂鸣器发声原理 上图为常见的不同封装及规格的蜂鸣器。 同蜜蜂、知了等昆虫发声原理一样&#xff0c;蜂鸣器同样靠振动来发出声音&#xff1b; 如上图为无源蜂鸣器的内…

【比较版本号】

比较版本号 一、题目二、方法一&#xff1a;s.split()parseInt()三、方法二&#xff1a;优化空间复杂度——双指针四、补充&#xff1a;charCodeAt()函数 一、题目 二、方法一&#xff1a;s.split()parseInt() 使用split将版本号的字符串拆分为数组&#xff0c;再将数组中的每一…