性能监控之prometheus+grafana搭建

news2024/12/23 13:34:21

前言

Prometheus和Grafana是两个流行的开源工具,用于监控和可视化系统和应用程序的性能指标。它们通常一起使用,提供了强大的监控和数据可视化功能。

Prometheus

  • Prometheus是一种开源的系统监控和警报工具包。它最初由SoundCloud开发,并于2012年发布为开源项目。
  • Prometheus的核心是一个时间序列数据库,它用于存储来自应用程序或系统的指标数据,如CPU利用率、内存使用情况、HTTP请求等。
  • Prometheus通过HTTP协议定期拉取目标系统的指标数据。这些目标可以是应用程序、服务器、数据库等各种系统组件。
  • Prometheus提供了灵活的查询语言PromQL,用于对存储的指标数据进行查询和聚合。
  • 它还支持警报规则,可以根据定义的规则触发警报,并发送通知给相关人员。

Grafana

  • Grafana是一个开源的数据可视化和监控平台,最初由Torkel Ödegaard于2014年创建。
  • Grafana允许用户创建动态且高度可定制的仪表板,用于展示来自各种数据源的数据。
  • 它支持多种数据源,包括Prometheus、Graphite、Elasticsearch、InfluxDB等。
  • Grafana提供了丰富的可视化选项,包括折线图、柱状图、仪表板、热图等,用户可以根据需求自由组合和定制。
  • 通过Grafana,用户可以创建复杂的监控仪表板,将各种数据以直观的方式展示出来,帮助用户更好地理解系统的运行情况和性能指标。

综上所述,Prometheus和Grafana是一对强大的开源工具组合,用于监控系统和应用程序的性能,并通过可视化方式展示监控数据,帮助用户及时发现和解决问题。

概述

本次安装采用docker方式

资源        信息
linux虚拟机一台172.16.42.68
软件版本

prometheus

2.25.0

grafana

7.3.7

 安装部署

安装docker

yum install docker
启动docker
systemctl start docker

 安装prometheus

docker run -itd --name prometheus -p 9090:9090 prom/prometheus:v2.25.0

安装grafana

docker run -itd --name grafana -p 3000:3000 grafana/grafana:7.3.7

安装node_export

Node Exporter 是一个开源的 Prometheus Exporter,用于收集主机系统的各种指标数据。它可以在 Linux、Windows 和 macOS 等操作系统上运行,并暴露系统的 CPU 使用率、内存使用率、磁盘空间、网络流量等指标数据,以供 Prometheus 或其他监控系统进行收集和分析。

Node Exporter 通过在主机上运行一个小型的代理程序来收集系统指标数据,并通过 HTTP 端口暴露这些数据,使 Prometheus 或其他监控系统能够轻松地抓取和处理。它是 Prometheus 生态系统中的重要组件之一,帮助用户监控和管理他们的基础设施。

方式1 tar.gz
 
wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0-rc.0/node_exporter-1.4.0-rc.0.linux-amd64.tar.gz
tar -xvf node_exporter-1.4.0-rc.0.linux-amd64.tar.gz -C /usr/local
mv /usr/local/node_exporter-1.4.0-rc.0.linux-amd64/node_exporter /usr/local/bin/
 
# 编写systemd服务
cat > /etc/systemd/system/node_exporter.service <<EOF
[Unit]
Description=node_exporeter
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
 
# 更新内核并启动,自启动
systemctl daemon-reload && systemctl start node_exporter && systemctl enable node_exporter && systemctl status node_exporter
方式2 docker
docker run -d --name=node_exporter -p 9100:9100 prom/node-exporter

修改普罗米修斯配置文件

将node_export加入到普罗米修斯的配置文件中

docker exec -it prometheus sh
cd /etc/prometheus
vi prometheus.yml
  - job_name: 'linux'        
    scrape_interval: 5s
    static_configs:                   
    - targets: ['172.16.42.68:9100']

重启服务

docker restart prometheus

grafana数据统一可视化

普罗米修斯也可以可视化,但是他每一个指标都是单独的,而grafana是可以将普罗米修斯收集到的数据统一合并到一个美观的web图表上

下载json模版(后面会用到)(通用)

https://grafana.com/api/dashboards/12633/revisions/1/download 下载链接

