首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Marathon/Mesos实现Prometheus动态端口服务发现

Marathon/Mesos是一种用于容器编排和集群管理的开源框架。它可以帮助用户在云计算环境中高效地管理和调度应用程序。

Prometheus是一种开源的监控和警报工具,用于收集和存储系统和服务的时间序列数据。它提供了丰富的查询语言和灵活的图形化界面,使用户能够对系统进行实时监控和分析。

动态端口服务发现是指在运行时自动发现和注册服务的能力。使用Marathon/Mesos实现Prometheus动态端口服务发现的过程如下:

  1. 在Marathon中定义和部署Prometheus服务:首先,我们需要在Marathon中创建一个应用程序定义,指定Prometheus的容器镜像和相关配置。可以使用Marathon的REST API或Web界面来完成这个步骤。
  2. 使用Marathon的健康检查功能:Marathon可以定期检查Prometheus服务的健康状态。如果Prometheus服务不可用,Marathon将自动重新启动它。
  3. 使用Mesos的动态端口分配功能:Mesos可以为Prometheus服务动态分配端口。这意味着每次重新启动Prometheus服务时,它都会被分配一个新的端口号。
  4. 使用Marathon的服务发现功能:Marathon提供了服务发现功能,可以将Prometheus服务的地址和端口信息注册到Marathon的服务发现机制中。这样,其他应用程序或服务就可以通过Marathon来发现和访问Prometheus服务。

优势:

  • 灵活性:Marathon/Mesos提供了灵活的容器编排和集群管理功能,可以根据实际需求动态调整和扩展Prometheus服务。
  • 可靠性:Marathon/Mesos具有高可用性和容错性,可以自动监控和管理Prometheus服务的健康状态。
  • 动态端口分配:Mesos的动态端口分配功能可以确保每次重新启动Prometheus服务时,它都会被分配一个新的端口号,避免端口冲突问题。

应用场景:

  • 分布式系统监控:使用Marathon/Mesos实现Prometheus动态端口服务发现可以方便地监控分布式系统中的各个组件和服务。
  • 微服务架构监控:对于采用微服务架构的应用程序,使用Prometheus进行动态端口服务发现可以实时监控和分析各个微服务的性能和健康状态。

推荐的腾讯云相关产品:

  • 腾讯云容器服务(Tencent Kubernetes Engine,TKE):腾讯云提供了基于Kubernetes的容器服务,可以方便地部署和管理Marathon/Mesos集群。
  • 腾讯云监控服务(Cloud Monitor):腾讯云的监控服务可以与Prometheus集成,提供更全面的监控和告警功能。

更多关于Marathon/Mesos和Prometheus的详细信息,请参考以下链接:

  • Marathon官方网站:https://mesosphere.github.io/marathon/
  • Mesos官方网站:http://mesos.apache.org/
  • Prometheus官方网站:https://prometheus.io/
  • 腾讯云容器服务(TKE)产品介绍:https://cloud.tencent.com/product/tke
  • 腾讯云监控服务(Cloud Monitor)产品介绍:https://cloud.tencent.com/product/monitor
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Prometheus 服务的自动发现使用

前面我们了解了 Prometheus 中 Relabeling 重新标记的使用,本文我们将学习 Prometheus 中是如何使用服务发现来查找和抓取目标的。...所以我们需要监控系统能够动态感知这个变化,不可能每次变动都去手动重新配置的,为了应对复杂的动态环境,Prometheus 也提供了与基础设施中的服务发现集成的功能。...:10002 我们将 demo 服务注册到 Consul,然后配置 Prometheus 从 Consul 中发现演示服务实例,并使用 Relabeling 操作来过滤调整目标标签。...,但是这里我们只是简单演示 Prometheus 基于 Consul 的服务发现,这里只使用 Consul 配置文件静态注册服务即可。...这样我们就完成了基于文件的通用服务发现机制,可以让我们动态地改变 Prometheus 的监控目标,而不需要重新启动或重新加载 Prometheus 服务

5.8K50

Prometheus 通过 consul 实现自动服务发现

