(三十九)大数据实战——Prometheus监控平台的部署搭建

前言

Prometheus监控(Prometheus Monitoring)是一种开源的系统监控和警报工具。它最初由SoundCloud开发并于2012年发布,并在2016年加入了云原生计算基金会(CNCF)。Prometheus监控旨在收集、存储和查询各种指标数据,以帮助用户监视其应用程序和系统的性能和运行状态。

Prometheus是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计算、统一分析和告警的新模型。 相比于传统监控系统,Prometheus使用一种称为PromQL的查询语言,可以对收集到的指标数据进行灵活的查询和分析。它支持多种数据展示和可视化方式,如图表、仪表盘和警报规则等,以帮助用户更好地理解和分析监控数据。Prometheus还具有可扩展性和弹性,可以适应不同规模和复杂度的环境。它可以与其他工具和系统集成,如Grafana、Alertmanager和Kubernetes等,以构建完整的监控和告警解决方案。

正文

①下载Prometheus组件安装包,将下载好的Prometheus安装包上传的centos服务上

地址:Download | Prometheus

 

②解压prometheus-2.29.1.linux-amd64.tar.gz安装包到/opt/module目录下

命令:

tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz -C /opt/module/

③ 修改Prometheus的配置文件prometheus.yml文件,添加pushgateway和node_exporter的监控任务

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
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: ["hadoop101:9090"]
  
  # 添加PushGateway监控配置
  - job_name: 'pushgateway' 
    static_configs:
      - targets: ['hadoop101:9091']
        labels:
           instance: pushgateway

  # 添加Node Exporter监控配置
  - job_name: 'node exporter'
    static_configs:
      - targets: ['hadoop101:9100', 'hadoop102:9100', 'hadoop103:9100']

④ 安装PushGateway监控组件,将pushgateway-1.4.1.linux-amd64.tar.gz解压到/opt/module目录下

命令:

tar -zxvf pushgateway-1.4.1.linux-amd64.tar.gz -C /opt/module/

⑤安装AlertManager报警组件,将alertmanager-0.23.0.linux-amd64.tar.gz解压到/opt/module目录下

命令:

tar -zxvf alertmanager-0.23.0.linux-amd64.tar.gz -C /opt/module/

⑥安装NodeExporter监控组件,将node_exporter-1.2.2.linux-amd64.tar.gz解压到/opt/module目录下

命令:

tar -zxvf node_exporter-1.2.2.linux-amd64.tar.gz -C /opt/module

⑦ 分发NodeExporter监控组件安装包到其它服务器

⑧在NodeExporter安装目录下,启动NodeExporter监控组件

⑨访问NodeExporter监控地址,证明服务器监控指标已经能够获取到

 

 ⑩将NodeExporter安装成一个服务,便于启动

- 在/usr/lib/systemd/system目录下创建一个node_exporter.service服务文件

[Unit]
Description=node_export 
Documentation=https://github.com/prometheus/node_exporter 
After=network.target

[Service] 
Type=simple 
User=hadoop
ExecStart=/opt/module/node_exporter-1.2.2.linux-amd64/node_exporter 
Restart=on-failure

[Install]
WantedBy=multi-user.target

- 分发node_exporter.service服务文件到其它服务器

- 通过服务方式启动NodeExporter,也可以设置为开机自启动

#设置为开机自启动
sudo systemctl enable node_exporter.service
#禁用开机自启动
sudo systemctl disable node_exporter.service
# 启动
sudo systemctl start node_exporter.service
# 查看状态
sudo systemctl status node_exporter.service
# 停止
sudo systemctl stop node_exporter.service

⑪进入Prometheus安装目录,启动Prometheus主服务

- 启动命令:

nohup ./prometheus --config.file=prometheus.yml > ./prometheus.log 2>&1 &

- 访问Prometheus主服务

⑫进入PushGateway目录,启动PushGateway组件

- 启动命令:

nohup ./pushgateway --web.listen-address :9091 > ./pushgateway.log 2>&1 &

- 查看监控状态

⑬进入AlertManager目录,启动AlertManager组件

- 启动命令

nohup ./alertmanager --config.file=alertmanager.yml > ./alertmanager.log 2>&1 &

⑭安装grafana可视化工具

- 解压grafana-enterprise-8.1.2.linux-amd64.tar.gz安装包到/opt/module目录下

tar -zxvf grafana-enterprise-8.1.2.linux-amd64.tar.gz -C /opt/module

- 进入grafana安装目录,后台启动grafana服务

nohup ./bin/grafana-server web > ./grafana.log 2>&1 &

- 访问grafana的web服务,可使用默认账户admin和默认密码admin登录

⑮登录granafa后,在grafana中添加Prometheus数据源

⑯在grafana中添加NodeExporter监控面板

- 在grafana中选择import

