ToB企服应用市场:ToB评测及商务社交产业平台
标题:
大数据-217 Prometheus 安装设置 启动服务 监控服务
[打印本页]
作者:
用户云卷云舒
时间:
2024-11-14 21:08
标题:
大数据-217 Prometheus 安装设置 启动服务 监控服务
点一下关注吧!!!非常感谢!!连续更新!!!
目前已经更新到了:
Hadoop(已更完)
HDFS(已更完)
MapReduce(已更完)
Hive(已更完)
Flume(已更完)
Sqoop(已更完)
Zookeeper(已更完)
HBase(已更完)
Redis (已更完)
Kafka(已更完)
Spark(已更完)
Flink(已更完)
ClickHouse(已更完)
Kudu(已更完)
Druid(已更完)
Kylin(已更完)
Elasticsearch(已更完)
DataX(已更完)
Tez(已更完)
数据挖掘(已更完)
Prometheus(正在更新…)
章节内容
上节我们完成了如下的内容:
KMeans 基于轮廓系数来选择 n_clusters
Prometheus
架构设计
Prometheus 的核心架构设计简单明白,包括以下组件:
Prometheus Server:负责收罗、存储时间序列数据,并提供查询服务。它通过 HTTP 协议从指定的服务端点(targets)拉取数据。
Exporter:负责将差异系统的监控指标转换为 Prometheus 可读取的格式,好比 node_exporter 可以监控主机的 CPU、内存等资源,blackbox_exporter 可以进行网站的可达性查抄。
Alertmanager:用来处理 Prometheus 产生的报警。当满意指定的报警条件时,Alertmanager 可以将报警信息发送到邮件、Slack、PagerDuty 等多种渠道。
Pushgateway:实用于短生命周期的批处理任务,将数据主动推送给 Prometheus。
客户端库(Client Libraries):允许开发者在应用步伐代码中直接定义并记录自定义的监控指标,如请求数、延迟等。
官方网站
https://prometheus.io/download/
复制代码
这里用 2.53.2
数据模子
Prometheus 的数据模子基于键值对存储时间序列数据。它的数据单位是 时间序列,每个时间序列由 唯一的 metric 名称 和一组 标签(labels) 构成。标签使得用户可以灵活地标记和筛选数据,好比 http_requests_total{method=“GET”, status=“200”} 表现获取到的 HTTP 请求总数。
数据收罗方式
Prometheus 的数据收罗采用 Pull 模子,即 Prometheus 定期从指定的目标端点(targets)拉取数据。这种模子对分布式系统尤其实用,由于可以灵活设置并自动发现服务(通过与 Kubernetes 集成),无需每个服务都主动上报数据。
查询语言(PromQL)
Prometheus 提供了一种强大的查询语言 PromQL,用于查询和分析存储的数据。PromQL 允许用户对数据进行复杂的运算和聚合,比方:
rate(http_requests_total[5m]):盘算已往 5 分钟的 HTTP 请求速率。
avg_over_time(cpu_usage[1h]):盘算已往 1 小时的 CPU 使用率均匀值。 PromQL 支持过滤、聚合、运算符、时间窗口等利用,使得用户可以灵活地分析监控数据。
应用场景
在业务层作用埋点系统:支持多种语言(Go、Python、Ruby 等等),我们可以通过客户端对核心业务进行埋点,如下单流程、添加购物车等等
在应用层作用监控系统:一些主流应用可以通过官方或者第三方的导出器,来对这些应用做核心指标的网络,如 Redis、MySQL
在系统层用作系统监控除了常用软件,Prometheus 也有相关系统层和网络层 exporter,用于监控服务器或者网络
集成其他监控 Prometheus 还可以通过各种 exporter,集成其他的监控系统,网络监控数据,如 AWS CloudWatch、JMX、Pingdom 等等。
我们需要完成:
在监控服务器上安装 Prometheus
在被监控的环境上安装 export
安装 Grafana
下载设置
cd /opt/software
wget https://github.com/prometheus/prometheus/releases/download/v2.53.2/prometheus-2.53.2.linux-amd64.tar.gz
复制代码
实行结果如下所示:
解压设置
tar -zxvf prometheus-2.53.2.linux-amd64.tar.gz
mv prometheus-2.53.2.linux-amd64 ../servers/
复制代码
实行结果如下所示:
修改设置
解压设置,修改设置文件,在项目对应目次下:
cd /opt/servers/prometheus-2.53.2.linux-amd64
vim prometheus.yml
复制代码
实行的结果如下所示:
我们需要进行一些设置:
# my global config
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.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# 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: ["localhost:9090"]
- job_name: "h121-wzk-icu"
static_configs:
- targets: ["h121.wzk.icu:9100"]
- job_name: "h122-wzk-icu"
static_configs:
- targets: ["h122.wzk.icu:9100"]
- job_name: "h123-wzk-icu"
static_configs:
- targets: ["h123.wzk.icu:9100"]
- job_name: "wzk-icu-grafana"
static_configs:
- targets: ["h121.wzk.icu:9091"]
复制代码
对应的内容如下图所示:
启动服务
设置完成后,只需要运行起来这个软件:
cd /opt/servers/prometheus-2.53.2.linux-amd64
./prometheus
复制代码
实行结果如下图所示:
我们通过 URL可以看到自带的监控界面:
http://h121.wzk.icu:9090/
复制代码
访问结果如下所示:
我们选择 Targets 选项:
http://h121.wzk.icu:9090/
targets?search=
复制代码
可以看到如下的内容:
Alerting 和通知
Prometheus 可以基于查询结果设定报警规则,好比当 CPU 使用率超过 80% 连续一定时间,就可以触发报警。Prometheus 的 Alertmanager 负责管理和路由报警,支持去重、分组、静默处理等功能,帮助团队更高效地处理报警变乱。Alertmanager 可以与多个通知平台集成,如 Slack、邮件、PagerDuty、OpsGenie 等。
存储机制
Prometheus 的数据默认会生存在本地磁盘中,使用 TSDB(时间序列数据库) 存储引擎,以时间块的形式进行存储和压缩。为了满意长时间的数据保留和查询需求,Prometheus 也支持通过远程存储(如 Cortex、Thanos)扩展数据的持久化和高可用性。
服务发现
Prometheus 提供了多种服务发现机制,可以或许自动发现新的监控目标。它支持静态设置、DNS 服务发现、文件服务发现以及多种平台的自动发现,好比 Kubernetes、Consul、Amazon EC2、Azure 等,使得 Prometheus 可以或许动态地发现容器、Pod、VM 等新资源,淘汰运维人员的手动利用。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4