监控之星-普罗米修斯Prometheus搭建
导图
含义
Prometheus是一个开源系统监控和警报工具包,最初在 SoundCloud构建。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。它现在是一个独立的开源项目,独立于任何公司维护。为了强调这一点,并明确项目的治理结构,Prometheus 于 2016 年加入云原生计算基金会,成为继Kubernetes之后的第二个托管项目。
普罗米修斯的主要特点是:
- 具有由度量名称和键/值对标识的时间序列数据的多维数据模型;
- PromQL,一种利用这种维度的灵活查询语言;
- 不依赖分布式存储;单个服务器节点是自治的;
- 时间序列收集通过HTTP上的拉模型进行;
- 通过中间网关支持推送时间序列;
- 通过服务发现或静态配置发现目标;
- 多种图形模式和仪表板支持。
架构
大多数 Prometheus 组件都是用Go编写的,这使得它们易于构建和部署为静态二进制文件。
地位
Prometheus现在在Github有4w多的star,基本上过万星的开源工具,可以认为是社区里绝对的主流,社区也相当活跃,可以有大量的经验可以借鉴。在企业级系统中,可以放心的使用。
原理
Prometheus
是由 SoundCloud
开发的开源监控报警系统和时序列数据库。从字面上理解,Prometheus 由两个部分组成,一个是监控报警系统
,另一个是自带的时序数据库(TSDB)
。
来下载我吧
感觉难点在于下载该资源,总是下载失败
官网:https://prometheus.io/
后面发现是谷歌浏览器不行,换个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系统:
二、双击应用即可出现黑窗口
三、然后,浏览器上输入:http://192.168.180.208:9090/,就出现下述界面,是不是炒鸡简单,如下就是安装的普罗米修斯了。注意,180.208地址是安装监控服务器的地址,按照你的设备地址来的。
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、配置如下语句,仅添加红框中的命令,主要要按照书写要求书写
2、双击重启监控端208的prometheus(修改了它的配置文件,肯定要重启激活)
若配置yml配置没有正确,比如:
prometheus是无法成功启动的,会出现闪退现象。
正确配置后,就可以出现黑窗口了。
3、启动被监控端209上面的exporter服务
4、会出现如下
4、尝试解决“Down”的问题
测试两个地址见的端口连通性,仅测试监控端208到被监控端209的9150端口是否连通(这里是因为防火墙限制了端口间访问,如果设置有问题,方便时可直接关闭防火墙)
显示是正常的
所以,怀疑是209服务器上的exporert有问题
但是过段时间,又自动恢复up了。
把209的exporter服务关闭,208监控端会出现报错,启动exporter服务,监控恢复了
换成台210服务器和merncached_exporter试试(控制变量法,仅改变了被监控端的设备)
操作同上,不赘述,仅仅截图
成功了
换成台210服务器和haproxy_exporter试试
操作同上,不赘述,仅仅截图
依旧出现“down”现象,重启了两端服务多次了,检查配置与上述的209是一样的,只能等等了。
补充,需要对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系统:
二、双击启动
出现如下黑窗口
四、浏览器访问:http://192.168.180.208:9093/#/alerts,注意,其中的地址是部署服务器的IP地址,以你的设备地址为准
但是,目前没有数据
五、接下来修改Server端配置报警规则和altermanager地址
修改prometheus添加altermanager配置,推荐用yml自带的alerting,减少因书写问题导致失效,配置是否成功,可通过重启prometheus是否正常进行判断,闪退为配置错误。
文章来源:https://www.toymoban.com/news/detail-476848.html
美化:prometheus换一个面板
一、官方下载链接:https://grafana.com/grafana/download,出现如下界面:
二、进行安装部署
文章来源地址https://www.toymoban.com/news/detail-476848.html
到了这里,关于监控之星-普罗米修斯Prometheus搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!