当前位置: 首页 > 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…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

C语言中提供的第三方库之哈希表实现

一. 简介 前面一篇文章简单学习了C语言中第三方库&#xff08;uthash库&#xff09;提供对哈希表的操作&#xff0c;文章如下&#xff1a; C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

TCP/IP 网络编程 | 服务端 客户端的封装

设计模式 文章目录 设计模式一、socket.h 接口&#xff08;interface&#xff09;二、socket.cpp 实现&#xff08;implementation&#xff09;三、server.cpp 使用封装&#xff08;main 函数&#xff09;四、client.cpp 使用封装&#xff08;main 函数&#xff09;五、退出方法…...

归并排序:分治思想的高效排序

目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法&#xff0c;由约翰冯诺伊曼在1945年提出。其核心思想包括&#xff1a; 分割(Divide)&#xff1a;将待排序数组递归地分成两个子…...

Yii2项目自动向GitLab上报Bug

Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...