监控系列之-prometheus部署说明

一、Prometheus介绍

在这里插入图片描述

Prometheus是一款开源的监控系统,主要用于收集、存储和查询时间序列数据,以便于对系统进行监控和分析Prometheus的架构由四个主要组件组成:
1、Prometheus Server :Prometheus Server是Prometheus的核心组件,主要负责从各个目标(target)中收集指标(metrics)数据,并对这些数据进行存储、聚合和查询。
2、Client Libraries :Prometheus提供了多种客户端库,用于在应用程序中嵌入Prometheus的指标收集功能。
3、Exporters :Exporters是用于将第三方系统的监控数据导出为Prometheus格式的组件。Prometheus支持多种Exporters,例如Node Exporter、MySQL Exporter、HAProxy Exporter等。
4、Alertmanager:Alertmanager是Prometheus的告警组件,用于根据用户定义的规则对监控数据进行告警。Prometheus的特点
1、灵活的数据模型:Prometheus采用的是key-value对的形式存储指标数据,每个指标都可以包含多个标签(labels),这样可以更加灵活地描述指标数据
2、高效的存储和查询:Prometheus使用自己的时间序列数据库,可以高效地存储和查询大量的指标数据。
3、强大的可视化和告警功能:Prometheus提供了Web界面和API,可以方便地展示和查询监控数据。
4、可扩展性强:Prometheus的架构非常灵活,可以根据需要选择合适的组件进行配置。
CNCF的成员项目:Prometheus作为CNCF的项目之一,得到了广泛的关注和支持,并且得到了来自全球各地的贡献者的积极参与和开发.

二、Prometheus部署搭建

1、node_exporter部署搭建

1、下载
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz2、解压部署启动
tar -xf node_exporter-1.8.2.linux-amd64.tar.gz
ln -s node_exporter-1.8.2.linux-amd64 /usr/local/node_exporter3、设置启动脚本
vim start_noder.sh
/usr/local/node_exporter/node_exporter \
--collector.textfile.directory=/usr/local/node_exporter/tmp/ \
--web.config.file=config.yml \
--web.listen-address=0.0.0.0:191004、附录config.yml文件配置(账号密码admin/123456 此文档中所有都是使用的该信息)
cat config.yml 
basic_auth_users:admin: $2y$12$Y9/tZwO8FJC2I.IPt47ufOwFZRNrjSOPk0rUtOhB97cXNdvCikFDW

2、proc_exporter部署

1、此处需要使用到pyton3,推荐使用anaconda3进行安装,此处略,对应网址
https://www.anaconda.com/download2、prometheus_client安装
python3 -m pip install  client_python-0.13.1.tar.gz 3、设置开机自启动脚本
vim /usr/lib/systemd/system/proc_exporter.service
[Unit]
Description=proc_exporter
After=network.target[Service]
Type=simple
ExecStart=/usr/bin/python3 /usr/local/proc_exporter/proc_exporter.py -c /usr/local/proc_exporter/proc_exporter.ini
Restart=on-failure[Install]
WantedBy=multi-user.target4、配置文件调整修改,按照如下格式进行业务模块添加删除
vim proc_exportter.ini
## 进程配置, 修改后生效, 不需要重启
[node_exporter]
## 进程名: 能够唯一标识进程的关键字, 如: node_exporter
name = node_exporter## 进程模块: 进程所归属的子系统或模块, 如: prometheus,
moudle = prometheus## 进程负责人: 当进程出现异常, 需要介入处理的开发人员
manager = ## core文件目录, 配置绝对路径, 如不需要检测core文件则配空
directory =## core文件名前缀
prefix = 5、启动systemctl daemon-reloadsystemctl enable proc_exporter.servicesystemctl restart proc_exporter.service

3、Alertmanager部署

