运维监控系列(1):在Linux中运用Docker部署Prometheus+Grafana+Alertmanager企业微信机器人以及邮箱的推送。(全面部署)

本文详细介绍了如何在Linux环境中使用Docker部署Prometheus、Node_Exporter、Grafana和Alertmanager,构建全面的监控系统。文章涵盖从基础组件介绍到配置文件详解,再到告警推送(如企业微信和邮箱),旨在帮助有Linux和Docker基础的读者快速上手监控解决方案。
摘要由CSDN通过智能技术生成

 一. 前言

        这一章节主要是针对那些有Linux以及有Docker基础的小伙伴做的一个比较全面的部署,如果有不会Linux和docker的小伙伴可以先去学一下。花个1周的时间把Linux和docker入门就可以了,不需要精通。部署的步骤也比较简单,我搜索了一些文章,基本都是没有一个全面的部署,要么就是部署了前面监控部分,没有后面的Alertmanager推送机器人或者邮箱。要么就是在Linux中部署,而没有在Docker中部署。不过我还是建议在Docker中部署,它的效率和维护性都非常的高,这也是我学习Docker之后的感悟。趁热打铁,最近刚好部署完这一整套监控系统,在此也分享给大家,希望每个小伙伴都能少走一些弯路!!不过也希望每位小伙伴在部署完成之后,能重新对流程和知识点再整理一遍,毕竟温故而知新嘛!开始进入正题~~~

二.实现的技术

        1.部署中你需要用到的东西

在这里我就不做过于详细的讲解各技术的用途和功能了,毕竟要的是快速开发一套能用于工作的监控系统。

(1)Prometheus   (数据监控)       

       Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。Promethus有以下特点:

  • 支持多维数据模型:由度量名和键值对组成的时间序列数据
  • 内置时间序列数据库TSDB
  • 支持PromQL查询语言,可以完成非常复杂的查询和分析,对图表展示和告警非常有意义
  • 支持HTTP的Pull方式采集时间序列数据
  • 支持PushGateway采集瞬时任务的数据
  • 支持服务发现和静态配置两种方式发现目标
  • 支持接入Grafana

  小编:这里给大家配了张Prometheus的架构图,看不懂没关系,学到最后再回来看你就恍然大悟了!!!Prometheus主要就是用来监控各系统的指标。(重点)

(2)Node_Exporter(数据采集)

        Node Exporter 是一个开源的 Prometheus 客户端软件,用于收集和导出 Linux 系统的各种指标数据。 它可以提供关于 CPU 使用率、内存占用、网络流量等方面的数据。 而在本文中,我们将重点关注磁盘 I/O 相关的指标。

  小编:知道有这个东西就好,主要是用来采集主机数据的,要采集哪个系统的数据,就在哪个系统里部署,下面我们就直接采集阿里云的服务器数据,这个不难,只要安装部署跑通了就可以了。

 (3)Grafana(数据显示)

        Grafana是一个用Javascript写的开源的(Dashboard)可视化面板,能齐全的度量仪表盘和图形编辑器和漂亮的布局展示,并且支持Graphite、elasticsearch、zabbix等的数据可视化的实现,可以给你的数据换个皮肤,使你的数据展示更加直观和漂亮。

  小编:这个主要用于显示prometheus中所有监控的数据,也就是形成监控看板,方便我们查看各个系统的软硬件指标。也是了解即可。

 (4)Alertmanager(告警推送)

         Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器;告警方式可以按照不同的规则发送给不同的模块负责人,Alertmanager支持Email, Slack,等告警方式, 也可以通过webhook接入钉钉等国内IM工具。

  小编:Alertmanager主要是用来完成对Prometheus生产的警告进行推送,我们要把警告消息推送到企业微信,钉钉,邮箱等地方就需要通过Alertmanager来实现。(重点)

梳理一下流程:Prometheus监控来自----Node_Exporter采集到的主机数据----并展示到grafana形成看板-----同时Prometheus又把生产的告警推送给Alertmanager---再通过Alertmanager推送给我们的企业微信和邮箱。

(可以结合上面Prometheus的架构图进行理解,现在看不懂也没关系,慢慢来,后面部署完就能看懂这张图了)

2.开始部署

        以下都是基于Docker容器来部署的,合适有Linux和docker基础的小伙伴

1.部署Prometheus

第一步:

        在Linux系统中新建prometheus目录,编辑配置文件prometheus.yml

(这个prometheus.yml文件至关重要,也是prometheus能不能正常启动,能不能监控到数据的关键,后续如果启动不了prometheus或者监控不到数据,都可以来查看一下这个配置文件是否正确,特别要注意这个配置文件的格式&

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值