登陆grafana后台

http://172.16.42.68:3000/login

默认admin/admin

修改密码即可

 添加datasource

 

 导入json模版文件

 

 

 

页面展示

监控其他的虚拟机

只需在每个虚拟机上安装node_exporter服务即可,同时完成对普罗米修斯配置的修改

其他

1、可以将prometheus配置文件映射出来,后续就不需要去容器中修改了

2、Prometheus配置文件说明

job_name: 同样,每个job都有一个名称,用于标记从该配置中抓取的时间序列。

scrape_interval: 所有的linux jobs都设置了相同的抓取间隔为5秒。

static_configs: 每个linux job都有一个静态配置,指定了不同的目标(target):
'42.68' job从'172.16.42.68:9100'获取数据。
'42.66' job从'172.16.42.66:9100'获取数据。
'42.70' job从'172.16.42.70:9100'获取数据。

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

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

相关文章

基于SSM+Jsp+Mysql的汽车租赁系统的设计与实现

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

Python爬虫(入门版)

1、爬虫是什么 简单的来说&#xff1a;就是用程序获取网络上数据。 2、爬虫的原理 如果要获取网络上数据&#xff0c;我们要给爬虫一个网址&#xff08;程序中通常叫URL&#xff09;&#xff0c;爬虫发送一个HTTP请求给目标网页的服务器&#xff0c;服务器返回数据给客户端&am…

Linux详解:进程等待

文章目录 进程等待等待的必要性进程等待的方法waitwaitpid获取子进程status阻塞等待 与 非阻塞等待 进程等待 等待的必要性 子进程退出&#xff0c;父进程不进行回收的话&#xff0c;就可能造成僵尸进程&#xff0c;进而造成内存泄露 如果进程进入了僵尸状态&#xff0c;kill…

宝塔面板安装教程(linux)

宝塔官网地址 宝塔官网linux安装地址 针对Ubuntu系统的安装命令&#xff1a; wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec 安装过程中&#xff0c;中途会出现一个 Y&N ? 的选项&#xf…

李沐62_序列到序列学习seq2seq——自学笔记

"英&#xff0d;法”数据集来训练这个机器翻译模型。 !pip install --upgrade d2l0.17.5 #d2l需要更新import collections import math import torch from torch import nn from d2l import torch as d2l循环神经网络编码器。 我们使用了嵌入层&#xff08;embedding l…

【笔记1】从零开始做一个男头的流程(超级详细)

目录 大体 眼窝 鼻子 脖子 耳朵 嘴巴1 颧骨 嘴巴2 眼睛 头 开始细化 大体 眼窝 嘴巴 鼻子 大体 注意&#xff01;&#xff01;先整体后局部&#xff0c;一开始不要加太多的线&#xff0c;尽量先用最少的线调整出一个大体的结构。 1.准备好参考图&#xff0c;在…

2024年的Java版本选择?java 17 安装

文章目录 2024年的Java版本选择&#xff1f;java 1.8 和 java17 什么区别&#xff1f;java 17 安装windows 11安装java 17C:\Program Files\Common Files\Oracle\Java\javapath是什么 2024年的Java版本选择&#xff1f; 3年前&#xff0c;java 1.8是市场主流&#xff08;还有一…

Acrobat Pro DC 2023:专业PDF编辑软件,引领高效办公新时代

Acrobat Pro DC 2023是一款专为Mac和Windows用户设计的专业PDF编辑软件&#xff0c;凭借其强大的功能和卓越的性能&#xff0c;成为现代职场人士不可或缺的得力助手。 这款软件拥有出色的PDF编辑能力。用户不仅可以轻松地对PDF文档中的文字、图片和布局进行编辑和调整&#xf…

PyAudio安装!!解决使用pip install PyAudio安装报错问题

如果使用pip install PyAudio安装报错 一般建议选择本地安装 但是本人也是从网上找了很多资料&#xff0c;发现本地的wheel的网址打开没有文件了 然后我就用了这个方法&#xff0c;对于我的电脑是非常有效果的&#xff01;&#xff01; 如果指令装不上的话 PyAudio PyPI …

linux中git的使用