1、下载
wget https://github.com/prometheus/alertmanager/releases/download/v0.27.0/alertmanager-0.27.0.linux-amd64.tar.gz2、解压部署
tar -xf alertmanager-0.27.0.linux-amd64.tar.gz
ln -s alertmanager-0.27.0.linux-amd64 /usr/local/alertmanager3、编写启动脚本
vim /usr/lib/systemd/system/alertmanager.service
[Unit]
Description=alertmanager server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target[Service]
Type=simple
User=root
Group=root
Restart=on-abnormal
ExecStart=/usr/local/alertmanager/alertmanager \--config.file=/usr/local/alertmanager/alertmanager.yml \--web.listen-address=0.0.0.0:19093 \--web.config.file=/usr/local/alertmanager/config.yml \[Install]
WantedBy=multi-user.target4、配置文件调整
vim alertmanager.yml
global:resolve_timeout: 5msmtp_smarthost: 'smtp.mail.139.com:25'     # 邮箱smtp服务器smtp_from: 'hly12599-alarm@139.com'             # 发送邮箱名称smtp_auth_username: 'hly12599-alarm@139.com'    # 邮箱地址smtp_auth_password: '23bb4dee88805e0fb400'          # 邮箱密码smtp_require_tls: falseroute:group_by: ['alertname']group_wait: 10s    group_interval: 5mrepeat_interval: 3mreceiver: 'alert-receiver'routes:- receiver: 'data'continue: truetemplates:- './templates/*.tmpl'
receivers:
- name: 'data'webhook_configs:- url: 'http://192.168.10.139:5000/alertinfo'
- name: 'alert-receiver'email_configs:- to: 15901283579@139.comsend_resolved: trueinhibit_rules:- source_match:severity: 'warning'target_match:severity: 'warning'equal: ['job', 'instance','severity']
####检查配置:./amtool check-config alertmanager.yml5、启动systemctl daemon-reloadsystemctl enable alertmanager.servicesystemctl restart alertmanager.service

4、pushgateway部署

1、下载
wget https://github.com/prometheus/pushgateway/releases/download/v1.9.0/pushgateway-1.9.0.linux-amd64.tar.gz2、解压部署
tar -xf pushgateway-1.9.0.linux-amd64.tar.gz
ln -s pushgateway-1.9.0.linux-amd64 /usr/local/pushgateway3、编写启动文件
vim /usr/lib/systemd/system/pushgateway.service
[Unit]
Description=pushgateway
Wants=network-online.target
After=network-online.target[Service]
Type=simple
User=root
Group=root
Restart=always
ExecStart=/usr/local/pushgateway/pushgateway \--web.listen-address=0.0.0.0:19091  \--web.config.file=/usr/local/pushgateway/config.yml [Install]
WantedBy=multi-user.target4、启动systemctl daemon-reloadsystemctl enable pushgateway.servicesystemctl restart pushgateway.service

5、prometheus部署

1、下载
wget https://github.com/prometheus/prometheus/releases/download/v2.53.2/prometheus-2.53.2.linux-amd64.tar.gz2、解压部署
tar -xf prometheus-2.53.2.linux-amd64.tar.gz
ln -s prometheus-2.53.2.linux-amd64 /usr/local/prometheus3、编写启动脚本
vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target[Service]
Type=simple
User=root
Group=root
Restart=on-abnormal
ExecStart=/usr/local/prometheus/prometheus \--config.file=/usr/local/prometheus/prometheus.yml \--web.listen-address=0.0.0.0:19090 \--web.config.file=/usr/local/prometheus/config.yml \--storage.tsdb.path=/usr/local/prometheus/data \--storage.tsdb.retention.time=180d \--web.console.templates=/usr/local/monitor/prometheus/consoles \--web.console.libraries=/usr/local/monitor/prometheus/console_libraries \--web.max-connections=512 \--web.enable-lifecycle[Install]
WantedBy=multi-user.target4、启动systemctl daemon-reloadsystemctl enable prometheus.servicesystemctl restart prometheus.service5、修改配置文件,添加主机监控和进程监控
vim prometheus.yml
global:scrape_interval: 60s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 30s # Evaluate rules every 15 seconds. The default is every 1 minute.
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:- "./rules/*.yml"
scrape_configs:- job_name: "node_host"basic_auth:username: adminpassword: 123456scrape_interval: 1mstatic_configs:- targets: ["192.168.10.139:19100"]- job_name: "proc_host"scrape_interval: 1mscrape_timeout: 1mmetrics_path: /metricsstatic_configs:- targets: ["192.168.10.140:19001"]- job_name: "alertmanager"basic_auth:username: adminpassword: 123456static_configs:- targets: ["192.168.10.139:19093"]- job_name: "pushgateway_server"basic_auth:username: adminpassword: 123456honor_labels: truescrape_interval: 1mscrape_timeout: 1mstatic_configs:- targets: ["192.168.10.139:9091"]6、加载生效
curl -X POST -u admin:123456  http://192.168.10.139:9090/-/reload

