Prometheus + Grafana + alertmanager实现Substrate区块链节点实时监控报警系统(上)
文章导航
- 产品展示
- 配置步骤
- 一、工具安装
- 1. 在A服务器中安装Prometheus与Grafana
- 2.在B服务器中安装Prometheus
- 二、修改配置文件
- 1.修改A服务器Prometheus配置文件
- 2.修改B服务器Prometheus配置文件
- 三、指令的可持续化运行
- 1.A服务器上Prometheus与Grafana的可持续化运行
- 2.B服务器上Prometheus的可持续化运行
- 四、抓取信息及prometheus界面的查看
- 五、Grafana面板配置
- 1.配置Data sources
- 2.导入面板
- 六、查看Dashboard面板
- 总结
- 特别鸣谢
产品展示
通过本配置教程的配置,你将学会如何制作一个实时更新的区块链节点监控系统,成品展示如下:
是不是还挺有模有样的,其中的Dashboard可进行高度自定义
配置步骤
本配置教程灵感来自Substrate Developer Hub’s Tutorials
实验环境:
实验服务器A与B:
- Ubuntu 18.04
- Linux amd64
本地:
- Mac OS
实验前提:
假设有A与B两台远程服务器,A服务器作为监控服务器,B服务器作为被监控服务器,且默认B服务器一直跑着区块链节点。
整个配置过程,均由本地计算机访问远程的A和B服务器完成。
一、工具安装
1. 在A服务器中安装Prometheus与Grafana
Prometheus的安装:
在本地进入Prometheus官网,下载对应版本的prometheus安装包:
下载好后输入以下命令把本地的安装包上传到远程服务器A中:
scp /Users/admin/Downloads/prometheus-2.28.1.linux-amd64.tar.gz root@A's IP address:/root
# /Users/admin/Downloads/为安装包存储路径
# /root为具体的上传地址路径
Linux scp命令用于Linux之间文件和目录的传递,从本地复制到远程服务器、从远程服务器复制到本地(该命令同样适用于类Unix系统中,Mac OS与Linux同属于类Unix系统)。
scp命令详解可以参考另一篇文章:linux scp命令参数及用法详解–linux远程复制拷贝命令使用实例
安装包上传成功后,输入以下命令来解压缩解打包.tar.gz文件
tar -zxvf prometheus-2.28.1.linux-amd64.tar.gz
tar相关打包压缩(解打包解压缩)命令可参考以下文章:Linux命令——tar与gzip详解:文件的打包压缩与解压缩解打包
解压完成后代表Prometheus正常安装完成
Grafana的安装:
在本地进入Grafana官网,按照给出的安装命令安装Grafana
输入官网中给出的三行命令即可在A服务器上安装Grafana
一般三条命令运行完后,Grafana会提示你输入三条命令,把Grafana的启动做成开机启动,
Grafana提示如下:
依次输入提示中的三条命令以设计Grafana为开机启动
由于后面要执行Grafana与Prometheus的后台持续运行,因此此处设置为开机启动后,后面不用单独设置(默认为服务器不会宕机,因此此处开机启动的作用与挂在后台持续运行的作用一样)
2.在B服务器中安装Prometheus
安装Prometheus的过程与上文一样,此处不再赘述。
二、修改配置文件
1.修改A服务器Prometheus配置文件
先 cd
到prometheus的安装文件中,找到配置文件prometheus.yml,打开配置文件,在原配置文件的基础上,在 scrape_configs
里面加入如下内容:
# -- snip --scrape_configs:# -- snip --- job_name: 'federate'scrape_interval: 15shonor_labels: truemetrics_path: '/federate'params:'match[]':- '{job="substrate_node"}'- '{__name__=~"job:.*"}'# job自定义,一般为被监控服务器的jobstatic_configs:- targets:- 'xx.xx.xx.xx:9090'# 此处填写A服务器的IP地址# 可添加多个被监控服务器的IP地址,但必须保持9090端口
在Peometheus中,9090端口是专门暴露抓取信息metrics的端口,所有抓取信息默认在9090端口暴露出去
这一步的设置是作为监控服务器的必须设置项,官方文档中叫做Federation,只有通过这一步,才能实现跨局域网间的随意监控
更多详细内容见:Federation官方配置文档
2.修改B服务器Prometheus配置文件
在相关安装目录下,打开prometheus.yml配置文件进行修改,在原配置文件的 scrape_configs
中再添加一个 job
,配置如下:
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus'# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ['localhost:9090']# 设置新的job,取名为“substrate_node”- job_name: 'substrate_node'scrape_interval: 5s# 设置抓取时间为5s,该时间要小于区块链节点的出块时间static_configs:- targets: ['localhost:9615']
根据Substrate官方文档介绍,所有用Substrate Developer Hub开发的区块链,其用Prometheus抓取的指标metrics均默认由9615端口暴露
由于B服务器正在运行区块链节点,所以要在本地进行抓取指标metrics(现在B是本地)
具体区块链节点指标暴露文档可访问Substrate Developer Hub’s Tutorials: Visualizing Node Metrics
三、指令的可持续化运行
1.A服务器上Prometheus与Grafana的可持续化运行
注:本文中可持续化运行指的是关掉后台后命令还在执行
Prometheus的可持续化运行:
先 cd
到prometheus.yml文件的目录下,然后输入如下命令:
nohup ./prometheus --config.file prometheus.yml &
*Grafana的可持续化运行(前面设置Grafana开机启动的请跳过这一步):
先 cd
到grafana-server文件的目录下,然后输入如下命令:
nohup ./grafana-server web &
注意:nohup [command] &
命令用于将command命令放在后台持续运行,并且结束远程连接后命令也在服务器后台持续运行。结束该命令只能用 ps aux
查询command进程的PID,然后运行 kill -9 [PID]
强制结束进程。
2.B服务器上Prometheus的可持续化运行
执行命令同上,先 cd
到相应目录,然后执行以下命令:
nohup ./prometheus --config.file prometheus.yml &
四、抓取信息及prometheus界面的查看
在浏览器中输入 http://A的IP地址:9090/metrics
可访问具体抓去指标metrics:
如果想看prometheus的界面,直接输入 http://A的IP地址:9090
即可访问,里面很多选项可以查看(此界面内容非本教程主要内容,故不做过多讲解)。成功打开界面后,可以在Status一栏中,选择Targets查看B服务器监控状态:
五、Grafana面板配置
系统成功运行Grafana后,可在浏览器中输入 http://A的IP地址:3000
成功访问Grafana,系统默认初始账号密码均为admin
1.配置Data sources
初始进入Grafana时会显示如下的界面,要想让自己的监控面板有信息显示,首先让他知道数据在哪。
如下图所示,先点击左侧导航栏的小齿轮 Configuration
按钮,在弹出的框中点击 Data sources
:
进入Data Sources后,点击选择Prometheus(因为数据来自Prometheus的指标metrics):
选择Prometheus后,开始配置Data sources:编辑HTTP栏目下URL,填写为 http://A的IP:9090
:
完成修改后点击该页面下的 Save & test
按钮,当出现两个绿色对号即表示测试通过:
2.导入面板
Data sources测试通过后,点击左侧的 +
号,然后在弹出的框中点击 Import
按钮:
进入Import界面后,在Import via grafana.com栏目中输入编号13759,之后点击右边的 Load
按钮即可完成导入:
Tip: 编号13579为Substrate Developer Hub提供的监控面板模版编号
点击Load
后,进入Dashboard设置界面,此时在 Substrate Node下选择刚才测试好的Data sources(Prometheus),然后点击 import
按钮后即可即可完成Dashboard的导入与配置:
六、查看Dashboard面板
目光再次来到左侧的导航栏,按照下图的顺序依次点接选择就可以查看区块链节点监控面板了:
进入 Manage
后点击相应文件夹下的面板即可进入面板:
Tip:一些面板方面的基础设置即实时刷新频率可在下图中的标红区域设置:
总结
整篇配置教程到此结束,该教程中指标metrics的抓取系统为Prometheus,监控面板系统为Grafana,区块链节点由Substrate Developer Hub配置
特别鸣谢
[1] Prometheus Download
[2] Prometheus Configuration Doc.
[3] Grafana Download
[4] Substrate Developer Hub: Tutorials’ Create Your First Substrate Chain
[5] Substrate Developer Hub: Tutorials’ Visualizing Node Metrics
Prometheus + Grafana + alertmanager实现Substrate区块链节点实时监控报警系统(上)相关推荐
- (四) prometheus + grafana + alertmanager 配置Kafka监控
安装请看https://blog.51cto.com/liuqs/2027365 ,最好是对应的版本组件,否则可能会有差别. (一)prometheus + grafana + alertmanage ...
- Prometheus+Grafana+Alertmanager搭建全方位的监控告警系统-超详细文档
微信公众号搜索DevOps和k8s全栈技术,每天分享技术和生活点滴,共同成长,共同进步~ 前两篇文章 k8s中部署prometheus监控告警系统-prometheus系列文章第一篇 k8s中部署Gr ...
- 全套生产环境监控报警系统(Prometheus+Grafana+alertmanager)
一.什么是promethues? 由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB). 二.promethues为什么更适合云监控? 云原生使用容器和k8s环境作为运行基础,一个整 ...
- Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. [toc] 一.Prometheus # 1.下载 ...
- docker-compose 部署prometheus+grafana+alertmanager+chronograf+prometheus-webhook-dingtalk+loki
tree树状图 ├── alertmanager │ ├── alertmanager.yml │ └── alertmanager.yml_bak ├── chronograf ├── docker ...
- prometheus 发送恢复 值_基于prometheus+grafana+alertmanager监控系统配置钉钉告警
概述 因为目前工作基本都是用钉钉办公,所以今天主要介绍一下怎么在prometheus配置钉钉告警,这里的前提是已经部署了alertmanager. 一.配置go 由于Prometheus 是用gola ...
- 巨详细的prometheus+grafana实现服务器(集群)性能监控,并学着调用prometheus的api
目录 1.添加机器状态监控节点(node集群配置:每台要监控的服务器都需要安装一个node) 2.安装prometheus(只需要安装一个总控prometheus,yml配置文件中配置好各个node节 ...
- prometheus+alertmanager+webhook实现自定义监控报警系统
文章目录 1.概述 2.prometheus配置报警规则 3.alertmanager配置及部署 3.1.alertmanager配置 3.2.alertmanager部署 4.prometheus关 ...
- 视频教程-Prometheus+Grafana搭建全方位的监控告警系统-Linux
Prometheus+Grafana搭建全方位的监控告警系统 高级运维工程师.资深DevOps工程师,精通kubernetes容器编排工具,熟练使用linux操作系统,多年线上线下教学经验 韩先超 ¥ ...
最新文章
- 互联网团队协作:可追溯【连载三】
- Kafka常用命令大全
- Docker 命令详解(run篇)
- vue实现查询多条记录_vue.js 实现天气查询
- Nulgrind:最小的Valgrind工具
- 出国怎么能不出现天价微博?
- day16——oracle灾备2
- 海盗王封WPE的方法
- X509Certificate证书如何获取16位长度serial number?
- php10天速成培训,十天学会php之第十天
- matlab跑微分方程画图,偏微分方程工具箱PDE
- Python chardet
- 推荐七个逆天神器APP,让你分分秒秒变优秀
- matlab hist 横坐标,matlab中hist函数的用法_matlab中hist函数 将EXCEL 中的日期 时间 导入到MATLAB坐标轴中...
- 教你批量采集晨光文具的商品图片到电脑中
- kinect相机的安装环境搭建以及测试
- Mysql 事务的隔离性(隔离级别)
- 1月末支付机构备付金总量达1.4万亿,较去年12月下滑两千多亿
- 谨赠20篇技术热文营造一个不一样的节日气氛!
- 网易邮箱大师上使用icloud邮箱
热门文章
- nyoj 1099 Lan Xiang's Square (水题)
- 计算机退回登录界面,win7开机怎么自动登录用户?Win进入桌面又返回登录界面故障解决...
- 过压保护电路(OVP)
- Leetcode 781 森林里的兔子(C++)
- 基于javaweb的宠物店管理系统(java+jsp+javascript+bootstrap+mysql)
- pscs6怎么做html模板,怎么在Adobe Photoshop CS6里制作表格模板(PS)怎么画表格
- 国产麒麟系统PXE安装-UEFI引导
- 信息化系统要如何选型?
- 微信小程序 17 个人中心和登录 的跳转
- linux修改文件信息失败怎么办,【Linux】Linux修改openfiles后不生效问题?