一、Prometheus功能

Prometheus 在系统监控和警报方面非常强大,它适用于多种应用场景。以下是一些常见的 Prometheus 应用场景,以及具体的例子:

  1. 性能监控:Prometheus 可以用来监控服务器和应用程序的性能。比如,它可以收集和显示 CPU 使用率、内存使用、磁盘 IO、网络流量等指标。例如,一个云服务提供商可能使用 Prometheus 来监控其数据中心的资源使用情况,以确保服务稳定。

  2. 服务健康监控:Prometheus 可以检测和报告各种服务的运行状态。这包括检查服务是否在线、响应时间是否在正常范围内等。例如,一个在线电商平台可以使用 Prometheus 来监控其网站和后端服务的健康状况,及时发现和解决问题。

  3. 警报:Prometheus 的警报管理系统(Alertmanager)允许用户定义复杂的警报规则,当特定条件触发时发送通知。例如,如果某个关键服务的响应时间超过阈值,Prometheus 可以配置发送电子邮件或通过 Slack 通知团队成员。

  4. 容器和微服务监控:在容器化和微服务架构中,Prometheus 特别有用。它可以与 Kubernetes 和 Docker 等技术集成,监控容器的性能和健康状况。例如,在 Kubernetes 集群中运行的服务可以通过 Prometheus 监控集群内的每个容器和微服务。

  5. 自定义指标监控:Prometheus 允许开发者定义和收集自定义指标。这对于应用程序性能监控特别有用。比如,一个移动应用开发团队可能使用 Prometheus 来监控应用的用户活跃度或交易处理时间。

  6. 网络设备监控:Prometheus 还可以用来监控网络设备的性能和健康状况,比如路由器、交换机和负载均衡器。例如,网络运营商可以利用 Prometheus 监控其基础设施的流量和设备状态。

这些场景展示了 Prometheus 在监控和警报方面的多功能性和灵活性。通过定制查询和仪表板,它可以适应各种不同的监控需求。

二、服务器安装步骤

2.1  首先搭建本地yum源,更新系统。

2.2 下载Prometheus安装包

官网地址https://prometheus.io/download/,

 2.3 创建一个用户和组

sudo useradd --no-create-home --shell /bin/false prometheus

2.4 创建必要的目录

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

2.5 设置权限

sudo chown prometheus:prometheus /var/lib/prometheus

2.6 解压 Prometheus

tar -xvf prometheus-*.tar.gz

2.7 移动 Prometheus 二进制文件

sudo mv prometheus-*/prometheus /usr/local/bin/
sudo mv prometheus-*/promtool /usr/local/bin/

2.8 设置权限

sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool

2.9 移动配置文件和库

sudo mv prometheus-*/consoles /etc/prometheus
sudo mv prometheus-*/console_libraries /etc/prometheus

2.10 创建配置文件

sudo vi /etc/prometheus/prometheus.yml

global:
scrape_interval: 15s

scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']

2.11 更改配置文件和文件夹的所有权

sudo chown -R prometheus:prometheus /etc/prometheus

2.12 启动 Prometheus

sudo -u prometheus /usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries

2.13 设置 Prometheus 为服务,创建 systemd 服务文件

sudo vi /etc/systemd/system/prometheus.service

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
--config.file /etc/prometheus/prometheus.yml \
--storage.tsdb.path /var/lib/prometheus/ \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

2.14 启用并启动 Prometheus 服务

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

 

 三、验证