当前位置: 首页 > news >正文

Prometheus 安装部署

文章目录

      • 1.部署Prometheus
        • 1.1.修改配置文件
        • 1.2.配置告警规则
        • 1.3.运行Docker
      • 2.部署Alertmanager
        • 2.1.修改配置文件
        • 2.2.Prometheus监控配置
        • 2.3.运行Docker
      • 3.部署Grafana
        • 3.1.运行Docker
        • 3.2. 配置数据源
        • 3.3. 配置dashboard

  • 开源中间件
# Prometheushttps://iothub.org.cn/docs/middleware/
https://iothub.org.cn/docs/middleware/prometheus/prome-deploy/

1.部署Prometheus

1.1.修改配置文件
  • 准备工作
# 创建目录
mkdir -p /prometheus/prometheus
mkdir -p /prometheus/prometheus/data
mkdir -p /prometheus/prometheus/rules
chmod 777 -R /prometheus/prometheus/dat# 创建配置文件
/prometheus/prometheus/prometheus.yml
touch prometheus.yml
  • 修改配置文件
# 修改配置文件
/prometheus/prometheus/prometheus.yml# prometheus.yml:
global:scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.alerting:alertmanagers:- static_configs:- targets:- 172.17.88.22:9093rule_files:- "rules/*.yml"scrape_configs:- job_name: prometheusstatic_configs:- targets: ['localhost:9090']labels:instance: prometheus- job_name: alertmanagerscrape_interval: 5sstatic_configs:- targets: ['172.17.88.22:9093']labels:instance: alert- job_name: centos-1static_configs:- targets: ['172.17.88.22:9100']labels:instance: node-1- job_name: centos-2static_configs:- targets: ['172.17.88.19:9100']labels:instance: node-2- job_name: centos-3static_configs:- targets: ['172.17.88.18:9100']labels:instance: node-3- job_name: docker-1static_configs:- targets: ['172.17.88.22:9601']labels:instance: node-1- job_name: docker-2static_configs:- targets: ['172.17.88.19:9601']labels:instance: node-2   - job_name: docker-3static_configs:- targets: ['172.17.88.18:9601']labels:instance: node-3     - job_name: redis-1static_configs:- targets: ['172.17.88.22:9121']labels:instance: redis-01    - job_name: redis-2static_configs:- targets: ['172.17.88.19:9121']labels:instance: redis-02    - job_name: redis-3static_configs:- targets: ['172.17.88.18:9121']labels:instance: redis-03- job_name: rabbitmq-elkstatic_configs:- targets: ['172.17.88.22:9419']labels:instance: mq-elk- job_name: rabbitmq-nodestatic_configs:- targets: ['172.17.88.19:9419']labels:instance: mq-node- job_name: postgres-1static_configs:- targets: ['172.17.88.22:9187']labels:instance: pg-1- job_name: postgres-2static_configs:- targets: ['172.17.88.19:9187']labels:instance: pg-2    - job_name: es-clusterstatic_configs:- targets: ['172.17.88.22:9114', '172.17.88.19:9114', '172.17.88.18:9114']labels:instance: es- job_name: mysqlstatic_configs:- targets: ['172.17.88.22:9104']labels:instance: mysqld- job_name: nginx-1static_configs:- targets: ['172.17.88.22:9913']labels:instance: nx-1- job_name: nginx-3static_configs:- targets: ['172.17.88.18:9913']labels:instance: nx-3- job_name: spring-boot-actuatormetrics_path: '/actuator/prometheus'scrape_interval: 5sstatic_configs:- targets: ['172.17.88.22:8888']labels:instance: spring-actuator- job_name: haproxyscrape_interval: 5sstatic_configs:- targets: ['172.17.88.18:9101']labels:instance: ha1- job_name: HikariCPscrape_interval: 5smetrics_path: '/actuator/prometheus'static_configs:- targets: ['172.17.88.22:28081']labels:instance: dbPool
1.2.配置告警规则
  • 准备工作
# 创建目录
mkdir -p /prometheus/prometheus/rules# 创建配置文件
/prometheus/prometheus/rules/memory_over.yml
/prometheus/prometheus/rules/node_down.ymltouch memory_over.yml
touch node_down.yml
  • 修改配置文件
