当前位置: 首页 > 科技观察

全面介绍Prometheus官方导出器Blackbox_0

时间:2023-03-13 01:51:40 科技观察

【.com速译】众所周知,Prometheus是一个开源的、基于指标的监控系统。它可以通过强大的数据模型和查询语言分析应用程序和基础架构的执行和状态。目前,Prometheusstack由几个部分组成,包括:负责存储和提供数据的Prometheusserver,负责管理警报的alarmmanager,以及大量专门执行收集指标任务的Prometheusexporter。导出器允许远程Prometheus服务器通过从应用程序获取统计信息并将它们发布到特定端点(通常是特定端口和路径)来收集此类指标。在应用社区中,我们可以很容易地得到各种导出器。有些作为官方PrometheusGitHub组织的一部分进行维护,其他则由外部贡献者维护。我们要介绍的Blackbox是由Prometheus组织维护的官方exporter。作为导出工具,Blackbox可协助系统管理员执行日常任务,例如检查HTTP/S、DNS、TCP和ICMP端点的可用性。简而言之,我们可以将PrometheusBlackbox导出器视为PingDOM、Freshping或Uptime.com等工具的免费、简单的替代品,这些工具可用于监控未暴露在Internet上的内部端点。为什么需要PrometheusBlackbox?PrometheusBlackboxexporter的主要功能是检测远程内部和外部端点在HTTP/S、DNS、TCP和ICMP方面的响应时间。捕获的具体指标包括:HTTP延迟——访问远程端点需要多长时间?DNS查找延迟-解析DNS记录需要多长时间?SSL证书信息-远程端点安全吗?它是否持有有效证书?什么时候?TLS版本-远程端点使用什么版本的TLS?基本身份验证-是否可以在远程端点上运行简单的网络场景,如身份验证?HeaderValidation-是否可以在HTTPheaders中找到Requiredparameters?它的标头是否符合安全合规性?这些指标是应用基础设施的重要组成部分。我们需要通过持续监控各种面向客户的(外部)和内部端点来确保应用程序服务的连续性和某些安全认证的合规性。应用程序通常需要在代码中显式添加各种客户端库,以暴露要检测的指标。另一方面,Blackbox隐式验证DNS解析、网络连接和证书颁发机构(CA)等外部服务的状态,并侧重于测试应用程序性能。因此,Blackbox通常部署在Kubernetes集群上,提供免费、高度可用的监控流程,以实现对远程端点的全面可见性。如何部署与其他Prometheus导出器类似,Blackbox可以部署在任何操作系统上,或作为容器部署。但是,由于其主要目的是监控应用程序基础设施的关键方面,我强烈建议您将其部署在容器编排平台上,并利用以下优势:高可用性–作为最重要的方面,确保监控的可用性工具,是每个管理员的头等大事。可扩展性——根据所需检查的数量,Blackbox可以按需扩展。可移植性——由于无法预测应用程序基础设施的演变,我们需要确保该工具能够以不同的方式在本地或云端顺利部署。这是其作为监控堆栈的另一个重要方面。灵活性——能够轻松地与现有平台(如Kubernetes)集成。这是该工具的一大优势。由于Blackbox是GitHub上Prometheus组织管理的官方导出器,因此Helm图表可以轻松部署到Kubernetes集群。具体的设置和部署见如下命令行:DeployPrometheus由于默认安装后自带了一个简单的HTTP探针,我们可以很方便的开始对不同的HTTP/S端点进行监控。PrometheusBlackbox的默认安装带有一个简单的WebUI,可以轻松访问每个健康检查服务的日志。您可以在Helm图表中启用入口规则以打开对UI的访问并调试各种Web检查:为什么以及如何使用KubernetesServiceMonitor与Blackbox进行健康检查如今,监控不再只是一个专门团队的任务。它倾向于分布在协作团队中,以确保覆盖应用程序架构的每个部分。因此,我们只需要让整个监控过程更容易理解,更容易经常使用。为此,Prometheusoperator引入了一个名为ServiceMonitor的新Kubernetes对象。该资源可用于描述Prometheus监控的一组目标,而无需在Prometheus服务器端进行任何额外配置。通过这种自动配置新Prometheus目标的简单方法,服务器能够找到任何配置有特定标签的KubernetesServicesMonitor并自动将其添加到其当前列表(默认情况下,它使用标签“release=kube-prometheus-堆”)。我们建议您将ServiceMonitor对象与Blackbox结合使用来监视各种内部和外部端点。值得注意的是,添加新的检测节点是一个单独创建的对象,与Prometheus服务器的配置是分开的。这意味着任何想要部署新应用程序的操作员都可以独立管理对其应用程序的监控,而无需管理员干预配置Prometheusscratch。这种设计的主要好处是它分担了运维人员的责任来监控每个部署资源。如以下配置所示,BlackboxHelmchart还可以通过ServiceMonitor轻松创建和管理任何新的监控目标。可用于服务监控的BlackboxHelm图表作为上述配置命令的结果,将创建三个不同的ServiceMonitor对象,并带有特定标签:kube-prometheus-stack。每个对象都专用于配置新的Prometheus目标。如何绘制数据图表Blackbox附带一个WebUI,可提供有关测定的信息。但是,无法一致地使用UI来监视多个端点的状态。在这方面,为了将Prometheusexporter收集的指标绘制成图表,我们需要根据默认选项将Grafana与Prometheus集成。具体来说,我们可以通过以下两个Blackbox仪表盘构建可读性强的数据图表。9115-blackbox-在单个图表中提供所有受监控端点的整体概览,以快速获取每个端点的状态。PrometheusBlackboxExporter-在每个端点的专用部分中提供每个受监控端点的概述。当然,我们也可以将上述仪表盘组合在一起,通过优化和渲染,一站式呈现数据,避免同一数据源的仪表盘数量翻倍。如果您想了解更多仪表板类型,请参阅--https://grafana.com/grafana/dashboards?search=blackbox。通过合并两个仪表板以获得更好的可视化和摘要作为新的导出器,Blackbox可以轻松部署在Prometheus平台上以检测应用程序基础架构的关键指标。通过将其与Grafana仪表板动态结合,我们不仅可以提高SLA检测的质量,还可以为执行团队提供应用程序基础架构的整体视图。如果您有兴趣了解有关PrometheusBlackbox的更多信息,请参阅:Github存储库在Kubernetes上部署Blackbox的Helmchart使用BlackboxExporter和Sysdig监控可用性指标Prometheus和BlackboxExporter如何启用监控微服务端点GettingstartedwithPrometheusoperatormadesimpleandfreeOriginal标题:普罗米修斯黑匣子:什么?