- 在grafana dashboard的组件库中下载一个node exporter的模板监控,Dashboards | Grafana Labs

- 根据id:11074导入Node Exporter监控模板

- 添加Prometheus数据源,点击导入

- 进入可视化监控页面,实现服务器的指标监控

⑰使用root用户在/usr/bin目录下创建一个组件的启停脚本my_prometheus.sh,包括Prometheus、PushGateway、grafana

#!/bin/bash
case $1 in
"start"){
	echo '---- 启动 prometheus ----'
	nohup /opt/module/prometheus-2.29.1.linux-amd64/prometheus --web.enable-admin-api --config.file=/opt/module/prometheus-2.29.1.linux-amd64/prometheus.yml > /opt/module/prometheus-2.29.1.linux-amd64/prometheus.log 2>&1 &
    echo '---- 启动 pushgateway ----'
    nohup /opt/module/pushgateway-1.4.1.linux-amd64/pushgateway --web.listen-address :9091 > /opt/module/pushgateway-1.4.1.linux-amd64/pushgateway.log 2>&1 &
    echo '---- 启动 grafana ----'
    nohup /opt/module/grafana-8.1.2/bin/grafana-server --homepath /opt/module/grafana-8.1.2 web > /opt/module/grafana-8.1.2/grafana.log 2>&1 &
};;
"stop"){
	echo '---- 停止 grafana ----'
	pgrep -f grafana | xargs kill
	echo '---- 停止 pushgateway ----'
	pgrep -f pushgateway | xargs kill
	echo '---- 停止 prometheus ----'
	pgrep -f prometheus | xargs kill
};;
esac

⑱启停Prometheus监控组件

- 启动Prometheus监控组件

- 停止Prometheus监控组件

结语

关于Prometheus监控平台部署搭建的内容到这里就结束了,我们下期见。。。。。。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android---DslTabLayout实现底部导航栏