# 修改memory_over.yml
/prometheus/prometheus/rules/memory_over.ymlgroups:
- name: examplerules:- alert: NodeMemoryUsageexpr: (1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes))) * 100 > 80for: 1mlabels:severity: warningannotations:summary: "{{$labels.instance}}: High Memory usage detected"description: "{{$labels.instance}}: Memory usage is above 80% (current value is:{{ $value }})"# 修改node_down.yml
/prometheus/prometheus/rules/node_down.ymlgroups:
- name: node-uprules:- alert: node-upexpr: up{job="centos-3"} == 0for: 15slabels:severity: 1team: nodeannotations:summary: "{{ $labels.instance }} 已停止运行!"description: "{{ $labels.instance }} 检测到异常停止!请重点关注!!!"
1.3.运行Docker
# 运行docker docker run -d --network host --name prometheus --restart=always \
-v /prometheus/prometheus:/etc/prometheus \
-v /prometheus/prometheus/data:/prometheus \
-e TZ=Asia/Shanghai \
prom/prometheus
# 访问地址http://47.95.238.119:9090

2.部署Alertmanager

2.1.修改配置文件
  • 准备工作
# 创建目录
mkdir -p /prometheus/alertmanager/template
mkdir -p /prometheus/alertmanager/data
chmod 777 -R /prometheus/alertmanager/data# 创建配置文件
/prometheus/alertmanager/alertmanager.yml
touch alertmanager.yml
  • 修改配置文件
# 修改配置文件
/prometheus/prometheus/alertmanager.yml# alertmanager.yml:
# 一条报警记录同时发给应用、邮箱、钉钉global:  # 全局配置项resolve_timeout: 5m #超时,默认5minsmtp_smarthost: 'smtp.163.com:465'smtp_from: 'hollysys_test@163.com'smtp_auth_username: 'hollysys_test@163.com'smtp_auth_password: 'NBJAGQUIDIJNAQDF'  # 授权码:NBJAGQUIDIJNAQDFsmtp_require_tls: falsetemplates:  # 定义模板信息- 'template/*.tmpl'   # 路径route:  # 路由group_by: ['alertname'] # 报警分组依据group_wait: 10s #组等待时间group_interval: 10s # 发送前等待时间repeat_interval: 1h #重复周期receiver: default # 默认警报接收者receivers:  # 警报接收者
- name: default #警报名称email_configs:- to: '{{ template "email.to" . }}'  #接收警报的emailhtml: '{{ template "email.to.html" . }}' # 模板headers: { Subject: "[WARN] 报警邮件test" }send_resolved: truewebhook_configs:- url: http://172.17.88.22:8888/monitor- url: http://172.17.88.22:8060/dingtalk/webhook1/sendsend_resolved: trueinhibit_rules:  # 告警抑制- source_match:severity: 'critical'target_match:severity: 'warning'equal: ['alertname', 'dev', 'instance']

在这里插入图片描述

2.2.Prometheus监控配置
# prometheus配置- job_name: alertmanagerscrape_interval: 5sstatic_configs:- targets: ['172.17.88.18:9093']labels:instance: alert
# 访问地址http://47.95.238.119:9093/metrics
curl '172.17.88.22:9093/metrics'
2.3.运行Docker
# 运行dockerdocker run -d --network host --name alertmanager --restart=always \
-v /prometheus/alertmanager:/etc/alertmanager \
-v /prometheus/alertmanager/data:/alertmanager \
prom/alertmanager
### 访问地址http://123.56.18.37:9093

3.部署Grafana

3.1.运行Docker
# 创建目录
mkdir -p /prometheus/grafana/data
chmod 777 -R /prometheus/grafana/data# 运行docker 
docker run -d --network host --name=grafana --restart=always \
-v /prometheus/grafana/data:/var/lib/grafana \
grafana/grafana
# 访问地址
http://47.95.238.119:3000# 默认账号密码
用户名:admin
密码:  admin
3.2. 配置数据源

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

3.3. 配置dashboard
  • 官网模板
