数据与资源可视化——长安链运维监控实践

 前言 

 “链上的交易总量是多少”,“我的链上现在有多少区块了”,“节点是否存活无法第一时间感知到”,除sdk查询链上的相关信息外,今天我们介绍一种新的方式实现链上数据与相关资源的可视化的监控。

 简介 

监控链上数据以及链上节点所在的服务器资源时主要需要安装三个部分:Prometheus + node exporter + Grafana(前置条件是要有go环境,这里不赘述)。

搭建环境时需要注意,安装Prometheus+Grafana可以直接在一台机器上,被监控的机器都需要安装node exporter,采用分布式部署的方式最佳。

 长安链监控部署原理 

图片

监控部署原理

长安链监控数据中主要分为两个大类:

链上数据,这里主要指的是监控链上的交易量、总区块数、tps等,这里采集的方式通过设置chainmaker.yml中的monitor值为true即可获取到相关数据,通过端口号去区分不同的节点数据。

链上节点服务器资源,这里则是需要安装node_exporter来监控机器资源信息。

实操步骤 

图片

部署架构设计

了解了上面的原理,我们来看一下整体的一个部署架构方案,这里我们举一个比较典型的例子,监控链上有四个节点的链,不管多链还是单链长安链都可以适配,因此不需要额外的调整配置。在实际生产中通常采用分布式部署结构,链上的四个共识节点分别部署到不同的服务器上(前提是所有的服务器网络都必须互通)。监控安装的服务器最好选择一个磁盘稍大的机器,因为在监控过程中会产生大量的数据,因此磁盘的选择很重要。具体的操作如下:

1.Prometheus 安装:

官网下载对应的版本:https://prometheus.io/download/

根据自己的服务器系统进行选择:比如这里用的Linux系统。

图片

具体操作如下:

 

#下载后上传到指定的目录(上传的目录可以按照自己的习惯,示例:安装包放在package中)
cd /data/package

Prometheus下载成功后,上传到此目录中:

图片

 

# 解压包
tar -vxf prometheus-2.32.1.linux-amd64.tar.gz -C /usr/local
#解压后,软连接到一个目录,方便操作
ln -sv /usr/local/prometheus-2.32.1.linux-amd64/ /usr/local/Prometheus
#软连接以后,进入目录中
cd /usr/local/prometheus-2.32.1.linux-amd64
# 配置prometheus.yml,这一步需要安装node_exporter后配置最佳
vim prometheus.yml
# 配置成功后,直接运行即可
nohup ./prometheus &
#查看Prometheus启动是否成功
ps -ef |grep Prometheus

上述操作就是安装Prometheus的操作,安装成功后需要配置,vim prometheus.yml(修改配置文件这一步可以等node_exporter安装并启动成功后配置),具体配置方法如下图:

图片

这里最关键部分是要映射到对的ip和对的端口号,这里的端口号9100的主要是监控机器资源信息的,而监控链上的资源信息的端口号要看chainmaker.yml中monitor配置下的端口号是多少,比如节点1默认端口号是14321,那么监控链上字段的端口号就要调整为14321,以此类推。

2.node_exporter下载安装

安装node_exporter主要功能是用来采集节点所在的机器资源信息,比如服务器的cpu、内存、磁盘、网络等信息。

下载地址(普罗米修斯的下载地址继续向下翻):https://prometheus.io/download/

图片

下载地址

 

# 解压安装也比较简单:
tar -vxf node_exporter-1.3.1.linux-amd64.tar.gz -C /usr/local
# 解压后直接可以用
nohup ./usr/local/node_exporter-1.3.1.linux-amd64/node_exporter &
#查看node_exporter启动是否成功
ps -ef |grep node_exporter

3.  Grafana下载安装

这一步的安装直接在服务器上下载安装包即可:

 

# Ubuntu系统
sudo apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_8.3.3_amd64.deb
sudo dpkg -i grafana-enterprise_8.3.3_amd64.deb

 

#centos系统
sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.1.1-1.x86_64.rpm

 

