监控利器-prometheus安装与部署+实现邮箱报警

yizhihongxing

监控利器-prometheus安装与部署+实现邮箱报警

作为网站站长,我们经常需要监控网站的性能和运行状态。为了实现这一目的,通常需要使用一些监控工具。其中,prometheus是一款功能强大的监控利器,可以监控许多不同类型的系统和服务,并提供灵活的警报通知方式。在本文中,将介绍prometheus的安装、部署和实现邮箱报警的过程。

安装与部署

安装prometheus

在开始安装prometheus之前,确保您已经安装了Docker和Docker-compose。

1.创建一个新的目录并切换到该目录下

shell
mkdir prometheus && cd prometheus

2.创建一个新的docker-compose.yaml文件,如下所示

yaml
version: "3.8"
services:
prometheus:
container_name: prometheus
image: prom/prometheus:v2.26.0
ports:
- "9090:9090"
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml

3.从Docker Hub上拉取最新的prometheus镜像并且运行

shell
docker-compose up -d

4.使用浏览器访问http://localhost:9090,进入prometheus后台管理界面,在这里可以配置监控的targets以及警报规则等等。

部署Node Exporter

Node Exporter是用于监视Linux服务器资源使用情况的一种服务,它可以帮助我们收集本地服务器的各类监控指标。

1.创建一个新的目录并切换到该目录下

shell
mkdir node_exporter && cd node_exporter

2.创建一个新的docker-compose.yaml文件,如下所示

yaml
version: "3.8"
services:
node_exporter:
container_name: node_exporter
image: prom/node-exporter:v1.2.2
ports:
- "9100:9100"

3.从Docker Hub上拉取最新的node_exporter镜像并且运行

shell
docker-compose up -d

4.在prometheus的配置文件prometheus.yml中添加Node Exporter的exporter,如下所示

yaml
scrape_configs:
- job_name: 'node_exporter'
scrape_interval: 5s
static_configs:
- targets: ['node_exporter:9100']

实现邮箱报警

安装Alertmanager

Alertmanager是prometheus中的一个组件,它用于对警报进行收集、分类、传递、暂停等操作。通过这个可以非常方便地实现邮件报警。

1.创建一个新的目录并切换到该目录下

shell
mkdir alertmanager && cd alertmanager

2.下载并解压最新版本的Alertmanager二进制文件

shell
wget https://github.com/prometheus/alertmanager/releases/download/v0.23.0/alertmanager-0.23.0.linux-amd64.tar.gz
tar zxvf alertmanager-0.23.0.linux-amd64.tar.gz
cd alertmanager-0.23.0.linux-amd64

3.在alertmanager的配置文件alertmanager.yml中配置邮件报警相关信息,如下所示

yaml
global:
smtp_smarthost: 'smtp.gmail.com:587'
smtp_from: 'sender@gmail.com'
smtp_auth_username: 'sender@gmail.com'
smtp_auth_password: 'password'
smtp_require_tls: true
email_config:
to: 'receiver@example.com'
from: 'sender@example.com'
headers:
Subject: '[Alert] {{ template "subject" . }}'
route:
receiver: 'email'
group_wait: 30s
group_interval: 5m
repeat_interval: 24h
routes:
- match:
alertname: Watchdog
receiver: 'email'
receivers:
- name: 'email'
email_configs:
- to: 'receiver@example.com'
send_resolved: true

其中需要将smtp_smarthost、smtp_from、smtp_auth_username和smtp_auth_password等信息更换成您的邮箱账号和密码。另外,还需要将to和from地址这两个配置信息中的email地址更换成您自己的邮箱地址。

4.运行Alertmanager

shell
./alertmanager --config.file=alertmanager.yml &

5.在prometheus配置文件prometheus.yml中配置报警规则,如下所示

yaml
rule_files:
- "/etc/prometheus/rules/*.rules"
scrape_configs:
- job_name: 'node_exporter'
scrape_interval: 5s
static_configs:
- targets: ['node_exporter:9100']
alerting:
alertmanagers:
- static_configs:
- targets: ['alertmanager:9093']

6.创建报警规则文件,并放置在/prometheus/rules文件夹中,如下所示

yaml
groups:
- name: Node_Exporter_Rules
rules:
- alert: Memory_Usage_Too_High
expr: (node_memory_MemTotal-node_memory_MemFree-node_memory_Buffers-node_memory_Cached)/node_memory_MemTotal*100 > 70
for: 1m
labels:
severity: warning
annotations:
summary: "Instance {{$labels.instance}} memory usage is high."
description: "The memory usage of instance {{$labels.instance}} has exceeded 70%."

这里的报警规则可以根据不同需求自行编写。

7.重启Prometheus

shell
docker restart prometheus

