在ubuntu上搭建系统监控系统

大纲

  • 数据生产方
    • 安装和运行
    • 验证
  • 数据收集、存储和分发方
    • 下载和解压
    • 修改配置
    • 运行
    • 验证
  • 数据消费方
    • 下载和运行
    • 验证
      • 新增数据源
      • 新增看板
      • 关联看板和数据源
      • 效果展现
  • 参考资料

在一个监控系统中,一定会有“数据生产方”和“数据消费方”存在。“数据生产方”用于产出需要监控的相关指标数据;“数据消费方”使用这些数据产生额外的信息和功能,比如数据图表化表达、异常数据预警等。
请添加图片描述
当“数据生产方”变多时,系统往往会演化出“数据收集方”用于统一收集数据。这个时候“数据消费方”可以通过“数据收集方”获得全部数据。
请添加图片描述
当“数据消费方”变多时,不同的“数据消费方”会有不同诉求。比如有的只要A“数据生产方”的数据;有的既要A的、也要B的数据。于是整个系统又会演化出“数据分发方”,用于满足消费方的不同诉求。
在这里插入图片描述
随着数据越来越多,且生产和消费并非一定要紧密连接,在“数据收集方”和“数据分发方”之间就会演化出“数据仓储方”。它的出现让“数据收集方”和“数据分发方”实现了解耦,且提升了系统的健壮性。
在这里插入图片描述
在实际生产中,我们往往使用prometheus和grafana来实现该系统中重要的两部分。
prometheus主要用于收集、存储和分发数据。虽然prometheus可以展现数据,但是功能并不强大,所以将其限定在非消费区域。
grafana主要用于消费数据。主要体现就是各种报表形式展现数据,以及提供一些基于规则数据告警。
在这里插入图片描述
“数据生产方”需要给prometheus提供规定协议的数据。本文我们并不对此进行介绍,而是专注于将系统搭建和验证。为了简单起见,我们选用了prometheus开源项node_exporter作为“数据生产方”。

数据生产方

安装和运行