6、Grafana部署

1、下载地址
wget https://dl.grafana.com/oss/release/grafana-10.3.7-1.x86_64.rpm2、安装部署启动
rpm -Uvh grafana-10.3.7-1.x86_64.rpm3、修改配置文件端口,然后启动即可
echo "http_port = 13000" >> /etc/grafana/grafana.ini
systemctl daemon-reload
systemctl enable grafana-server.service
systemctl restart grafana-server.service4、通过web浏览器即可打开对应的web界面

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C到C++入门基础知识

一:命名空间:namespace (一):命名空间的定义 注:命名空间只能定义在全局,不能定义在函数内部。 (1)类似于C语言的结构体,C语言的命名空间定义为&#xff1…

OpenCV和Tesseract OCR识别复杂验证码喽~~

目录 代码实现思路 流程: 主要流程: 整体代码 效果展示 原图 处理之后的图 总结 流程图 代码实现思路 使用 OpenCV 进行图像预处理,并通过 Tesseract OCR 来识别验证码中的字符。以下是其实现思路的详细讲解: 流程&…

代码随想录Day 44|leetcode题目:1143.最长公共子序列、1035.不相交的线、53. 最大子序和、392.判断子序列

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 题目题目一:1143.最长公共子序列解题思路: 题目二: 1035.不相交的线解题思路: 题目三:53. 最大子序和解题思路 题目四:392.判…

【Android 13源码分析】WindowContainer窗口层级-3-实例分析

在安卓源码的设计中,将将屏幕分为了37层,不同的窗口将在不同的层级中显示。 对这一块的概念以及相关源码做了详细分析,整理出以下几篇。 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树 【Android 13源码分析】WindowCon…

优化 TCP 以提高网络性能

本页面简要介绍了计算正确设置的方法,以缩短 Google Cloud 和混合场景中 TCP 连接的延迟时间。本页面还可帮助您了解如何缩短 Google Cloud 中流程之间的连接延迟时间。 现代微服务架构主张,开发者应该构建处理单一任务的小型服务。服务应根据系统的可靠…

【iOS】dismiss多级的方法

前言 上次笔者总结过push和pop推入和推出界面的方法,这里对于dismiss多级的方法进行一个总结,推入推出方法可以看看笔者这篇博客:【iOS】UI学习——界面切换 dismiss推出多级的原理 当我们使用pop推入新的界面的时候,连续pop推…

在线查看 Android 系统源代码 AOSPXRef and AndroidXRef

在线查看 Android 系统源代码 AOSPXRef and AndroidXRef 1. AOSPXRef1.1. http://aospxref.com/android-14.0.0_r2/1.2. build/envsetup.sh 2. AndroidXRef2.1. http://androidxref.com/9.0.0_r3/2.2. build/envsetup.sh 3. HELLO AndroidReferences 1. AOSPXRef http://aospx…

