Substrate 基础教程(Tutorials) -- 监控节点指标

news2024/9/28 11:17:53

Substrate 公开有关网络操作的度量。例如,您可以收集有关您的节点连接了多少个对等节点、您的节点使用了多少内存以及正在生成的块数量的信息。为了捕获和可视化Substrate节点公开的度量,您可以配置和使用Prometheus和Grafana等工具。本教程演示如何使用Prometheus获取数据样本,如何使用Grafana创建图形和仪表板,以使用数据样本可视化节点指标。

在较高的级别上,Substrate公开了可以被Prometheus端点使用的遥测数据,并在Grafana仪表板或图形中作为可视信息显示。

下图提供了如何配置SubstratePrometheusGrafana之间的交互以显示关于节点操作的信息的简化概述。
在这里插入图片描述

1、教程的目标

通过完成本教程,您将实现以下目标:

  • 安装PrometheusGrafana.
  • 配置Prometheus以捕获Substrate节点的时间序列。
  • 配置Grafana以可视化使用Prometheus端点收集的节点度量。

2、安装 Prometheus 和 Grafana

出于测试和演示的目的,您应该下载PrometheusGrafana的已编译bin程序,而不是自己构建工具或使用Docker映像。使用下面的链接下载适合您的体系结构的二进制文件。本教程假设您在工作目录中使用已编译的二进制文件。

要安装本教程的工具:

2.1 安装 Prometheus

  1. 在计算机上打开浏览器。
  2. 从Prometheus Download下载适当的预编译的Prometheus二进制文件。
wget https://github.com/prometheus/prometheus/releases/download/v2.37.6/prometheus-2.37.6.linux-amd64.tar.gz
  1. 在计算机上打开终端shell并导航到Downloads文件夹,然后运行适当的命令从下载的文件中提取内容。
  2. 以Ubuntu操作系统为例,可运行如下命令:
tar xvzf prometheus-2.37.6.linux-amd64.tar.gz

2.2 安装 Grafana OSS

Grafana Install

通过 APT repository

# Ubuntu and Debian
# 安装最新版本的OSS:
sudo apt-get install -y apt-transport-https adduser software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add

# 为稳定版本添加这个存储库
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

# 安装
sudo apt-get update
sudo apt-get install grafana

3、启动一个Substrate节点

Substrate公开了一个端点,该端点以端口9615上可用的Prometheus exposition format 提供度量。您可以使用--prometheus-port命令行选项更改端口,并使用--prometheus-external命令行选项使其可以通过本地主机以外的接口访问。为简单起见,本教程假设Substrate节点、Prometheus实例和Grafana服务都使用默认端口在本地运行。

  1. 在计算机上打开一个终端
  2. 切换到节点模板目录的根目录。
  3. 以开发模式启动节点模板。
./target/release/node-template --dev

4、配置 Prometheus 端点

解压Prometheus下载时创建的目录中包含一个prometheus.yml配置文件。您可以修改这个文件或创建一个自定义配置文件,将Prometheus配置为从默认的Prometheus端口端点9615或使用--prometheus-port <port-number>命令行选项指定的端口提取数据。

Substrate暴露端点添加到Prometheus目标列表:

  1. 在终端定位到Prometheus工作目录的根目录。
  2. 打开prometheus.yml配置文件
  3. 添加substrate_node作为scrape_config端点。
    例如,添加如下所示的section:
...
# A scrape configuration containing exactly one endpoint to scrape:
scrape_configs:
 - job_name: "substrate_node"

   scrape_interval: 5s

   static_configs:
     - targets: ["localhost:9615"]

这些设置将覆盖substrate_node作业的抓取目标的全局默认值。将scrape_interval设置为一个小于块时间的值,以确保每个块都有一个数据点,这很重要。例如,Polkadot块时间为6秒,因此scrape_interval设置为5秒。

  1. 使用修改后的Prometheus启动一个prometheus.yml配置文件实例。
    例如,当前在Prometheus工作目录,使用默认配置文件,则启动Prometheus。