在安装过程中如果出现错误,就按照提示命令运行下,比如下面我的执行结果:
➜  package sudo dpkg -i grafana-enterprise_8.3.3_amd64.deb
Selecting previously unselected package grafana-enterprise.
(Reading database ... 125323 files and directories currently installed.)
Preparing to unpack grafana-enterprise_8.3.3_amd64.deb ...
Unpacking grafana-enterprise (8.3.3)...
Setting up grafana-enterprise (8.3.3)...
Adding system user `grafana' (UID 118) ...
Adding new user `grafana' (UID 118) with group `grafana'...
Not creating home directory `/usr/share/grafana'.
### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server
### You can start grafana-server by executing
sudo /bin/systemctl start grafana-server
Processing triggers for systemd (245.4-4ubuntu3.13)...
# 按照英文的提示把命令运行一下
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server
sudo /bin/systemctl start grafana-server

Grafana启动与停止

 

#Grafana状态查询
systemctl status grafana-server
#Grafana启动
systemctl start grafana-server
#Grafana停止
systemctl stop grafana-server

启动成功的状态:

图片

4.  安装成功检查

如果上述安装都操作成功后,你可以得到以下几个地址

Prometheus地址:http://安装Prometheus的服务器ip:9090/targets

Grafana地址:http://安装Grafana的服务器ip:3000

如果所有被监控的服务是正常的,具体如下图,

图片

正常监控

5.  Grafana配置

上述操作都操作成功后,下一步将Prometheus和Grafana进行关联(Prometheus也有自己的UI,但是分析资源信息监控这一类功能Grafana可视化效果更好)。

先来看一下Prometheus UI:

图片

长安链为大家提供了很多参数,比如这里查询链上一共有多少区块,更多参数大家可以自由探索。

图片

接下来看一下Grafana的配置

1.  Grafana关联Prometheus数据

设置→Data sources→Add data source,如下图所示

图片

到了添加页面后,选择Prometheus,如下图所示

图片

这里有一个很重要的地方,url一定要配置,具体如下图:

图片

页面滑到最下面点击Test and Save即可,这样Grafana与Prometheus的数据就关联成功了。

2.  Grafana监控模板导入

①模板导入

点击左侧菜单的➕→ import →点击Upload Json file,上传模板,模板为json文件,具体见下。

图片

②模板附件
节点所在的机器资源监控模板(点击阅读原文下载)

链上资源监控模板(点击阅读原文下载)

③配置成功效果

图片

图片

图片

到这一步,我们的监控已经是安装成功了。如果链上资源监控页没有数据,可以尝试发一笔数据试试。

 总结 

在实际生产环境中,对于链上数据及资源的监控与预警尤为重要,通过引入高度可视化的数据并与邮件或其他实时通信工具的通知功能打通,不仅能够实时监测关键数据指标,还能够提前预警并快速响应节点异常等情况。  

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

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

相关文章

[提高工作开发效率,远离996]程序员常用的工具软件推荐

前言 现如今,技术发展十分迅猛,开发者只有通过不断的学习才能跟得上时代的步伐。而为了便于学习和工作(减少996),涌现了很多优秀的开发工具用以帮助开发者提高工作效率。现在我把我工作多年来收集实用的开发利器分享出…

蓝桥杯-常用STL(一)

常用STL 🎈1.动态数组🎈2.vector的基础使用🔭2.1引入库🔭2.2构造一个动态数组🔭2.3插入元素🔭2.4获取长度并且访问元素🔭2.5修改元素🔭2.6删除元素🔭2.7清空 &#x1f38…

关于监控的那些事,你有必要了解一下

监控在整个运维和产品生命周期中扮演着至关重要的角色。其目标是在应用的各个阶段,从程序设计、开发、部署到下线,实现事前预警、事中问题定位和事后问题分析的全方位服务。 一、监控的目的 监控贯穿应用的整个生命周期,服务对象主要包括技…

上个厕所的时间了解链路追踪基本概念

大家好,我是蓝胖子,随着微服务的普及,在面对日益复杂的架构和请求链路时,链路追踪技术就显得更加重要,今天我们花5分钟的时间,来掌握和链路追踪相关的基本概念。不会涉及到具体的技术框架和落地&#xff0c…

07.领域驱动设计:3种常见微服务架构模型的对比和分析

目录 1、概述 2、整洁架构 3、六边形架构 4、三种微服务架构模型的对比和分析 5、从三种架构模型看中台和微服务设计 5.1 中台建设要聚焦领域模型 5.2 微服务要有合理的架构分层 5.2.1 项目级微服务 5.2.2 企业级中台微服务 5.3 应用和资源的解耦与适配 6、总结 1、概…

性能测试分类及常用指标

性能测试是个综合的概述,性能测试指的是测试一种分类或多种分类,任何一具体分类,都是性能测试 一、性能测试常用分类 负载测试压力测试并发测试稳定性测试 性能测试分类还有其他类型比如:配置测试、容量测试等,前期…

AttributeError: ‘Plotter‘ object has no attribute ‘topicture‘

在以下网址找到自己的pytorch和cuda版本然后点击进入: https://nvidia-kaolin.s3.us-east-2.amazonaws.com/index.html 下载自己系统和python对应的最新版本 使用pip安装 pip install kaolin-0.14.0-cp38-cp38-linux_x86_64.whl

记录学习--vue发各种请求参数的请求

①发get请求&#xff0c;请求参数是数组&#xff0c;后端用RequestParam List<String>接收 axios.get(/user, {params: {ID: 12345,things: myThings ,}}) // 在参数后面加上&#xff08; &#xff09;&#xff0c;即可把数组变成字符串 // 请求变成 .../user?ID1234…

数据可视化 pycharts实现地理数据可视化(全球地图)

自用版 紧急整理一点可能要用的可视化代码&#xff0c;略粗糙 以后有机会再改 requirements&#xff1a; python3.6及以上pycharts1.9 数据格式为&#xff1a; 运行结果为&#xff1a; import pandas as pd from pyecharts.charts import Map, Timeline from pyecharts im…

【C/C++ 06】基数排序

基数排序是桶排序的一种&#xff0c;算法思路为&#xff1a; 利用队列进行数据收发创建一个队列数组&#xff0c;数组大小为10&#xff0c;每个元素都是一个队列&#xff0c;存储取模为1~9的数从低位到高位进行数据收发&#xff0c;完成排序适用于数据位不高的情况&#xff08…

C# IP v4转地址·地名 高德

需求: IPv4地址转地址 如&#xff1a;输入14.197.150.014&#xff0c;输出河北省石家庄市 SDK: 目前使用SDK为高德地图WebAPI 高德地图开放平台https://lbs.amap.com/ 可个人开发者使用&#xff0c;不过有配额限制。 WebAPI 免费配额调整公告https://lbs.amap.com/news/…

希尔伯特变换的在信号解调时的示例

1.希尔伯特变换的应用场景 希尔伯特变换&#xff0c;在数学上的含义是清晰的。它是一个数字移相器&#xff0c;可以把通过它的任何一个信号相移-90度。这个数学工具在信号解调时&#xff0c;会有非常有用的特性出现。可以看示例&#xff1a; 解释一下&#xff1a; 1.最上面的…

burp靶场--xss上篇【1-15】

burp靶场–xss https://portswigger.net/web-security/cross-site-scripting 1. 什么是xss: 跨站脚本 (XSS) 是一种通常出现在 Web 应用程序中的计算机安全漏洞。XSS 允许攻击者将恶意代码注入网站&#xff0c;然后在访问该网站的任何人的浏览器中执行该代码。这可能允许攻击…

视频转GIF动图实践, 支持长视频转GIF

背景 找了很多GIF动图制作的工具&#xff0c;比如将视频转成GIF, 或者将一系列图片转成GIF, 增加背景文案等等功能。很多收费或者用的一些三方库有点点卡顿&#xff0c;或者需要安装一个软件&#xff0c;所以就自己做一款纯前端页面级别的 视频转 GIF 动图工具。 最开始找到一…

解析PDF二维码:数字时代文件管理的创新之道

随着数字时代的来临&#xff0c;文件管理方式正经历着翻天覆地的变革。在这个变革的浪潮中&#xff0c;PDF二维码作为一种创新的技术手段&#xff0c;正逐渐引起人们的关注。本文将深入探讨PDF二维码的概念、应用领域以及在文件管理中的前景。 一、PDF二维码的概念 PDF二维码…

Datawhale 组队学习之大模型理论基础Task9 大模型法律

第11章 大模型法律 11.1 简介 此内容主要探讨法律对大型语言模型的开发和部署有何规定。 先看看法律的特点&#xff1a; 法律就如我国法律教材所给出的一样&#xff0c;有依靠国家强制力保证实施的特点。 而法律在大模型中也是不可或缺的&#xff0c;缺少了法律的约束&…

chromedriver安装和环境变量配置

chromedriver 1、安装2、【重点】环境变量配置&#xff08;1&#xff09;包的复制&#xff1a;&#xff08;2&#xff09;系统环境变量配置 3、验证 1、安装 网上随便搜一篇chromedriver的安装文档即可。这里是一个快速链接 特别提醒&#xff1a;截止2024.1.30&#xff0c;chr…

LeetCode.209. 长度最小的子数组

题目 题目链接 分析 本题的题意就是让我们找最短的子数组和 > target 的子数组的长度。 首先最能想到的就是暴力方法&#xff0c;外层循环以数组每一个元素都作为起点&#xff0c;内存循环累加元素&#xff0c;当大于等于 target 的时候记录当前元素个数&#xff0c;更新…

力扣0110——平衡二叉树

平衡二叉树 难度&#xff1a;简单 题目描述 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树_每个节点_ 的左右两个子树的高度差的绝对值不超过 1 。 示例1 输入&#xff1a; root [3,9,2…

力扣(leetcode)第119题杨辉三角II(Python)

119.杨辉三角II 题目链接&#xff1a;119.杨辉三角II 给定一个非负索引 rowIndex&#xff0c;返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex 3 输出: [1,3,3,1] 示例 2: 输入: rowIndex 0…