Consul 5、配置 Prometheus 实现自动服务发现 6、配置 relabel_configs 实现自定义标签及分类 1、Consul 介绍 Consul 是基于 GO 语言开发的开源工具...之前我们通过 Prometheus 实现监控,当新增一个 Target 时,需要变更服务器上的配置文件,即使使用 file_sd_configs 配置,也需要登录服务器修改对应 Json 文件,会非常麻烦...基于 Consul 实现自动服务发现。...agent/service/deregister/node-exporter 5、配置 Prometheus 实现自动服务发现 现在 Consul 服务已经启动完毕,并成功注册了一个服务,接下来,我们需要配置...Prometheus使用 Consul 自动服务发现,目的就是能够将上边添加的服务自动发现Prometheus 的 Targets 中,增加 prometheus.yml 配置如下: ...

12K70
  • 「容器云平台」Mesos 和 Kubernetes的比较

    Marathon 正如我们刚才看到的,Mesos非常灵活,允许框架通过定义良好的api来调度和执行任务。然而,直接实现这些原语并不方便,尤其是当我们想调度定制应用程序时。...Marathon提供了一些我们通常期望从编排平台获得的好处,如服务发现、负载平衡、度量和容器管理api。 Marathon将长时间运行的服务视为应用程序,将应用程序实例视为任务。...5.4 服务发现和负载平衡 Mesos DNS可以为应用程序提供服务发现和基本的负载平衡。Mesos DNS为每个Mesos任务生成SRV记录,并将其转换为运行该任务的机器的IP地址和端口。...对于Marathon应用程序,我们还可以使用Marathon-lb使用HAProxy提供基于端口发现。 在Kubernetes部署可以动态地创建和销毁pod。...因此,我们通常通过服务在Kubernetes中公开pod,服务提供服务发现。Kubernetes中的服务充当pods的调度器,因此也提供负载平衡。

    3.5K20

    OpenShift Prometheus(Operator)对接应用监控数据实践

    概要 最近在实施一个项目,将客户从原有的数人云 mesos+marathon 迁移至 Openshift,迁移的主要原因有两个,一是现有mesos+marathon平台出现故障时能够解决问题的人不多(数人云已被收购...),能够查找的相关资料也少,运维成本很高,用openshift,是企业级产品,并且社区也活跃,有问题解决问题的成功率也大大提升了,如果再买红帽的订阅服务或人天服务,还能够有红帽原厂或红帽合作伙伴的大力支持...;二是现在很多开源的软件部署方式都大力支持K8S和openshift,当客户想要快速搭建环境时,mesos+marathon平台就捉襟见肘了。...需求 客户原有的 mesos+marathon 监控用的是prometheus,应用本身暴露了一个数据采集接口给prometheus进行采集,现在上了openshift,自然使用openshift的prometheus...,openshift的prometheus使用的是operator进行部署,和原来的部署配置方式有些差异,接下来就进行对接配置。

    94730

    Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)

    也是一种私有的Pass,实现服务发现,为部署提供提供REST API服务,有授权和SSL、配置约束,通过HAProxy实现服务发现和负载平衡 4)Docker:Docker 是一个开源的应用容器引擎,...Mesos失败恢复和高可用性 Mesos服务使用Zookeeper进行服务选举和发现。它有一个注册器记录了所有运行任何和从服务器信息,使用MultiPaxos进行日志复制实现一致性。...也是一种私有的Pass,实现服务发现,为部署提供提供REST API服务,有授权和SSL、配置约束,通过HAProxy实现服务发现和负载平衡。 ?...Marathon可以为一个Application创建和管理多个实例,并可以动态的增大和减小某个Application实例的个数,并且通过Marathon-lb实现服务发现和负载均衡。...可以指定所有有效的端口号为服务端口,也可以用0表示Marathon应该自动分配的可用服务端口给应用程序使用。如果你选择自己的服务端口,你必须自己确保,这个端口在所有应用程序中是唯一的。

    2.6K50

    Mesos+Zookeeper+Marathon的Docker管理平台部署记录(2)--负载均衡marathon-lb

    mesos提供了两个工具:mesos-dns和marathon-lb,他们俩是mesosphere 官网提供的两种服务发现和负载均衡工具,其中: mesos-dns是一个服务发现工具,marathon-lb...不仅是服务发现工具,还是负载均衡工具。...鉴于Mesos-DNS有如下诸多缺陷: 1)DNS无法识别服务端口,除非使用SRV查询(SRV记录它是DNS服务器的数据库中支持的一种资源记录的类型,它记录了哪台计算机提供了哪个服务这么一个简单的信息)...所以现在一般不推荐使用Mesos-DNS作为服务发现工具,而是推荐使用marathon-lb,marathon-lb是可以起到与Mesos-DNS同样作用。...3)由于servicePort非80、443端口(80、443端口已被marathon-lb中的 haproxy独占),对于web服务来说不太方便,可以使用 haproxy虚拟主机解决这个问题: 在提供

    1.5K90

    利用Mesos构建多任务调度系统

    背景 公司内部的云平台为各个业务线提供了大量的实体机和虚拟机来运行业务的服务,经过统计发现,这些分配给业务的机器cpu, memory等资源利用并不充分; 如果能够充分利用这些机器上的空闲资源同时又能保证业务服务的正常运行...Executor来运行task, 并限定资源使用; 在Mesos上可以运行Spark, Storm, Hadoop, Marathon等多种Framework; Mesos系统架构:http://mesos.apache.org...Agent所能使用的计算资源 自行开发了Monitor程序,和Agent一同部署在业务机器上,周期性的监测机器上可用资源和Agent本身所用资源; Mesos为我们提供了动态资源保留这个超实用的功能,...; 本想着到这里这个问题就结束了,测试时发现Agent并不能在线实时调整这个动态资源保留,需要在配置文件时更新好当前能够使用动态资源,然后重启Agent; 重启Agent是我们不能忍受的,因此我们修改了源码...和mesos-agent(或mesos-master)一起部署,上报监控信息到prometheus使用grafana来展示; mesos本身为我们提供了很丰富的http api来获取当前集群的属性,状态

    1.3K50

    docker Mesos 安装与使用

    mesos,节点,master,Mesos,marathon Mesos 安装与使用Mesos 结合 Marathon 应用框架为例,来看下如何快速搭建一套 Mesos 平台。...Marathon 是可以跟 Mesos 一起协作的一个 framework,基于 Scala 实现,可以实现保持应用的持续运行。...一般在生产环境中,需要启动多个 Mesos master 服务(推荐 3 或 5 个),并且推荐使用 supervisord 等进程管理器来自动保持服务的运行。...:latest 接下来,可以通过访问本地 8080 端口使用 Marathon 启动任务了。...注意区分 hostPort 和 servicePort,前者代表任务映射到的本地可用端口(可用范围由 Mesos slave 汇报,默认为 31000 ~ 32000);后者作为服务管理的端口,可以被用作一些服务发行机制使用进行转发

    67710

    如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平台

    Mesos概述 Apache Mesos 是一款基于多资源(内存、CPU、磁盘、端口等)调度的开源集群管理套件,能使容错和分布式系统更加容易使用。...Marathon Marathon是一个Mesos框架,能够支持运行长服务,比如web应用等。...也是一种私有的Pass,实现服务发现,为部署提供提供REST API服务,有授权和SSL、配置约束,通过HAProxy实现服务发现和负载平衡。...;B是这个服务器的IP地址;C为与集群中的Leader服务器交换信息的端口;D是在leader挂掉时专门进行Leader选举时所用的端口。...--http_address 0.0.0.0 //将Marathon安装到多Mesos-master环境的master主机上 2.访问Marathon(默认使用8080端口) http://192.168.26.150

    61320

    Mesos+Marathon+Docker构建docker集群化管理

    然而随着业务的规模不断扩大,对docker的管理和维护也对运维人员有一些挑战,使用一些开源的框架和服务满足互联网公司的基本需求是一种常见而高效的方式,本篇文章就简单介绍一下使用Mesos+Marathon...主控(Mesos-master)负责决定给每个应用分配多少资源,而应用框架(部署在mesos-slave上的服务)的调度器才会真正选择使用哪些被分配到的资源。...ZooKeeper是用来给集群服务维护配置信息,域名服务,提供分布式同步和提供组服务。所有这些类型的服务使用某种形式的分布式应用程序。...是一个分布式的,开放源码的协调服务,是的Chubby一个的实现,是Hadoop和Hbase的重要组件。...4.2 使用marathon创建nginx的docker容器,使用mesos进行调度。 注意:marathon启动的时候会根据mesos的信息链接zk。

    1.7K50

    『高级篇』docker之Mesos集群架构图(23)

    Mesos Master 是通过zookeeper实现高可用的,通过zookeeper来进行选组,Marathon也是通过zookeeper来找到对应的主节点通信,本人的mac本的内存只有8g,所以就一个...Server01 和 Server03 上边运行 Mesos Slave Marathon这个Framework框架运行在Server02上,主要充当服务的调度和服务发现,老铁也可以运行多个Marathon...在不同机器上实现高可用,它跟Marathon进行通信实现服务的调度。...订阅Marathon的组件,知道Marathon管理的Mesos下的所有Slave的状态,以及对外的ip和端口号。...最后在主机上运行一个浏览器,浏览器通过Marathon lb去访问到我们所有的服务。 PS:最基础的Mesos架构图我们就画好了,下次开始服务环境的构建。

    44750

    DCOS之Marathon应用管理篇

    首先,我们介绍Marathon对App实现手动扩缩的功能,选择Scale Application进行快速扩容,如下图所示,填写10,即可将App扩展到10个Task。 ?...可以使用docker对应用进行高效快捷的部署,在下述应用实例中,使用docker部署一简单web应用:使用Docker的python:3镜像,启动一个容器内部端口8080的服务,网络模式选择bridge...图 3-8 Task分配到的端口 通过图3-6可以发现,Port Mappings包括Container Port、Host Port、Service Port、Protocol等字段,图3-7可以发现...hostPort:host Port指定主机绑定端口,当使用BRIDGE网络,需要指定从主机端口到容器端口的port mapping,当使用HOST网络,请求端口默认为主机端口。...protocol:协议指定使用端口(比如tcp、udp) servicePort:Marathon不绑定此端口,其被用作服务发现

    81210

    通过Shodan发现目标应用Marathon服务的RCE漏洞

    大家好,今天要和大家分享的是,作者在Shodan搜索中发现某应用系统Marathon服务的无需密码验证bug,进一步提权形成RCE漏洞。...Marathon是一个生产级别的容器(Docker)编排平台,用于中间层的数据中心操作系统(DC/OS)和Apache Mesos。...Marathon算是一个基于Mesos的私有PaaS,它实现Mesos的Framework,Marathon通过HAProxy实现服务发现和负载平衡,并为部署环境提供提供REST API服务、授权和SSL...因此,我就按照“ssl:Redacted” “X-Marathon-Leader”这样的语法,在Shodan中进行查找,最后,还真发现了一些有意思的东西,如以下两个搜索结果: ?...这样一来,我就可以在我自己的服务器上来部署监听上述Marathon服务的实例了,通过此种方法,间接实例对Marathon服务的的远程代码执行(RCE),方法如下: 1、在我自己的服务器上设置对端口55555

    97400

    Prometheus 通过 consul 分布式集群实现自动服务发现

    Prometheus 通过 Consul 可以很方便的实现服务自动发现和维护,同时 Consul 支持分布式集群部署,将大大提高了稳定性,通过 Prometheus 跟 Consul 集群二者结合起来,...来负载均衡 Consul 集群,最后分别验证配置 Prometheus 基于 Consul 集群来实现自动服务发现。...3、Consul 分布式集群搭建 Consul 单机安装很方便,官网 提供各个系统版本二进制安装包,解压安装即可,可以参照之前文章 Prometheus 通过 consul 实现自动服务发现 文章来安装...实现自动服务发现 接下来,我们配置 Prometheus使用 Consul 集群来实现自动服务发现,目的就是能够将添加的服务自动发现Prometheus 的 Targets 中,详细配置说明可以参考之前文章...Prometheus 通过 consul 实现自动服务发现 中的配置,在修改 Prometheus 配置之前,我们需要往 Consul 集群中注册一些数据。

    2.1K21

    『高级篇』docker之Mesos调整微服务(25)

    上次已经搭建了mesos的集群环境,这次看看如何把mesos运行在集群之上,首选需要考虑的问题服务发现,之前用docker-compose是如何在同一台机器上做的,是不是通过link的名称,link的前提就是需要在同一台主机上...mesos服务发现 基于marathon-lb的发现机制,它需要给每个服务定义一个服务端口,注册到marathon-lb上,我们通过访问marathon-lb的时候,就会转发到服务提供者的ip和端口...,比较集中式的服务发现,所有的服务都是通过marathon-lb,他们的区别就是端口不同。...mesos-dns,它是通过名字来发现服务,原理就是多台slave机器都需要运行mesos-dns,通过跟mesos交互获取到每个服务对应的ip和端口号。...在本机添加一条记录,方便相互的访问,但是mesos-dns 在hub.docker.com二年多都不更新了。废弃这种方式了。使用第一种方式。 ?

    58010

    mesos+marathon端口占用问题 原

    marathon有两个应用动态端口划分的范围配置字段 --local_port_max --local_port_min 另外在mesos的agent上有一个resources的字段,里面也可以设置端口的范围...原则上应用首先按照marathon的配置进行端口随机划分,但是到了agent会根据具体的host上的情况,再次按照resources的设置分派并上报给marathonmesos master (上面的结论是我猜的...) 另外在文档 Port Mapping Network Isolator一节中有提到 sysctl net.ipv4.ip_local_port_range 这个系统参数控制了应用可以使用的所有随机端口的范围...mesos启动docker应用之后会随机启动一个mesos-docker-excuter的进程来控制docker容器,并维持其到agent的通信,excuter使用端口就来源ip_local_port_range...这样来讲,应用的端口最合理的就是不能和系统的端口划分范围冲突才行

    44710

    7条命令在Docker中部署Mesos集群

    所有使用的Docker容器构建文件是有也。您可以在本地构建每个容器或只使用位于Docker Hub预构建的容器。下面的命令会自动下载所需的预建的容器为您服务。.../ Marathon — https://registry.hub.docker.com/u/garland/mesosphere-docker-marathon/ 第1步:获取Docker服务器的IP...docker run -d \ -p 2181:2181 \ -p 2888:2888 \ -p 3888:3888 \ garland/zookeeper 第3步:启动Mesos服务器 docker...“网页 这取决于你如何把你的Docker服务器,它的IP地址,你可能需要改变你的浏览器指向的IP,但端口是相同的。...第8步:检查工作/任务运行 让检查工作/任务不断在Mesos从运行。 在Docker服务器中运行以下命令。它将把你内心的奴隶容器,并从那里尾出output.txt的文件。

    34610

    服务架构学习(一)之架构概览

    服务设施层 假设服务A需要调用服务B,那么A服务如何获取服务B的地址(例如IP和端口)呢?在传统的单块架构中,服务数量很少,尚可采用同在配置中写死IP、端口的方法来解决这个问题。...Marathon集群:Marathon是构建在Mesos集群上的一套容器集群管理软件。想使用Marathon,先要部署一套底层的Mesos。...对于大型公司,特别是已经部署了Mesos的Hadoop集群的公司来说,这种搞法可以提升机器复用程度。但对于中小规模的企业而言,Mesos + Marathon多少有一些“”高射炮打蚊子“的感觉。...2、服务注册与发现: 为了简化实现难度,我们将借助Kubernetes内置的服务和虚拟端口功能,来实现服务的注册与发现。换句话说,我们将服务注册与发现的能力,下推一层到运维平台层。...我们选用Prometheus作为数据的收集和查询系统,Grafana作为监控可视化平台。我们会探讨如何向Prometheus发送自定义的监控数据。

    67220

    实例演示:如何利用服务发现机制实现服务的“动态”调用?

    前面两篇(《服务如何能被”发现”》和《客户端如何能够“探测”到可用的服务?》)我们分别介绍了可被发现服务如何被发布,以及客户端如果探测可用的服务。...接下来我们通过一个简单的例子来演示如果创建和发布一个可被发现服务,客户端如何在不知道服务终结点地址的情况下动态探测可用的服务并调用之。...假设客户端不知道服务的终结点地址,需要通过服务发现机制进行动态的探测。最终通过探测返回的终结点地址动态的创建服务代理对服务发起调用。...我们不需要对客户端程序添加任何配置,可用服务的探测和调用完全通过如下的代码来实现。...1: x + y = 3 when x = 1 and y = 2 DynamicEndpoint 在上面的例子中我们演示客户端在不知道目标服务地址的情况下如何服务发现机制进行服务动态调用。

    63060
    领券