./prometheus --config.file prometheus.yml

不要关闭,继续运行。

  1. 打开一个新的终端shell,运行以下命令检查为Substrate节点检索到的指标:
curl localhost:9615/metrics

该命令返回类似以下截断示例的输出:
在这里插入图片描述
或者,您可以在浏览器中打开相同的端点以查看所有可用的度量数据。例如,如果您正在使用默认的Prometheus端口,请在浏览器中打开http://localhost:9615/metrics

5、配置 Grafana 数据源

运行适当的命令在体系结构上安装Grafana之后,可以在本地计算机上启动该服务并开始使用它。用于启动服务的命令取决于您的本地系统体系结构和包管理器。
有关在不同操作系统上启动Grafana的信息,请参阅相应的Grafana文档。

Ubuntu 可以通过运行以下命令启动Grafana:

# 启动方法取决于您的Linux系统使用的是 systemd 还是 init.d。
# Ubuntu
# 以 grafana 用户启动 grafana-server 进程,该用户是在包安装期间创建的
sudo service grafana-server start
# 或
sudo /etc/init.d/grafana-server start

# Verify the status:
sudo service grafana-server status
# 或
sudo /etc/init.d/grafana-server status	
# 或者,你可以配置Grafana服务器在引导时启动:
sudo update-rc.d grafana-server defaults

## Ubuntu 方法二
# 开机启动
 sudo /bin/systemctl daemon-reload
 sudo /bin/systemctl enable grafana-server
# You can start grafana-server by executing
 sudo /bin/systemctl start grafana-server

启动Grafana后,可以在浏览器中导航到它。

  1. 打开浏览器并导航到Grafana使用的端口。
    默认情况下,Grafana使用http://localhost:3000,除非您配置了不同的主机或端口。

  2. 使用默认用户名admin和密码admin登录,然后单击“登录”。
    在这里插入图片描述

  3. 在欢迎页面上,单击数据源(Data Sources)。

  4. 单击Prometheus, 为 Substrate节点度量,将Prometheus端点配置的数据源。
    在同时运行Substrate节点和Prometheus实例的情况下,配置Grafana在其默认端口http://localhost:9090上查找Prometheus,或者在自定义端口信息时配置Grafana使用的端口。
    您不应该在prometheus.yml文件中指定您设置的Prometheus端口。该端口是用来节点发布数据。

  5. 单击Save & Test以确保正确地设置了数据源。
    如果数据源正在工作,就可以配置仪表板来显示节点指标。

6、导入模板仪表板

如果希望启动一个基本的仪表板,可以导入一个Substrate仪表板模板来获取关于节点的基本信息。

导入dashboard模板

  1. Grafana Welcome页面上,单击Dashboards
  2. 在左侧导航中,单击“Dashboards”并选择“Browse”。
  3. 对于“搜索”选项,单击“新建(New)”并选择“导入(Import)”。
    在这里插入图片描述
  4. 复制Substrate仪表板模板并将其粘贴到Import via panel json文本框中。
  5. 单击Load
  6. 必要时,检查并修改仪表板的名称、文件夹和唯一标识符。
  7. 选择Prometheus (default),然后单击Import

在这里插入图片描述
Substrate仪表板模板可以与任何基于Substrate的链一起使用,也可以从Grafana Labs仪表板库中下载。

如果您想创建自己的仪表板,请参阅Grafana的Prometheus文档。

如果您创建了自定义仪表板,请考虑将其上传到Grafana仪表板。通过在Awesome Substrate存储库中列出仪表板,可以让Substrate构建器社区知道仪表板的存在。

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

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

相关文章

C++学习笔记(以供复习查阅)