# 访问官网地址https://grafana.com/
https://grafana.com/grafana/dashboards

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

# 根据模板ID查找模板
ID: 8919
https://grafana.com/grafana/dashboards/8919
  • 导入官网模板
# 访问Grafana地址http://123.56.18.37:3000/login

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

  • 开源中间件
# Prometheushttps://iothub.org.cn/docs/middleware/
https://iothub.org.cn/docs/middleware/prometheus/prome-deploy/

相关文章:

Prometheus 安装部署

文章目录 1.部署Prometheus1.1.修改配置文件1.2.配置告警规则1.3.运行Docker 2.部署Alertmanager2.1.修改配置文件2.2.Prometheus监控配置2.3.运行Docker 3.部署Grafana3.1.运行Docker3.2. 配置数据源3.3. 配置dashboard 开源中间件 # Prometheushttps://iothub.org.cn/docs/m…...

龙芯杯赛道-学习过程记录

Preface&免责声明: 由于参赛资料企业并未开源,所以我不能开放出有关参赛的资料 但是我会在这里记录参赛时看不懂的一系列知识补充 ------------------------------------------------------------------------------------------------------- TSEN…...

76. 最小覆盖子串-力扣hot100(C++)

76. 最小覆盖子串s 初始化和特判 //本题做题思想 //从头开始,首先找到一个包含所有字母的字串,将i移动到包含字串字母的位置,然后更新长度和字符串ans后, //i的位置加1,j的位置也加1,从新开始上面的流程&…...

vue的生命周期有那些

1.v-text 相当于js的innerText <div v-text"姓名&#xff1a;name"></div>const name ref(张三); //声明 2.v-html 相当于js的innerHTML <div v-html"html"></div>const html ref(<s>这是一段文字</s>) 3.v-bin…...

OpenStack安装步骤

一、准备OpenStack安装环境 1、创建实验用的虚拟机实例。 内存建议16GB&#xff08;8GB也能运行&#xff09;CPU&#xff08;处理器&#xff09;双核且支持虚拟化硬盘容量不低于200GB&#xff08;&#xff01;&#xff09;网络用net桥接模式 运行虚拟机 2、禁用防火墙与SELin…...

如何借助CRM系统获得直观的业务洞察?CRM系统图表视图解析!

Zoho CRM管理系统在优化客户体验方面持续发力&#xff0c;新年新UI&#xff0c;一波新功能正在赶来的路上。今天要介绍的新UI功能在正式推出之前&#xff0c;已经通过早鸟申请的方式给部分国际版用户尝过鲜了。Zoho CRM即将推出图表视图&#xff0c;将原始数据转换为直观的图表…...

制作图片马:二次渲染(upload-labs第17关)

代码分析 $im imagecreatefromjpeg($target_path);在本关的代码中这个imagecreatefromjpeg();函数起到了将上传的图片打乱并重新组合。这就意味着在制作图片马的时候要将木马插入到图片没有被改变的部分。 gif gif图的特点是无损&#xff0c;我们可以对比上传前后图片的内容…...

XGB-20:XGBoost中不同参数的预测函数

有许多在XGBoost中具有不同参数的预测函数。 预测选项 xgboost.Booster.predict() 方法有许多不同的预测选项&#xff0c;从 pred_contribs 到 pred_leaf 不等。输出形状取决于预测的类型。对于多类分类问题&#xff0c;XGBoost为每个类构建一棵树&#xff0c;每个类的树称为…...

websocket 使用示例

websocket 使用示例 前言html中使用vue3中使用1、安装websocket依赖2、代码 vue2中使用1、安装websocket依赖2、代码 前言 即时通讯webSocket 的使用 html中使用 以下是一个简单的 HTML 页面示例&#xff0c;它连接到 WebSocket 服务器并包含一个文本框、一个发送按钮以及 …...

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的水下目标检测系统(深度学习模型+UI界面+训练数据集)

摘要&#xff1a;本研究详述了一种采用深度学习技术的水下目标检测系统&#xff0c;该系统集成了最新的YOLOv8算法&#xff0c;并与YOLOv7、YOLOv6、YOLOv5等早期算法进行了性能评估对比。该系统能够在各种媒介——包括图像、视频文件、实时视频流及批量文件中——准确地识别水…...