现在,当监测指标满足报警规则时,Alertmanager就会通过邮件的形式发送警报信息到指定邮箱。

总结

本文介绍了prometheus的安装、部署和实现邮箱报警的过程。通过这些步骤,我们可以快速搭建一个强大的监控系统来监控网站的性能和运行状态,并且实现灵活的警报通知方式。希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:监控利器-prometheus安装与部署+实现邮箱报警 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • Java框架设计灵魂之反射的示例详解

    Java框架设计中的反射是非常重要的一环,它可以让我们在运行时动态地获取并操作对象信息。下面详细讲解“Java框架设计灵魂之反射的示例详解”的完整攻略。 什么是反射 Java反射是指程序可以在运行时动态获取类的信息并操作对象的属性、方法等。在Java中,反射可以通过java.lang.reflect包中的类实现。 反射的用途 反射有很多用途,比如: 动态地创…

    other 2023年6月27日
    00
  • Java面试最容易被刷的重难点之锁的使用策略

    Java面试最容易被刷的重难点之锁的使用策略攻略 在Java面试中,锁的使用策略是一个重要的考察点。以下是一些常见的锁的使用策略,以及两个示例说明。 1. 锁的粒度 锁的粒度是指在代码中加锁的范围。过细的粒度可能导致性能问题,而过粗的粒度可能导致并发性能下降。在选择锁的粒度时,需要根据具体的场景进行权衡。 示例1:假设有一个多线程的银行转账系统,每个账户都有…

    other 2023年8月3日
    00
  • C语言简明介绍常见关键字的用法

    C语言简明介绍常见关键字的用法 C语言作为一种广泛应用于系统编程和嵌入式开发的程序设计语言,在程序员中拥有广泛的用户群体。C语言中关键字的使用对于程序开发来说是至关重要的。在这里,我们将简明介绍一些C语言中常见关键字的用法。 数据类型关键字 C语言中有丰富的数据类型,每种类型都有其对应的关键字。在程序中正确使用这些关键字是确保数据类型正确运用的关键。 int…

    other 2023年6月27日
    00
  • C图形库Easyx的使用

    C图形库Easyx的使用的完整攻略 Easyx是一款基于C语言的图形库,它可以帮助开发者快速地实现图形界面和图形绘制。本文将为您提供一份完整攻略,包括Easyx的基本原理、实现方法、例说明等。 Easyx的基本原理 Easyx的基本原理是通过封装Windows API来实现图形界面和图形绘制。它提供了一系列简单易用的函数,可以帮助开发者快速地实现图形界面和图…

    other 2023年5月5日
    00
  • 解析:继承ViewGroup后的子类如何重写onMeasure方法

    当我们继承自 ViewGroup 后,需要重写 onMeasure() 方法来计算并设置该布局的子 View 布局参数,在该方法中,会通过 MeasureSpec 来获取父布局传递的测量模式和大小值,我们需要根据这些值来确定子 View 的大小和位置。 下面是重写 onMeasure() 方法的步骤: 1.实现该方法 我们需要在子类中重写该方法并在其中编写测…

    other 2023年6月26日
    00
  • nuxtjs使用less

    Nuxt.js使用Less Nuxt.js 是一个基于 Vue.js 的应用框架,用于构建 SSR(Server Side Render)应用程序。它提供了许多方便的工具和功能,帮助我们更快地构建高质量的 Web 应用程序。其中之一是内置对 CSS 预处理器的支持,包括 Less。 安装Less 要在 Nuxt.js 中使用 Less,首先需要安装它。我们可…

    其他 2023年3月28日
    00
  • Win11文件类型怎么改?Win11修改文件后缀的方法

    Win11文件类型怎么改?Win11修改文件后缀的方法 在Windows 11中,你可以通过以下步骤来改变文件的类型和修改文件的后缀。 步骤1:显示文件扩展名 默认情况下,Windows 11隐藏了文件的扩展名。为了修改文件的后缀,你需要先显示文件的扩展名。按照以下步骤进行操作: 打开任意一个文件夹。 点击顶部菜单栏的“查看”选项卡。 在“查看”选项卡中,勾…

    other 2023年8月5日
    00
  • 深入理解C语言的逻辑控制

    深入理解C语言的逻辑控制攻略 在C语言中,逻辑控制是一种非常重要的编程技巧。它通过精细的逻辑构造和控制,实现程序的灵活性和可读性,提高程序效率和代码质量。本文将深入探讨C语言中的逻辑控制,包括条件语句、循环语句、跳转语句以及宏定义等内容,为C语言初学者提供全面的学习指南和编程实践。 一、条件语句 条件语句是C语言中最基础的逻辑控制语句。它根据条件的真假,选择…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部