为什么要有git git相当于一个仓库可以让我们更好的去管理我们的代码&#xff0c;实现版本的控制&#xff0c;上传到云端仓库。有了git,就可以实现多人同时开发一个项目&#xff08;每个负责一部分代码&#xff0c;最后都上传到同一个仓库&#xff09;。 git github/gitee 的区…

Burp 指纹识别+OA弱口令爆破-BurpFingerPrint

简介 攻击过程中&#xff0c;我们通常会用浏览器访问一些资产&#xff0c;该BurpSuite插件实现被动指纹识别网站提取链接OA爆破&#xff0c;可帮助我们发现更多资产。 功能如下 下述功能会在2024年5月底完成&#xff0c;如果有更好的建议都可以提&#xff0c;然后再麻烦点个…

linux磁盘原理

在linux系统中&#xff0c;对磁盘进行管理与windows系统类似&#xff0c;都要先分区&#xff0c;格式化&#xff0c;创建文件系统&#xff0c;挂载目录&#xff0c;数据写入

【Unity动画系统】Animator组件的属性

介绍Animator组件的全部属性 Controller&#xff1a;动画控制器 Avatar&#xff1a;人物骨骼 Apply Root Motion&#xff1a;有一些动画片段自带位移&#xff0c;如果希望自带的位移应用在游戏对象上&#xff0c;那么就勾选&#xff1b;如果自己编写脚本&#xff0c;那么就不…

Milvus Cloud 向量数据库Reranker成本比较和使用场景

成本比较:向量检索 v.s. Cross-encoder Reranker v.s. 大模型生成 虽然 Reranker 的使用成本远高于单纯使用向量检索的成本,但它仍然比使用 LLM 为同等数量文档生成答案的成本要低。在 RAG 架构中,Reranker 可以筛选向量搜索的初步结果,丢弃掉与查询相关性低的文档,从而有…

使用webpack给大屏自适应插件autofit.js增加umd打包方式

最近有个大屏自适应的需求&#xff0c;而且想直接通过script标签来引入自适应的插件js&#xff0c;搜索相中了autofit.js&#xff0c;可惜不支持umd格式的引入&#xff0c;虽然也能直接copy源码&#xff0c;但是还是折腾下给它打包成umd格式的代码。 fork源码&#xff0c;克隆…

第10章 项目管理基础知识

一、项目概述 &#xff08;一&#xff09;项目 在既定的项目资源要求和约束下&#xff0c;为实现特定目标而相互联系的一次性活动&#xff08;资源任务&#xff09;。世界上没有两个完全相同的项目项目有资源约束&#xff0c;一定的目的&#xff0c;是一次性。 &#xff08;…

面试官:Docker和传统虚拟机有什么区别?

我有一个程序员朋友&#xff0c;他每年情人节都要送女朋友一台服务器。 他说&#xff1a;“谁不想在过节当天收到一台 4核8g 的服务器呢&#xff1f;” “万一对方不要&#xff0c;我还能留着自己用。” 给他一次过节的机会&#xff0c;他能把浪漫玩的明明白白。 所以今年情人…

APP上架APP Store因为苹果登录被拒,该如何解决

之前有一段时间 &#xff0c;我们的APP因为苹果登录被拒了几次。分享出来&#xff0c;希望对大家有所帮助。 主要有两种被拒理由&#xff1a; 没有登录/苹果登录。登录按钮设计不符合标准。 这其实是很小的一件事情。但是就是这么小的事情&#xff0c;我们在这上面栽了几次跟…

【算法学习】day2

文章目录 BFS1.图像渲染2.岛屿数量 BFS 1.图像渲染 思路&#xff1a;BFS宽度遍历&#xff0c;我们需要对初始像素进行一层一层遍历&#xff0c;也就是上下左右四个方向进行遍历判断&#xff0c;如何访问这四个方向呢&#xff0c;就需要利用两个数组dx和dy来进行判断和遍历&…

uniapp关于iconfont字体图标使用

1、打开[阿里巴巴矢量图标库](https://www.iconfont.cn/)&#xff0c;选择需要的图标添加到购物车 2、点开购物车&#xff0c;将图标添加到项目 3、点开项目&#xff0c;点击下载至本地&#xff0c;会得到一个download.zip包 4、解压download包 5、将包里的iconfont.css和iconf…