视频链接 代码讲义 提取密码: 62bb 文章目录1、C基础1.1 C初识&#xff08;1&#xff09; 第一个C程序&#xff08;2&#xff09;注释&#xff08;3&#xff09;变量&#xff08;4&#xff09;常量&#xff08;5&#xff09;关键字&#xff08;6&#xff09;标识符命名规则1.2 …

mysql 导入超大sql文件

mysql -u root -p 登录mysql命令 可以登陆mysql服务器使用source命令导入&#xff0c;会快很多&#xff0c;我这里导入500M&#xff0c;大概用了5分钟。 1. liunx登陆mysql mysql -u 用户名 -p 数据库名 然后输入密码 登陆mysql控制台后&#xff0c;执行source命令&#xf…

Maven - Linux 服务器 Maven 环境安装与测试

目录 一.引言 二.安装流程 1.获取安装包 2.解压并安装 3.配置环境 4.mvn 验证 三.测试踩坑 1.Permission denied 2.Plugin or dependencies Error 一.引言 通道机上的 java 项目需要 mvn package 提示没有 mvn 命令&#xff0c;下面记录下安装 maven 的全过程。 二.安…

BatchNorm1d的复现以及对参数num_features的理解

0. Intro 以pytorch为例&#xff0c;BatchNorm1d的参数num_features涉及了对什么数据进行处理&#xff0c;但是我总是记不住&#xff0c;写个blog帮助自己理解QAQ 1. 复现nn.BatchNorm1d(num_features1) 假设有一个input tensor&#xff1a; input torch.tensor([[[1.,2.,…

Plsql使用

登录登录system用户&#xff0c;初始有两个用户sys和system&#xff0c;密码是自己安装oracle数据库时写的&#xff0c;数据库选择orcl创建用户点击user,右键新增填写权限关于3个基本去权限介绍&#xff1a; connect : 基本操作表的权限&#xff0c;比如增删改查、视图创建等 r…

Netty channelHandler注意事項——super.channelRead(ctx, msg)

通过nioSocketChannel.pipeline()的addLast添加入站处理器&#xff0c;如果有多个必须显示的唤醒下一个入站处理器&#xff0c;否则执行链中间会断掉。 protected void initChannel(NioSocketChannel nioSocketChannel) throws Exception {log.debug(nioSocketChannel.toStrin…

前端优化,webpack打包删除无用文件,并附上批量删除文件脚本!非常好用

前言 大家可能在webpack打包项目过程中&#xff0c;常遇见一些无用的图片&#xff0c;js文件&#xff0c;怎样能够自动检测哪些是无用的文件呢&#xff1f;本文中介绍使用插件useless-files-webpack-plugin查找无用文件&#xff0c;在terminal中删除&#xff0c;附加bat批量删…

Ngnix安装教程(2023.3.8)

Nginx安装教程&#xff08;2023.3.8&#xff09;引言1、Nginx简介2、Nginx安装2.1 下载Nginx安装包2.2 免安装启动Nginx&#xff08;切记解压后将nginx-1.23.3文件夹需要放在英文路径下&#xff0c;实测中文路径不识别且启动不成功&#xff09;2.3 熟悉Nginx文件夹目录结构2.4 …

平安银行LAMBDA实验室负责人崔孝林:提早拿到下一个计算时代入场券

量子前哨重磅推出独家专题《“量子”百人科学家》&#xff0c;我们将遍访全球探索赋能“量子”场景应用的百位优秀科学专家&#xff0c;从商业视角了解当下各行业领域的“量子”最新研究成果&#xff0c;多角度、多维度、多层面讲述该领域的探索历程&#xff0c;为读者解析商业…

Python - Pandas - 数据分析(2)

Pandas数据分析2前言常用的21种统计方法describe()&#xff1a;numeric_only&#xff1a;偏度skewness&#xff1a;功能&#xff1a;含义&#xff1a;计算公式&#xff1a;演示&#xff1a;峰度值&#xff1a;用途&#xff1a;数值&#xff1a;计算公式&#xff1a;演示&#x…

