在ubuntu上搭建系统监控系统

news2024/11/29 21:25:05

大纲

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

在一个监控系统中,一定会有“数据生产方”和“数据消费方”存在。“数据生产方”用于产出需要监控的相关指标数据;“数据消费方”使用这些数据产生额外的信息和功能,比如数据图表化表达、异常数据预警等。
请添加图片描述
当“数据生产方”变多时,系统往往会演化出“数据收集方”用于统一收集数据。这个时候“数据消费方”可以通过“数据收集方”获得全部数据。
请添加图片描述
当“数据消费方”变多时,不同的“数据消费方”会有不同诉求。比如有的只要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.coloradmin.cn/o/1556017.html

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

相关文章

wiztree免费的c盘清理软件

现如今,我们无论是工作还是学习,都已经离不开电脑了,经常使用电脑就会导致电脑的“垃圾”越来越多,从而导致磁盘爆红。 相信大家多多少少都体会过这大红的压迫感吧,想清理但是不敢删,不清理吧软件用不了&a…

pnpm、monorepo分包管理、多包管理、npm、vite、前端工程化、保姆级教程

浅尝pnpm monorepo 多包管理方案 💡tips: 创建pnpm monorope多包管理框架流程 初始化 mkdir taurus & cd taurus pnpm init创建基础文件 创建文件pnpm-workspace.yaml packages:- packages/**创建文件夹packages/ -packages/ -package.json -pnpm-workspace…

关于Anaconda通过environment.yml配置环境的常见问题解决办法

配环境总是一个老生常谈的问题,有些项目写得好的,会把一些冗余的包删除,只留下必要的包,并且手把手教你pip安装,但是有些项目就直接丢一个200~300行的environment.yaml文件或者requirement.txt文件让你自己去配&#x…

Modbus转Profinet网关快速解决PLC插槽数量不够用的烦恼

通过Modbus转Profinet(XD-MDPN100)网关的应用,不仅可以实现Modbus设备与Profinet网络的平滑对接,还能有效解决PLC插槽限制和Modbus指令轮询等问题,Modbus转Profinet网关(XD-MDPN100)在解决PLC插…

element-ui-plus el-tree 树形结构如何自定义内容

element-ui-plus el-tree 树形结构如何自定义内容 本文提及的 elementUI 版本 为 elementUI Plus 版本 一、需求 项目中遇到一个需要设置权限的地方,但目录和权限是放在一起的,这样就很不好区分类别,为了区分类别,就需要自定义树…

1.1 单片机的概念

一,单片机的概念 单片机(Single-Chip Microcomputer),也被称为单片微控制器,是一种集成电路芯片。它采用超大规模集成电路技术,将具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、…

LabVIEW车载轴承振动监测系统

LabVIEW车载轴承振动监测系统 随着汽车工业的快速发展,车用轴承的稳定性和可靠性对保障车辆安全运行越来越重要。目前,大多数车用轴承工作在恶劣的环境下,容易出现各种故障。开发了一种基于LabVIEW的车载轴承振动监测系统,提高车…

在线随机密码生成器源码

纯HTML,该去的已去掉,该简化的简化,最高支持32位混合随机密码生成。 源码下载:在线随机密码生成器源码

SpringBoot登录校验(三)

​​​​​​​SpringBoot 登录认证(一)-CSDN博客 SpringBoot 登录认证(二)-CSDN博客 SpringBoot登录校验(三)-CSDN博客 前面我们介绍了传统的会话跟踪技术cookie和sesstion,本节讲解令牌技术…

游戏行业行业竞争越来越激烈,遇到DDoS攻击遭受严重损失该如何解决

近年来,我们见证了数字化的快速发展,随着这样的发展,网络的威胁也逐渐增多,在网络攻击门槛不断降低,行业竞争越来越激烈,游戏行业的DDoS攻击如雨点般密集,在整个DDoS攻击的份额中,游…

2024年妈妈杯数学建模思路A题B题C题D题思路分享

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

搜索与图论——Floyd算法求最短路

floyd算法用来求多源汇最短路 用邻接矩阵来存所有的边 时间复杂度O(n^3) #include<iostream> #include<cstring> #include<algorithm>using namespace std;const int N 20010,INF 1e9;int n,m,k; int g[N][N];void floyd(){for(int k 1;k < n;k ){f…

图片怎么调整尺寸?图片宽度和高度怎么设置

平时在使用图片的时候&#xff0c;最常处理的就是图片尺寸问题&#xff0c;为了能让图片适用于更多的场景&#xff0c;那么怎么修改图片尺寸呢&#xff1f;试试本文介绍的几个关于图片改大小的方法吧&#xff0c;有需要图片大小转换的继续往下看。 压缩图网站&#xff0c;点击“…

基于 StarRocks 的风控实时特征探索和实践

背景 金融风控特征是在金融领域中用于评估和管理风险的关键指标。它们帮助金融机构识别潜在风险&#xff0c;降低损失&#xff0c;并采取措施规避风险。例如&#xff0c;用户最后一次授信提交时间就是一个重要的金融风控特征。 金融风控实时特征场景是一个典型的大数据实时业务…

Python3:ModuleNotFoundError: No module named ‘elftools‘

问题背景 问题 ModuleNotFoundError: No module named ‘elftools’ 解决方法 pip3 install pyelftools 成功&#xff01;&#xff01;&#xff01;

算法之美:二叉堆原理剖析及堆应用案例讲解及实现

什么是堆 堆(Heap)是计算机科学中一类特殊的数据结构&#xff0c;通常是一个可以被看做一棵完全二叉树的数组对象。 完全二叉树 只有最下面两层节点的度可以小于2&#xff0c;并且最下层的叶节点集中在靠左连续的边界&#xff0c;只允许最后一层有空缺结点且空缺在右边&#x…

Android熄屏/亮屏,旋转屏幕/横竖屏切换生命周期变化与activity销毁重建

Android熄屏/亮屏&#xff0c;旋转屏幕/横竖屏切换生命周期变化与activity销毁重建 1、熄屏/亮屏 熄屏后&#xff0c;Android生命周期走&#xff1a; onPause onStop 接着点亮Android手机屏幕&#xff0c;生命周期走&#xff1a; onRestart onStart onResume 2、旋转屏幕&…

华为云亮相KubeCon EU 2024,以持续开源创新开启智能时代

3月21日&#xff0c;在巴黎举办的云原生顶级峰会KubeCon EU 2024上 &#xff0c;华为云首席架构师顾炯炯在“Cloud Native x AI&#xff1a;以持续开源创新开启智能时代”的主题演讲中指出&#xff0c;云原生和AI技术的融合&#xff0c;是推动产业深刻变革的关键所在。华为云将…

OpenHarmony:全流程讲解如何编写ADC平台驱动以及应用程序

ADC&#xff08;Analog to Digital Converter&#xff09;&#xff0c;即模拟-数字转换器&#xff0c;可将模拟信号转换成对应的数字信号&#xff0c;便于存储与计算等操作。除电源线和地线之外&#xff0c;ADC只需要1根线与被测量的设备进行连接。 一、案例简介 该程序是基于…

HarmonyOS实战开发-UIAbility和自定义组件生命周期

介绍 本文档主要描述了应用运行过程中UIAbility和自定义组件的生命周期。对于UIAbility&#xff0c;描述了Create、Foreground、Background、Destroy四种生命周期。对于页面和自定义组件描述了aboutToAppear、onPageShow、onPageHide、onBackPress、aboutToDisappear五种生命周…