YOLOv5/v8 + 双目相机测距

yolov5/v8双目相机测距的代码,需要相机标定 可以训练自己的模型并检测测距,都是python代码 已多次实验,代码无报错。 非常适合做类似的双目课题! 相机用的是汇博视捷的双目相机,具体型号见下图。 用的yolov5是6.1版本的…

QT --- 初识QT

一、通过代码构建helloworld界面 一般通过代码来构造界面的时候,通常会把构造界面的代码放到Widget/MainWindow的构造函数中。 Qt中每个类都有对应同名的头文件 上古时期,Qt用的是这种风格的文件。1998年之后,C标准成立了,C98标准…

jenkins入门

CI 、CD入门 一:jenkins实现CI操作 1.在jenkins环境安装jdk 、maven ,同事修改maven里的settings.xml中的两个配置:添加jdk插件版本并开启和私服镜像(也可以在jenkins页面的全局配置选择自动安装,但是自动安装速度很慢,所以这里选择手动安装,后面直接在全局配置指定目…

太阳下山还有月光,月亮睡了还有朝阳

最近听到一首歌《GooGoo-不要慌太阳下山有月光》,觉得里面的歌词很有意思,这也是标题的由来。截取歌词片段: 不要迷茫 不要慌张 太阳下山 还有月光 它会把人生路照亮 陪你到想去的地方 不要彷徨 不要沮丧 月亮睡了 还有朝阳 抬头看天一定会亮…

如何正确使用MMPI量表进行测试?

1、需要初中以上学历,能对测试题准确的理解。 2、应在安静、无干扰的环境中进行,确保自己能够集中注意力完成测试。 3、尽量不要选择“无法回答”这个选项,当然如果确实有无法回答的,也可以选,但是总数不要超过22个。…

Python计算机视觉 第9章-图像分割

Python计算机视觉 第9章-图像分割 图像分割是将一幅图像分割成有意义区域的过程。区域可以是图像的前景与背景或图像中一些单独的对象。这些区域可以利用一些诸如颜色、边界或近邻相似性等特征进行构建。 9.1 图割(Graph Cut) 图割(Graph…

一步一步自制py脚本并且并且修改为exe可执行文件教学外附带SHA-1解密exe文件资源

第一步:安装 Python 下载 Python:访问 Python 官网 下载并安装最新版本的 Python。安装时选择添加到环境变量 PATH:在安装过程中,确保勾选“Add Python to PATH”选项。 第二步:编写 Python 脚本 创建一个新的 Pyth…

基于BiGRU+Attention实现风力涡轮机发电量多变量时序预测(PyTorch版)

前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对…

参赛心得和思路分享:2021第二届云原生编程挑战赛2: 实现一个柔性集群调度机制

关联比赛: 2021第二届云原生编程挑战赛2:实现一个柔性集群调度机制 参赛心得 历时快两个月的第二届云原生编程挑战赛结束了,作为第一次参赛的萌新,拿下了28名的成绩,与第一名差了19万分,因为赛制时间太长&#xff0c…

基于python+django+vue的社区爱心养老管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的社…

103.WEB渗透测试-信息收集-FOFA语法(3)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:102.WEB渗透测试-信息收集-FOFA语法(2) FOFA使用实例 组件框架 …

eureka.client.service-url.defaultZone的坑

错误的配置 eureka: client: service-url: default-zone: http://192.168.100.10:8080/eureka正确的配置 eureka: client: service-url: defaultZone: http://192.168.100.10:8080/eureka根据错误日志堆栈打断电调试 出现两个key,也就是defaultZone不支持snake-c…

cmd命令

常用命令 查看电脑名称: hostname 查看网卡信息: ipconfig 快速打开网络设置界面: control.exe netconnections 或 rundll32.exe shell32.dll,Control_RunDLL ncpa.cpld 打开防火墙设置: wf.msc 指定网卡设置IP地址&#…