下载并解压node_exporter。(可以从https://prometheus.io/download/#node_exporter找到最新的版本)

wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz 
tar xvfz node_exporter-1.7.0.linux-amd64.tar.gz 

运行node_exporter

cd node_exporter-1.7.0.linux-amd64/
./node_exporter

验证

在本机上使用localhost:9100/metrics(跨环境使用,则配置IP)访问node_exporter产生的数据。
在这里插入图片描述

数据收集、存储和分发方

下载和解压

下载并解压prometheus。(可以在https://prometheus.io/download/#prometheus找到最新版)

wget https://github.com/prometheus/prometheus/releases/download/v2.51.0/prometheus-2.51.0.linux-amd64.tar.gz .
tar -zvxf prometheus-2.51.0.linux-amd64.tar.gz

修改配置

进入prometheus目录下可以找到prometheus.yml

cd prometheus-2.51.0.linux-amd64/

修改prometheus.yml文件,新增对node_exporter的监控。
原来的部分配置

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"]

修改后的配置

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_name: "node_exporter"static_configs:- targets: ["localhost:9100"]

运行

通过指定配置的方式启动prometheus。

./prometheus --config.file=./prometheus.yml 

验证

在本机上使用localhost:9090(跨环境使用,则配置IP)访问prometheus后台页面。
在这里插入图片描述
可以看到node_exporter已经被监控。
在这里插入图片描述

我们还可以在图形化(Graph)的输入框中输入以下指令查看数据图表展现效果。

MetricMeaning
rate(node_cpu_seconds_total{mode=“system”}[1m])在最后一分钟内,每秒在系统模式下花费的平均CPU时间(以秒为单位)
node_filesystem_avail_bytes非root用户可用的文件系统空间(以字节为单位)
rate(node_network_receive_bytes_total[1m])最后一分钟内每秒接收的平均网络流量(以字节为单位)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据消费方

prometheus虽然可以配置一些看板和告警,但是可视化并不是它的核心。于是我们引入效果更好的grafana来做“数据消费方”。

下载和运行

下载并解压grafana。(可以在https://grafana.com/grafana/download找到最新版)

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.4.1.linux-amd64.tar.gz
tar -zxvf grafana-enterprise-10.4.1.linux-amd64.tar.gz
cd grafana-v10.4.1/
./bin/grafana server

验证

在本机上使用localhost:3000(跨环境使用,则配置IP)访问grafana后台页面。
第一次登录时,我们可以使用admin名称登录,密码也是admin。进入这个账号后会提示修改初始密码,我们还是设置为admin以方便记忆。

新增数据源

我们要让grafana连接prometheus,以提供数据。具体操作如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

新增看板

在这里插入图片描述
我们到grafana官网上找为node_exporter定制的开源看板。
在这里插入图片描述
在这里插入图片描述
把上一步看板网页地址https://grafana.com/grafana/dashboards/1860-node-exporter-full/复制到下图的输入框中,以加载它。
在这里插入图片描述

关联看板和数据源

上个页面往下滚动,可以看到输入数据源的地方。我们选择之前步骤创建的prometheus。
在这里插入图片描述

效果展现

在这里插入图片描述

参考资料

  • https://github.com/prometheus/node_exporter
  • https://prometheus.io/docs/guides/node-exporter/
  • https://prometheus.io/download/
  • https://grafana.com/grafana/download
  • https://grafana.com/docs/grafana/latest/setup-grafana/sign-in-to-grafana/

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

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

相关文章

企业如何利用数字人员工,加速企业数字化发展?

元宇宙概念的兴起,为企业数字化转型提供了新的想象空间,各领域企业纷纷推出高辨识度、强互动性的数字人员工、数字代言人,以数字人短视频、数字人发布会、虚拟数字人直播、AI交互数字人互动等场景,加速企业数字化进程。 建发股份数…

基于小华例程3.2版本USB之usb_dev_cdc工程深入代码详解USB过程

打开工程首先看readme文件:(官方的说明中,串口3和4不明确,根据代码和实测,确定CDC测试使用的是串口3,后文我会讲到为什么是串口3). 样例使用说明Date Author IAR MDK …

Visual Studio 2022报错c1083,win11解决办法

如果头文件报错,并且编译器报错是c1083,无法处理的时候,包括卸载重装也是无济于事的时候 此时可以采取一下办法进行修改 出现这个的主要原因是安装 Windows SDK 时版本出错,需要根据自己的 windows 版本选择安装对应版本的 Wind…

35---USB PHY---ULPI UTMI+ HSIC

视频链接 USB PHY硬件电路设计---ULPI & UTMI & HSIC 01_哔哩哔哩_bilibili USB PHY---ULPI & UTMI & HSIC 1、USB PHY基本介绍 芯片厂商开发了一些USB PHY芯片,可以把DP、DM上的差模信号转成共模信号。 USB PHY负责最底层的信号转换&#xff0…

智能资产管理:RFID技术与国产WMS系统的融合之路

随着信息技术的飞速发展,企业对于资产管理的需求也日益增长。传统的资产管理方法已无法满足现代企业的管理需求,因此,一种结合了RFID技术与国产WMS系统的智能资产管理方案应运而生。 RFID,即无线射频识别技术,通过无…

网络播放解码器 SIP-7102网络音频解码播放器

网络播放解码器 SIP-7102网络音频解码播放器 SIP-7102是一款支持SIP协议的网络音频解码播放器,具有10/100M以太网接口,其接收网络的音频数据,通过设备的DSP及放大电路,可以直接连接两路15W的扬声器。可以用于公共广播、报警系统、…

企业如何通过AARRR模型完成快速扩张?

在竞争激烈的市场环境中,企业要想实现持续的用户增长,就需要采用一套有效的策略和模型。AARRR模型→(【1日1词】AARRR用户增长模型--互联网运营经典模型)是一个帮助企业实现用户增长的有效方法。下面将详细阐述企业在营销运营过程…

macbook(m1) ubuntu下载,复制粘贴和国内镜像源配置

ubuntu下载使用 官网下载Ubuntu 22.04.4 LTS (Jammy Jellyfish) Daily Build 打开后根据电脑的架构选择安装包,想要下载其他版本也可在官网中自行搜索。 我安装时舍友说他安装的是22.04这个版本,我也就跟着他安装了 注意:下载的版本最好有…

汽车充电桩主板购买渠道汇总

随着充电桩设施的迅速普及,充电桩作为其中关键组件之一,市场需求不断增长。在互联网科技飞速发展的背景下,充电桩主板的采购渠道更加多元化,下面我们来探讨消费者、充电桩运营商和生产商可以从何处购买充电桩主板。 直接联系制造商…

通过python获取谷歌学术搜索结果

谷歌学术是重要的科研利器,搜索结果通常上千个,每次只能看几个,通过开源的接口,可以批量获取搜索结果,方便快速综合分析。 这里用到的库是scholary,可以指定获取多少个结果,每个结果是个dict&a…

蓝桥杯物联网竞赛_STM32L071_13_定时器

CubeMx配置LPTIM: counts internal clock events 计数内部时钟事件 prescaler 预分频器 updata end of period 更新期末 kil5配置: 中断回调函数完善一下: void HAL_LPTIM_AutoReloadMatchCallback(LPTIM_HandleTypeDef *hlptim){if(cnt ! 10) cnt…

C++初学者:如何优雅地写程序

我喜欢C语言的功能强大,简洁,我也喜欢C#的语法简单,清晰,写起来又方便好用。 一、为什么不用C语言写程序。 C语言用来做题目,考试研究是很方便的,但是用来写程序做软件,你就会发现&#xff0c…