监控之星-普罗米修斯Prometheus搭建

这篇具有很好参考价值的文章主要介绍了监控之星-普罗米修斯Prometheus搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

监控之星-普罗米修斯Prometheus搭建

导图

含义

Prometheus是一个开源系统监控和警报工具包,最初在 SoundCloud构建。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。它现在是一个独立的开源项目,独立于任何公司维护。为了强调这一点,并明确项目的治理结构,Prometheus 于 2016 年加入云原生计算基金会,成为继Kubernetes之后的第二个托管项目。

普罗米修斯的主要特点是:

  • 具有由度量名称和键/值对标识的时间序列数据的多维数据模型;
  • PromQL,一种利用这种维度的灵活查询语言;
  • 不依赖分布式存储;单个服务器节点是自治的;
  • 时间序列收集通过HTTP上的拉模型进行;
  • 通过中间网关支持推送时间序列;
  • 通过服务发现或静态配置发现目标;
  • 多种图形模式和仪表板支持。

架构

大多数 Prometheus 组件都是用Go编写的,这使得它们易于构建和部署为静态二进制文件。
监控之星-普罗米修斯Prometheus搭建

地位

Prometheus现在在Github有4w多的star,基本上过万星的开源工具,可以认为是社区里绝对的主流,社区也相当活跃,可以有大量的经验可以借鉴。在企业级系统中,可以放心的使用。
监控之星-普罗米修斯Prometheus搭建

原理

Prometheus 是由 SoundCloud 开发的开源监控报警系统和时序列数据库。从字面上理解,Prometheus 由两个部分组成,一个是监控报警系统,另一个是自带的时序数据库(TSDB)

来下载我吧

感觉难点在于下载该资源,总是下载失败
官网:https://prometheus.io/
监控之星-普罗米修斯Prometheus搭建
后面发现是谷歌浏览器不行,换个360浏览器就可以正常下载了,再不行就百度网盘吧。
链接:https://pan.baidu.com/s/1Xvkba_M77WmVsBXMq8EKLw
提取码:0dqy

安装:prometheus和exporter

简述:
1、运行环境:安装go,因为其是go开发的
2、监控端:安装Prometheus Server
3、受控端:exporter

第一步:运行环境搭建安装go

监控端和受控端都需要安装go
Windows :go1.8.3.windows-amd64.msi (78MB)

第二步:在监控服务器上安装prometheus

一、官方下载链接:https://prometheus.io/download/,按需安装,如下是windows系统:
监控之星-普罗米修斯Prometheus搭建
二、双击应用即可出现黑窗口
监控之星-普罗米修斯Prometheus搭建
三、然后,浏览器上输入:http://192.168.180.208:9090/,就出现下述界面,是不是炒鸡简单,如下就是安装的普罗米修斯了。注意,180.208地址是安装监控服务器的地址,按照你的设备地址来的。
监控之星-普罗米修斯Prometheus搭建
TIPS:功能项介绍:
Alert:用来配置告警规则。之后我们会用Grafana自身的告警界面配置来代替这个。
Graph:用来运行PromQL语句的一个控制台,并且可以把运行出来的语句用用图形化进行展示,此块我们后面章节会介绍到。
Status:包含系统信息,系统状态,配置信息,目标节点的状态,服务发现状态等元信息的查看。

第三步:在被监控端上部署exporter

一、下载并安装exporter