中间件 Redis 服务集群的部署方案

前言 在互联网业务发展非常迅猛的早期&#xff0c;如果预算不是问题&#xff0c;强烈建议使用“增强单机硬件性能”的方式提升系统并发能力&#xff0c;因为这个阶段&#xff0c;公司的战略往往是发展业务抢时间&#xff0c;而“增强单机硬件性能”往往是最快的方法。 正是在这…...

生成哈夫曼树C卷(JavaPythonC++Node.jsC语言)

给定长度为n的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于1。请完成一个函数,根据输入的数字数组,生成哈夫曼树,并将哈夫曼树按照中序遍历输出。 为了保证输出的二又树中序遍历结果统一,增加以下限制:二叉树节点中,左节点权值小于等于右…...

Java代码审计安全篇-SSRF(服务端请求伪造)漏洞

前言&#xff1a; 堕落了三个月&#xff0c;现在因为被找实习而困扰&#xff0c;着实自己能力不足&#xff0c;从今天开始 每天沉淀一点点 &#xff0c;准备秋招 加油 注意&#xff1a; 本文章参考qax的网络安全java代码审计&#xff0c;记录自己的学习过程&#xff0c;还希望各…...

入门可解释机器学习和可解释性【内容分享和实战分析】

本篇文章为天池三月场读书会《可解释机器学习》的内容概述和项目实战分享&#xff0c;旨在为推广机器学习可解释性的应用提供一定帮助。 本次直播分享视频和实践代码以及PP获取地址&#xff1a;https://tianchi.aliyun.com/specials/promotion/activity/bookclub 目录 内容分…...

Promise其实也不难

难点图解&#xff1a;then&#xff08;&#xff09;方法 ES6学习网站&#xff1a;ES6 入门教程 解决&#xff1a;回调地狱&#xff08;回调函数中嵌套回调&#xff09; 两个特点&#xff1a; &#xff08;1&#xff09;对象的状态不受外界影响。Promise对象代表一个异步操作&…...

吴恩达 x Open AI ChatGPT ——如何写出好的提示词视频核心笔记

核心知识点脑图如下&#xff1a; 1、第一讲&#xff1a;课程介绍 要点1&#xff1a; 上图展示了两种大型语言模型&#xff08;LLMs&#xff09;的对比&#xff1a;基础语言模型&#xff08;Base LLM&#xff09;和指令调整语言模型&#xff08;Instruction Tuned LLM&#xff0…...

JVM从1%到99%【精选】-【初步认识】

目录 1.java虚拟机 2.JVM的位置 3.代码的执行流程 4.JVM的架构模型 5.JVM的生命周期 6.JVM的整体结构 1.java虚拟机 Java虚拟机是一台执行Java字节码的虚拟计算机,它拥有独立的运行机制,其运行的Java字节码也未必由Java语言编译而成。JVM平台的各种语言可以共享Java…...

pdf转图片(利用pdf2image包)

参考&#xff1a; pdf2image pip install pdf2image代码&#xff1a; from pdf2image import convert_from_path, convert_from_bytes import osoutput_folder ./xx/ dpi_value 600 pdf_start_page 1 # pdf显示的第一页 start_page 1 # 真实页码 prex # 图像前缀def to_…...

SwiftUI的转场动画

SwiftUI的转场动画 记录一下SwiftUI中的一些弹窗动画 import SwiftUIstruct TransitionBootCamp: View {State var showView falselet screenWidth UIScreen.main.bounds.widthlet screenHeight UIScreen.main.bounds.heightvar body: some View {ZStack(alignment: .botto…...

Trust Region Policy Optimization (TRPO)

Trust Region Policy Optimization (TRPO) 是一种强化学习算法&#xff0c;专门设计来改善策略梯度方法在稳定性和效率方面的表现。由 John Schulman 等人在 2015 年提出&#xff0c;TRPO 的核心思想是在策略优化过程中引入一个信任区域&#xff08;trust region&#xff09;&a…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程&#xff0c;系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...