Prometheus监控系统部署与集成指南

目录

Prometheus概述

部署Prometheus服务器

环境说明:

配置时间

安装Prometheus服务器

添加被监控端

部署通用的监控exporter

Grafana

概述

部署Grafana

展示node1的监控信息

监控MySQL数据库

配置MySQL

配置mysql exporter

配置mysql exporter

配置prometheus监控mysql

自动发现机制

概述

基于文件自动发现

修改Prometheus使用自动发现

​编辑

配置web2接受Prometheus监控

Alertmanager

概述

Alertmanager特性

部署Alertmanager

部署

​编辑

配置文件

Prometheus与Alertmanager对接

​编辑

配置Alertmanager通过邮件发送告警


Prometheus概述

  • Prometheus是一个开源系统监控和警报工具包,最初由 SoundCloud构建。

  • 也是一款监控软件,也是一个时序数据库。Prometheus 将其指标收集并存储为时间序列数据,即指标信息与记录时的时间戳以及称为标签的可选键值对一起存储。

  • 主要用在容器监控方面,也可以用于常规的主机监控。

  • 使用google公司开发的go语言编写。

  • Prometheus是一个框架,可以与其他组件完美结合。

部署Prometheus服务器

环境说明:

  • Prometheus:192.168.88.5

  • web1:192.168.88.100

配置时间

若时间不相同,则会被踢出集群

// 1. 查看时区
[root@prometheus ~]# timedatectl 
               Local time: Sun 2023-01-01 11:15:11 CST
           Universal time: Sun 2023-01-01 03:15:11 UTC
                 RTC time: Sun 2023-01-01 03:15:11
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: inactive
          RTC in local TZ: no

// 2. 如果时区不正确,则改为正确的时区
[root@prometheus ~]# timedatectl set-timezone Asia/Shanghai

// 3. 查看时间
[root@prometheus ~]# date

// 4. 如果时间不正确,则改为正确的时间
[root@prometheus ~]# date -s "年月日 时:分:秒"

安装Prometheus服务器

  • 拷贝Prometheus相关软件包到服务器

  • 解压即部署

[root@prometheus ~]# cd prometheus_soft/
[root@prometheus prometheus_soft]# tar xf prometheus-2.37.5.linux-amd64.tar.gz 
[root@prometheus prometheus_soft]# mv prometheus-2.37.5.linux-amd64 /usr/local/prometheus
  • 配置文件

    • 配置文件中包含三个配置块:globalrule_filesscrape_configs

    • global块控制 Prometheus 服务器的全局配置。我们有两个选择。第一个,scrape_interval控制 Prometheus 抓取目标的频率。您可以为单个目标覆盖它。在这种情况下,全局设置是每 15 秒抓取一次。该evaluation_interval选项控制 Prometheus 评估规则的频率。Prometheus 使用规则来创建新的时间序列并生成警报。

    • rule_files块指定我们希望 Prometheus 服务器加载的任何规则的位置。现在我们还没有规则。

    • 最后一个块,scrape_configs控制 Prometheus 监控的资源。由于 Prometheus 还将有关自身的数据公开为 HTTP 端点,因此它可以抓取和监控自身的健康状况。在默认配置中,有一个名为 的作业prometheus,用于抓取 Prometheus 服务器公开的时间序列数据。该作业包含一个单一的、静态配置的目标,即localhost的9090端口。Prometheus期望度量在/metrics路径上的目标上可用,所以这个默认作业是通过 URL 抓取的:http://localhost:9090/metrics。

  • 编写服务启动文件并启动服务

[root@prometheus ~]# vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus Monitoring System
After=network.target

[Service]
ExecStart=/usr/local/prometheus/prometheus \
  --config.file=/usr/local/prometheus/prometheus.yml \
  --storage.tsdb.path=/usr/local/prometheus/data/

[Install]
WantedBy=multi-user.target

# 启动服务
[root@prometheus prometheus_soft]# systemctl daemon-reload 
[root@prometheus prometheus_soft]# systemctl enable prometheus.service --now
[root@prometheus prometheus_soft]# ss -tlnp | grep :9090
LISTEN 0      128                *:9090             *:*    users:(("prometheus",pid=4396,fd=7)) 
  • 访问web页面:http://192.168.88.5:9090/

  • 查看监控自身的数据,如分配置给Prometheus运行的内存数量

添加被监控端

  • 监控方式:

    • 拉取:pull。监控端联系被监控端,采集数据

    • 推送:push。被监控端主动把数据发给监控端。在prometheus中,push的方式需要额外的组件pushgateway

  • 被监控端根据自身运行的服务,可以运行不同的exporter(被监控端安装的、可以与Prometheus通信,实现数据传递的软件)

  • exporter列表:https://prometheus.io/docs/instrumenting/exporters/

部署通用的监控exporter

  • node-exporter用于监控硬件和系统的常用指标

  • exporter运行于被监控端,以服务的形式存在。每个exporter所使用的端口号都不一样。

  • 在web1[192.168.88.100]上部署node exporter

// 1. 拷贝node_exporter到web1
[root@prometheus ~]# scp prometheus_soft/node_exporter-1.5.0.linux-amd64.tar.gz 192.168.88.100:/root/

// 2. 解压即部署
[root@web1 ~]# tar xf node_exporter-1.5.0.linux-amd64.tar.gz 
[root@web1 ~]# mv node_exporter-1.5.0.linux-amd64 /usr/local/node_expor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值