[Java·算法·中等]LeetCode34. 在排序数组中查找元素的第一个和最后一个位置

每天一题&#xff0c;防止痴呆题目示例分析思路1题解1&#x1f449;️ 力扣原文 题目 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1,…

Windows 安装 MongoDB 并内网穿透远程连接

本文目录1.前言2.MongoDB数据库的安装2.1 MongoDB下载安装2.2 MongoDB连接测试2.3 cpolar下载安装3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置4.公网访问测试5.结语1.前言 现代电子技术日新月异&#xff0c;并且快速应用到我们的生活中&#xff0c;与之相应的&…

SAP BTEs的简介及实现

一、认识BTE BTE&#xff08;Business Transaction Event&#xff09;也称之为“业务交易事件”,一般的增强(Tcode:SMOD|CMOD)依旧使用ABAP进行二次开发,然而BTE则提供了RFC调用其它产品的可能(Tcode:FIBF)。BTE的设计思路更加简单&#xff0c;和BADI有点类似。在标准程序中留有…

ssm框架之spring:浅聊IOC

IOC 前面体验了spring&#xff0c;不过其运用了IOC&#xff0c;至于IOC( Inverse Of Controll—控制反转 ) 看一下百度百科解释&#xff1a; 控制反转&#xff08;Inversion of Control&#xff0c;缩写为IoC&#xff09;&#xff0c;是面向对象编程中的一种设计原则&#x…

训练自己的GPT2-Chinese模型

文章目录效果抢先看准备工作环境搭建创建虚拟环境训练&预测项目结构模型预测续写训练模型遇到的问题及解决办法显存不足生成的内容一样文末效果抢先看 准备工作 从GitHub上拉去项目到本地&#xff0c;准备已训练好的模型百度网盘&#xff1a;提取码【9dvu】。 gpt2对联训…

又一个开源第一!飞桨联合百舸,Stable Diffusion推理速度遥遥领先

AIGC(AI Generated Content)&#xff0c;即通过人工智能方法生成内容&#xff0c;是当前深度学习最热门的方向之一。其在绘画、写作等场景的应用也一直层出不穷&#xff0c;其中&#xff0c;AI绘画是大家关注和体验较多的方向。 Diffusion系列文生图模型可以实现AI绘画应用&…

八股总结(一)C++语言特性、基础语法、类与模板、内存管理、拷贝控制、STL及C++11新特性

layout: post title: 八股总结&#xff08;一&#xff09;C语言特性、基础语法、类与模板、内存管理、拷贝控制、STL及C11新特性 description: 八股总结&#xff08;一&#xff09;C语言特性、基础语法、类与模板、内存管理、拷贝控制、STL及C11新特性 tag: 八股总结 总结的大部…

使用python求PLS-DA的方差贡献率

以鸢尾花数据集为例&#xff0c;实现PLS-DA降维&#xff0c;画出降维后数据的散点图并求其方差贡献率。 效果图 完整代码 # 导入所需库 import numpy as np from sklearn.cross_decomposition import PLSRegression from sklearn.datasets import load_iris from sklearn.pre…

synchronized原理mointor

Monitor对象头 在java中普通对象的对象头信息 Mark Word记录分代年龄、加锁的状态&#xff1b;Klass Word指向类对象的指针&#xff1b; 其中Mark Word结构 monitor执行原理 我们在加了重量级锁synchronize后&#xff0c;对象头的mark word会指向一个monitor&#xff0c;mon…

pandas库中的read_csv函数读取数据时候的路径问题详解(ValueError: embedded null character)

read_csv()函数不仅是R语言中的一个读取csv文件的函数&#xff0c;也是pandas库中的一个函数。pandas是一个用于数据分析和处理的python库。它的read_csv函数可以读取csv文件里的数据&#xff0c;并将其转化为pandas里面的DataFrame对象。它由很多参数可以设置&#xff0c;例如…