prometheus可以理解为一个数据库+数据抓取工具,工具从各处抓来统一的数据,放入prometheus这一个时间序列数据库中。那如何保证各处的数据格式是统一的呢?就是通过这个exporter。exporter也是用GO写的程序,它开放一个http接口,对外提供格式化的数据。所以在不同的环境下,需要编写不同的exporter。好在已经有很多写好的exporter,我们可以直接使用,(本句是一句废话为了更好的排版显示)(https://github.com/prometheus这里可以找到很多exporter)

二、配置监控的配置文件prometheus.yml

一、前言
prometheus的配置文件采用的是yml文件,yml文件书写的要求如下:

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
# Prometheus全局配置项
global:
  scrape_interval:     15s # 设定抓取数据的周期,默认为1min
  evaluation_interval: 15s # 设定更新rules文件的周期,默认为1min
  scrape_timeout: 15s # 设定抓取数据的超时时间,默认为10s
  external_labels: # 额外的属性,会添加到拉取得数据并存到数据库中
   monitor: 'codelab_monitor'
 
# Alertmanager配置
alerting:
 alertmanagers:
 - static_configs:
   - targets: ["localhost:9093"] # 设定alertmanager和prometheus交互的接口,即alertmanager监听的ip地址和端口
      
# rule配置,首次读取默认加载,之后根据evaluation_interval设定的周期加载
rule_files:
 - "alertmanager_rules.yml"
 - "prometheus_rules.yml"
 
# scape配置
scrape_configs:
- job_name: 'prometheus' # job_name默认写入timeseries的labels中,可以用于查询使用
  scrape_interval: 15s # 抓取周期,默认采用global配置
  static_configs: # 静态配置
  - targets: ['localdns:9090'] # prometheus所要抓取数据的地址,即instance实例项
 
- job_name: 'example-random'
  static_configs:
  - targets: ['localhost:8080']

二、修改用例
1、配置如下语句,仅添加红框中的命令,主要要按照书写要求书写
监控之星-普罗米修斯Prometheus搭建
2、双击重启监控端208的prometheus(修改了它的配置文件,肯定要重启激活)
监控之星-普罗米修斯Prometheus搭建
若配置yml配置没有正确,比如:监控之星-普罗米修斯Prometheus搭建
prometheus是无法成功启动的,会出现闪退现象。
正确配置后,就可以出现黑窗口了。
监控之星-普罗米修斯Prometheus搭建
监控之星-普罗米修斯Prometheus搭建
3、启动被监控端209上面的exporter服务
监控之星-普罗米修斯Prometheus搭建
监控之星-普罗米修斯Prometheus搭建
4、会出现如下
监控之星-普罗米修斯Prometheus搭建
4、尝试解决“Down”的问题
测试两个地址见的端口连通性,仅测试监控端208到被监控端209的9150端口是否连通(这里是因为防火墙限制了端口间访问,如果设置有问题,方便时可直接关闭防火墙)
监控之星-普罗米修斯Prometheus搭建
显示是正常的
所以,怀疑是209服务器上的exporert有问题
监控之星-普罗米修斯Prometheus搭建
但是过段时间,又自动恢复up了。
监控之星-普罗米修斯Prometheus搭建
把209的exporter服务关闭,208监控端会出现报错,启动exporter服务,监控恢复了
监控之星-普罗米修斯Prometheus搭建
换成台210服务器和merncached_exporter试试(控制变量法,仅改变了被监控端的设备)
操作同上,不赘述,仅仅截图
监控之星-普罗米修斯Prometheus搭建
监控之星-普罗米修斯Prometheus搭建
成功了
监控之星-普罗米修斯Prometheus搭建
换成台210服务器和haproxy_exporter试试
操作同上,不赘述,仅仅截图
监控之星-普罗米修斯Prometheus搭建
监控之星-普罗米修斯Prometheus搭建
依旧出现“down”现象,重启了两端服务多次了,检查配置与上述的209是一样的,只能等等了。
监控之星-普罗米修斯Prometheus搭建
补充,需要对exporter功能进行了解,安装需要的exporter的

exporter采集数据的原理https://blog.csdn.net/u010751000/article/details/110359345

报警:Alertmanager

一、Alertmanager简介及机制

Alertmanager处理由类似Prometheus服务器等客户端发来的警报,之后需要删除重复、分组,并将它们通过路由发送到正确的接收器,比如电子邮件、Slack等。Alertmanager还支持沉默和警报抑制的机制。

1、分组

分组是指当出现问题时,Alertmanager会收到一个单一的通知,而当系统宕机时,很有可能成百上千的警报会同时生成,这种机制在较大的中断中特别有用。

例如,当数十或数百个服务的实例在运行,网络发生故障时,有可能服务实例的一半不可达数据库。在告警规则中配置为每一个服务实例都发送警报的话,那么结果是数百警报被发送至Alertmanager。

但是作为用户只想看到单一的报警页面,同时仍然能够清楚的看到哪些实例受到影响,因此,人们通过配置Alertmanager将警报分组打包,并发送一个相对看起来紧凑的通知。

分组警报、警报时间,以及接收警报的receiver是在配置文件中通过路由树配置的。

2、抑制

抑制是指当警报发出后,停止重复发送由此警报引发其他错误的警报的机制。

例如,当警报被触发,通知整个集群不可达,可以配置Alertmanager忽略由该警报触发而产生的所有其他警报,这可以防止通知数百或数千与此问题不相关的其他警报。

抑制机制可以通过Alertmanager的配置文件来配置。

3、沉默

沉默是一种简单的特定时间静音提醒的机制。一种沉默是通过匹配器来配置,就像路由树一样。传入的警报会匹配RE,如果匹配,将不会为此警报发送通知。

沉默机制可以通过Alertmanager的Web页面进行配置。

二、部署

一、官方下载链接:https://prometheus.io/download/,按需安装,如下是windows系统:
监控之星-普罗米修斯Prometheus搭建
二、双击启动
监控之星-普罗米修斯Prometheus搭建
出现如下黑窗口
监控之星-普罗米修斯Prometheus搭建
四、浏览器访问:http://192.168.180.208:9093/#/alerts,注意,其中的地址是部署服务器的IP地址,以你的设备地址为准
监控之星-普罗米修斯Prometheus搭建
但是,目前没有数据
五、接下来修改Server端配置报警规则和altermanager地址

修改prometheus添加altermanager配置,推荐用yml自带的alerting,减少因书写问题导致失效,配置是否成功,可通过重启prometheus是否正常进行判断,闪退为配置错误。
监控之星-普罗米修斯Prometheus搭建

美化:prometheus换一个面板

一、官方下载链接:https://grafana.com/grafana/download,出现如下界面:
监控之星-普罗米修斯Prometheus搭建
二、进行安装部署
监控之星-普罗米修斯Prometheus搭建文章来源地址https://www.toymoban.com/news/detail-476848.html

到了这里,关于监控之星-普罗米修斯Prometheus搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)

    zabbix是传统的监控系统,出现比云原生早,使用的是SQL关系型数据库;而Prometheus基于谷歌的borgemon使用go语言开发,使用TSDB数据库,所以支持云原生。zabbix最新发布的6.0版本,知道自己处于生死存亡时刻,也支持了Prometheus使用的TSDB数据库。 Prometheus 是一个开源的服务监控系

    2024年02月03日
    浏览(44)
  • Docker 部署普罗米修斯监控

    Docker 部署普罗米修斯监控 介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控报警时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作。Google SRE的书内

    2024年02月12日
    浏览(32)
  • Promethus(普罗米修斯)监控系统

    Prometheus(由go语言(golang)开发)是一套开源的监控报警时间序列数据库的组合。适合监控docker容器。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。 Overview | Prometheus 时间序列数据(TimeSeries Data) : 按照时间顺序记录系统、设备状态变化的数据被称为时序数据。 应用的场景很多

    2024年02月03日
    浏览(44)
  • Python圈的普罗米修斯——一套近乎完善的监控系统

    普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统。当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的监控系统,即普罗米修斯。 普罗米修斯(下称普罗)的作者 Matt T.Proud 在2012年加入SoundCloud公司,他从

    2024年02月07日
    浏览(38)
  • Prometheus+Grafana 监控平台实践-搭建&常用服务监控&告警

    Prometheus 是一个开放性的监控解决方案,通过各种 Exporter 采集当前主机/服务的数据,和 Grafana 相结合可以实现强大的监控和可视化功能 本篇将分享使用 docker compose 构建 Prometheus+Grafana,并监控之前文章所搭建的主机服务,分享日常使用的一些使用经验 文章较长,已安装可略

    2024年02月05日
    浏览(57)
  • Prometheus + Grafana 搭建监控仪表盘

    目标要求 1、需要展现的仪表盘: SpringBoot或JVM仪表盘 Centos物理机服务器(实际为物理分割的虚拟服务器)仪表盘 2、展现要求: 探索Prometheus + Grafana搭建起来的展示效果,尽可能展示能展示的部分。 监控系统核心:prometheus-2.45.0.linux-amd64.tar 下载地址:https://github.com/prometheus

    2024年04月23日
    浏览(47)
  • SpringBoot+Prometheus+Grafana搭建应用监控系统

    SpringBoot的应用监控方案比较多,SpringBoot+Prometheus+Grafana是比较常用的一种解决方案,主要的监控数据的处理逻辑如下: SpringBoot 的 actuator 提供了应用监控端点,可以对外暴露监控数据信息。 Prometheus 是监控系统,可以从 Springboot 采集监控数据,以时序数据的形式存储,并对外

    2024年01月22日
    浏览(57)
  • JVM监控环境搭建之Grafana+Prometheus+Micrometer

    SpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控内存状况、CPU、Bean加载情况、配置属性、日志信息、线程情况等。 使用步骤: 导入依赖坐标 访问监控地址: http://127.0.0.1:9001/actuator 监控应用endpoint: 路径 描述 默认开启 /beans 显示容器的全部的

    2024年01月25日
    浏览(55)
  • 在k8s集群内搭建Prometheus监控平台

    Prometheus由SoundCloud发布,是一套由go语言开发的开源的监控报警时间序列数据库的组合。 Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控

    2024年02月14日
    浏览(54)
  • 【云原生】Prometheus 监控系统的初步了解与系统搭建

    promethues是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。

    2024年02月08日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包