乐云践新在北京市网站设计领域进展如何?

摘要:北京网站设计权威乐云践新,网站建设进展情况汇报,深圳酒店品牌设计公司,苏州企业建站系统模板当主机较少时,在抓取配置中手动列出它们的IP地址和端口是常见的做法,但不适用于较大规模的集
北京网站设计权威乐云践新,网站建设进展情况汇报,深圳酒店品牌设计公司,苏州企业建站系统模板当主机较少时#xff0c;在抓取配置中手动列出它们的IP地址和端口是常见的做法#xff0c;但不适用于较大规模的集群。尤其不适用使用容器和基于云的实例的动态集群#xff0c;这些实例经常会变化、创建或销毁的情况。 Prometheus通过使用服务发现解决了这个问题#xff1…当主机较少时在抓取配置中手动列出它们的IP地址和端口是常见的做法但不适用于较大规模的集群。尤其不适用使用容器和基于云的实例的动态集群这些实例经常会变化、创建或销毁的情况。 Prometheus通过使用服务发现解决了这个问题通过自动化的机制来检测、分类和识别新的和变更的目标。服务发现可以通过以下几种机制实现 从配置管理工具生成的文件中接收目标列表。查询API例如AWS API以获取目标列表使用DNS记录以便返回目标列表 5.1 静态配置的局限性 在了解服务发现的工作原理前先回顾下数据抓取的生命周期。如下图所示当Prometheus 开始作业时第一步就是服务发现这将生成作业将要抓取的目标和元数据标签列表。 在现有的配置中服务发现机制是在static_configs块中定义的。 scrape_configs:config.- job_name: prometheusstatic_configs:- targets: [localhost:9090]- job_name: nodestatic_configs:- targets: [localhost:9600]- job_name: dockerstatic_configs:- targets: [localhost:8080] 从上可以看出目标列表和关联标签都是采用手动服务发现的方式。可以看到在繁杂的工作中维护一长串主机列表并不是一个可扩展的任务。特别是对于大多数动态的集群环境监控这些大集群的中的主机、应用程序和服务的规模静态配置及其不方便。 选择成熟的服务发现机制显得尤为重要常见的服务发现机制有 基于文件的方式基于云的方式基于DNS的方式 5.2 基于文件进行服务发现 相比静态配置进行服务发现而言基于文件的发现会更先进些。借助基于文件的服务发现Prometheus 会使用文件中指定的目标。这些文件通常由另一系统生成例如Puppet、Ansible或Chef等配置管理系统或者从其他源如CMDB查询。定期执行脚本或进行查询可以重新生成这些文件。Prometheus 会按指定的时间计划从这些文件重新加载目标。 这些文件可以是YAML或JSON格式包含定义的目标列表就像我们在静态配置中定义它们一样。让我们从将现有作业迁移到基于文件的服务发现开始。 scrape_configs:- job_name: prometheusfile_sd_configs:- files:- targets/prometheus/*.jsonrefresh_interval: 5m- job_name: nodefile_sd_configs:- files:- targets/node/*.jsonrefresh_interval: 5m- job_name: dockerfile_sd_configs:- files:- targets/docker/*.jsonrefresh_interval: 5m我们用file_sd_configs块替换prometheus.yml文件中的 static_configs块。在这些块中已经指定了文件列表并包含在files列表中。我们在父目录targets下为每个作业指定对应的文件并为每个作业创建一个子目录。你可以创建适合你的任何文件结构。 然后使用*.json的glob样式来指定文件。每当这些文件发生更改时系统都将从此目录中所有以.json结尾的文件加载目标。我们选择JSON格式因此它是一种方便使用各种语言和集成来编写的流行格式。 每次作业运行或这些文件发生变化时Prometheus都会重新加载文件的内容。以防万一我们还指定了refresh_interval选项该选项将在每个间隔结束加载文件列表中的目标——对这个示例来说是5分钟。 让我们快速创建上述的目录结构。 sudo mkdir targets sudo mkdir targets/{prometheus,node,docker} 将prometheus、节点和Docker守护进程列表移动到新的JSON文件创建三个文件类保存这些目标。
阅读全文