1. 在 Android 项目中引用 JitPack 库 AGP 8. 根目录的 settings.gradle dependencyResolutionManagement {...repositories {...maven { url https://jitpack.io }} } AGP 8. 根目录如果是 settings.gradle.kts 文件 dependencyResolutionManagement {...repositories {...…

A. Desorting

链接 : Problem - A - Codeforces 题意 : 思路 : 先判断序列是否排好序 &#xff0c; 不是排好序的&#xff0c;直接输出0即可&#xff0c;排好序的 : 先求出相邻元素之间的最小间隔&#xff0c;因为&#xff0c;要使有序非递减序列&#xff0c;变得不排序&#xff0c;…

OLMo 以促进语言模型科学之名 —— OLMo Accelerating the Science of Language Models —— 全文翻译

OLMo: Accelerating the Science of Language Models OLMo 以促进语言模型科学之名 摘要 语言模型在自然语言处理的研究中和商业产品中已经变得无所不在。因为其商业上的重要性激增&#xff0c;所以&#xff0c;其中最强大的模型已经闭源&#xff0c;控制在专有接口之中&#…

Leetcode-1572. 矩阵对角线元素的和

题目&#xff1a; 给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1&#xff1a; 输入&#xff1a;mat [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;25 解释&#xff1a;对角线…

Apache httpd 换行解析漏洞复现(CVE-2017-15715)

Web页面&#xff1a; 新建一个一句话木马&#xff1a; 0.php <?php system($_GET[0]); ?> 上传木马&#xff0c; burpsuite 抓包。 直接上传是回显 bad file。 我们查看数据包的二进制内容&#xff08;hex&#xff09;&#xff0c;内容是以16进制显示的&#xff0c;…

挑战杯 wifi指纹室内定位系统

简介 今天来介绍一下室内定位相关的原理以及实现方法; WIFI全称WirelessFidelity&#xff0c;在中文里又称作“行动热点”&#xff0c;是Wi-Fi联盟制造商的商标做为产品的品牌认证&#xff0c;是一个创建于IEEE 802.11标准的无线局域网技术。基于两套系统的密切相关&#xff…

html的列表标签

列表标签 列表在html里面经常会用到的&#xff0c;主要使用来布局的&#xff0c;使其整齐好看. 无序列表 无序列表[重要]&#xff1a; ul &#xff0c;li 示例代码1&#xff1a; 对应的效果&#xff1a; 无序列表的属性 属性值描述typedisc&#xff0c;square&#xff0c;…

U盘重装系统

因为系统管理员密码忘记&#xff0c;登录不了window系统&#xff0c;使用老毛桃制作U盘启动盘 1、下载老毛桃 下载地址为http://lmt.psydrj.com/index.html 安装后&#xff0c;桌面上显示为 2、制作U盘启动盘 启动老毛桃U盘启动装机工具&#xff0c;插入U盘&#xff0c;点击一…

[Java][算法 滑动窗口]Day 03---LeetCode 热题 100---08~09

第一题 无重复字符串的最长子串 思路 其实就是在字符串S中 找到没有重复的最长子串的长度 这道题的难点就是在于如何判断最长并且无重复 首先 最长长度 可以使用变量max记录保存 再者 判断有无重复 最简单的方法就是 暴力遍历法 即对于每次找的子串都再次寻找遍历…

【十九】【C++】 priority_queue简单使用和仿函数

priority_queue文档介绍翻译 优先队列是一种容器适配器&#xff0c;专门设计成其中的第一个元素始终是根据某种严格的弱排序准则最大的元素。 这种上下文类似于堆&#xff0c;其中元素可以在任何时刻插入&#xff0c;而只能检索最大堆元素&#xff08;在优先队列中顶部的元素&a…

为自监督学习重构去噪扩散模型

在这项研究中&#xff0c;作者检验了最初用于图像生成的去噪扩散模型&#xff08;DDM&#xff09;的表示学习能力。其理念是解构DDM&#xff0c;逐渐将其转化为经典的去噪自动编码器&#xff08;DAE&#xff09;。这一解构过程让大家能够探索现代DDM的各个组成部分如何影响自监…

【Docker】Docker Container操作案例 | 综合实战

文章目录 Docker Container操作案例容器的基本操作容器状态迁移容器批量处理技巧容器交互模式attached模式detached模式interactive模式 容器与宿主机内容复制容器自动删除容器自动重启容器环境变量设置容器详情查看容器执行单行命令容器镜像导入导出容器日志查看容器资源查看 …

C++:多态

C&#xff1a;多态 虚函数虚函数语法虚函数重写协变接口继承 多态构成成员函数状态对比抽象类多态原理多继承与多态虚继承与多态 先看到多态的定义&#xff1a; C的多态是指在面向对象程序设计中&#xff0c;允许使用基类的指针或引用来调用派生类的虚函数的特性。这样的调用将…

数据结构-并查集

并查集原理 在一些应用问题中&#xff0c;需要将n个不同的元素划分成一些不相交的集合。开始时&#xff0c;每个元素自成一个 单元素集合&#xff0c;然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询一 个元素归属于那个集合的运算。适合于描述这类…

阿里云幻兽帕鲁服务器配置4核16G10M带宽够8个人玩吗?玩起来流畅度怎么样?

阿里云幻兽帕鲁服务器配置4核16G10M带宽这个&#xff0c;个人实测下来&#xff0c;五六个人玩是比较流畅的&#xff0c;不过8个人的话&#xff0c;估计会有点卡。如果是8个人的话&#xff0c;我建议选择8核32G那个配置&#xff0c;更加适合一些。 阿里云一键部署幻兽帕鲁详细教…

【lesson57】信号量和生产者消费者模型(环形队列版)

文章目录 信号量概念信号量接口初始化销毁等待发布 基于环形队列的生产者消费者模型编码Common.hLockGuard.hppTask.hppsem.hppRingQueue.hppConProd.cc 信号量概念 POSIX信号量和SystemV信号量作用相同&#xff0c;都是用于同步操作&#xff0c;达到无冲突的访问共享资源目的…

漫漫数学之旅022

文章目录 经典格言数学习题古今评注名人小传- 刘易斯卡罗尔 经典格言 艾丽斯笑着说&#xff1a;“去尝试也毫无用处&#xff0c;一个人无法相信不可能的事情。”——刘易斯卡罗尔&#xff08;Lewis Carroll&#xff09;《艾丽斯梦游仙境&#xff08;Alice in Wonderland&#…

零基础怎么学编程,免费版中文编程工具下载及构件用法教程

零基础怎么学编程&#xff0c;免费版中文编程工具下载及构件用法教程 一、前言 今天给大家分享的中文编程开发语言工具资料如下&#xff1a; 编程入门视频教程链接 http://​ https://edu.csdn.net/course/detail/39036 ​ 编程工具及实例源码文件下载可以点击最下方官网…

基于Python实现Midjourney集成到(个人/公司)平台中

目前Midjourney没有对外开放Api&#xff0c;想体验他们的服务只能在discord中进入他们的频道进行体验或者把他们的机器人拉入自己创建的服务器中&#xff1b;而且现在免费的也用不了了&#xff0c;想使用就得订阅。本教程使用midjourney-api这个开源项目&#xff0c;搭建Midjou…

Linux第55步_根文件系统第2步_测试使用busybox生成的根文件系统

测试使用busybox生成的根文件系统。测试内容较多&#xff0c;很杂。 1、修改“nfs-kernel-server” 1)、打开终端 输入“sudo vi /etc/default/nfs-kernel-server回车”&#xff0c;打开“nfs-kernel-server”文件。 输入密码“123456回车” 见下图&#xff1a; 2)、在最后…