当前位置: 首页 > wzjs >正文

网站开发流程比较合理企业管理培训课程定制

网站开发流程比较合理,企业管理培训课程定制,北京一环都是住什么人,泉州网站排名优化文章目录 本篇内容讲解采集段解释 本篇内容讲解 采集段静态配置的解释static_configs解析相关源码 采集段解释 采集段是以job为单位配置的&#xff0c;服务器中查看prometheus配置如下&#xff1a; # 采集配置段 scrape_configs:# The job name is added as a label job<…

文章目录

    • 本篇内容讲解
    • 采集段解释

本篇内容讲解

  • 采集段静态配置的解释
  • static_configs解析相关源码

采集段解释

采集段是以job为单位配置的,服务器中查看prometheus配置如下:

# 采集配置段
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["localhost:9090"]

target页面查看此job:
在这里插入图片描述在页面上观察配置文件可以看到补全信息,如下:

- job_name: prometheus# true代表使用原始数据的时间戳,false代表使用prometheus采集器的时间戳honor_timestamps: true# 多久执行一次采集,就是这个job 多久执行一次scrape_interval: 15s# 采集的超时scrape_timeout: 15s# 就是采集target的 metric暴露 http path,默认是/metrics ,比如探针型的就是/probemetrics_path: /metrics# 采集目标的协议 是否是httpsscheme: http# 是否跟踪 redirect follow_redirects: truestatic_configs:- targets:- localhost:9090

查看源码,在prometheus/config/config.go可以看到全量的配置项:

type ScrapeConfig struct {// The job name to which the job label is set by default.JobName string `yaml:"job_name"`// Indicator whether the scraped metrics should remain unmodified.HonorLabels bool `yaml:"honor_labels,omitempty"`// Indicator whether the scraped timestamps should be respected.HonorTimestamps bool `yaml:"honor_timestamps"`// A set of query parameters with which the target is scraped.Params url.Values `yaml:"params,omitempty"`// How frequently to scrape the targets of this scrape config.ScrapeInterval model.Duration `yaml:"scrape_interval,omitempty"`// The timeout for scraping targets of this config.ScrapeTimeout model.Duration `yaml:"scrape_timeout,omitempty"`// The HTTP resource path on which to fetch metrics from targets.MetricsPath string `yaml:"metrics_path,omitempty"`// The URL scheme with which to fetch metrics from targets.Scheme string `yaml:"scheme,omitempty"`// An uncompressed response body larger than this many bytes will cause the// scrape to fail. 0 means no limit.BodySizeLimit units.Base2Bytes `yaml:"body_size_limit,omitempty"`// More than this many samples post metric-relabeling will cause the scrape to// fail.SampleLimit uint `yaml:"sample_limit,omitempty"`// More than this many targets after the target relabeling will cause the// scrapes to fail.TargetLimit uint `yaml:"target_limit,omitempty"`// More than this many labels post metric-relabeling will cause the scrape to// fail.LabelLimit uint `yaml:"label_limit,omitempty"`// More than this label name length post metric-relabeling will cause the// scrape to fail.LabelNameLengthLimit uint `yaml:"label_name_length_limit,omitempty"`// More than this label value length post metric-relabeling will cause the// scrape to fail.LabelValueLengthLimit uint `yaml:"label_value_length_limit,omitempty"`// We cannot do proper Go type embedding below as the parser will then parse// values arbitrarily into the overflow maps of further-down types.ServiceDiscoveryConfigs discovery.Configs       `yaml:"-"`HTTPClientConfig        config.HTTPClientConfig `yaml:",inline"`// List of target relabel configurations.RelabelConfigs []*relabel.Config `yaml:"relabel_configs,omitempty"`// List of metric relabel configurations.MetricRelabelConfigs []*relabel.Config `yaml:"metric_relabel_configs,omitempty"`
}

疑问: 为何在上述ScrapeConfig配置段中没有找到 static_configs配置项?
继续查找源码,在prometheus/discovery/registry.go中找到,

configFields = append(configFields, reflect.StructField{}) // Add empty field at end.copy(configFields[i+1:], configFields[i:])                 // Shift fields to the right.configFields[i] = reflect.StructField{                     // Write new field in place.Name: fieldName,Type: reflect.SliceOf(elemType),Tag:  reflect.StructTag(`yaml:"` + yamlKey + `,omitempty"`),}

看到这里 在registry.go中 的init 函数会在包自动导入的时候注册static_configs 到configFields中,所有服务发现都会在各自包中的init方法自动注册自己。
追查 configFields是干什么用的?
prometheus\config\config.go文件中,ScrapeConfig实现了 yaml的Unmarshaler接口 中的UnmarshalYAML方法,所以在yaml解析的时候 ScrapeConfig字段时会调用这个UnmarshalYAML方法。

func (c *ScrapeConfig) UnmarshalYAML(unmarshal func(interface{}) error) error {*c = DefaultScrapeConfigif err := discovery.UnmarshalYAMLWithInlineConfigs(c, unmarshal); err != nil {return err}

UnmarshalYAMLWithInlineConfigs中 调用 getConfigType,getConfigType方法中操作了configFields结构体。
总结:

  • ScrapeConfig使用指定的UnmarshalYAML方法
  • 当中会去判断采用的是静态配置还是 服务发现的
  • 这样写的好处是不需要通过if-else判断,而且每种服务发现的配置是不一样的

文章转载自:

http://uYX5SSUu.wdcph.cn
http://BZ2F0Xip.wdcph.cn
http://OlTfJ79l.wdcph.cn
http://szSPPr7W.wdcph.cn
http://cc3mtjzE.wdcph.cn
http://sUfQeIng.wdcph.cn
http://o8oi6uvI.wdcph.cn
http://EEeImXhU.wdcph.cn
http://H63XwEE8.wdcph.cn
http://6QXxRA3R.wdcph.cn
http://BJ0Sfmm9.wdcph.cn
http://Eu0nAZXG.wdcph.cn
http://HpOKy9sT.wdcph.cn
http://TjfAHklm.wdcph.cn
http://S7IbC0VE.wdcph.cn
http://awIv8Mdh.wdcph.cn
http://uRdefuHd.wdcph.cn
http://Fyc3C3gG.wdcph.cn
http://3f1VIJ4q.wdcph.cn
http://mO96Wub0.wdcph.cn
http://HurFInB5.wdcph.cn
http://pUxNQX1I.wdcph.cn
http://mjbdM039.wdcph.cn
http://daPB2yqt.wdcph.cn
http://bPvxhZXz.wdcph.cn
http://fzSruSFx.wdcph.cn
http://SIIQRrOE.wdcph.cn
http://69mM7EJJ.wdcph.cn
http://1F3NIVuy.wdcph.cn
http://TArzIu8N.wdcph.cn
http://www.dtcms.com/wzjs/665926.html

相关文章:

  • 做侵权视频网站自己怎样做广告链接
  • 淘宝网站制作多少钱长春网站建设技术托管
  • php网站开发用什么ide湘潭网站建设企业
  • 网站域名查企业邮箱自适应网站建设电话
  • 建筑施工证查询网站网站受攻击
  • 辽阳市网站建设网站假设教程
  • 建站知乎网站建设公司哪家好 在线磐石网络
  • 商业网站模板下载唐山网站建设设计
  • 做网站盐城商城网站建设招聘
  • 网站建设站花西子的网络营销策略
  • 英文网站seo如何做广东餐饮品牌设计
  • 网站开发培训哪里好凡科网让经营更简单
  • 网站建设预算知乎烟花代码编程python
  • 娄底网站推广微博推广的好处
  • 常平东莞网站设计外网不能访问wordpress
  • 有什么好的网站设计思想的博客做网站muse好还是DW好用
  • 一个网站备案号是冒用其它公司的重庆做网站的
  • 国外旅游网站排名番禺做网站
  • 上海网站建设乐云seo韩国网站建站
  • 免费发布信息网网站公司网络维修
  • 墨星写作网站app下载江西核工业建设有限公司网站
  • 给人做ppt的网站吗两学一做专题网站素材
  • 云县网站建设关于进一步加强门户网站建设
  • 做网站阿里云买哪个服务器好点广州做和改版网站的公司
  • 做网站的心得体会搜索引擎优化行业
  • 查询建设资质的网站建购物网站多少钱
  • 自己做视频网站怎么处理高并发网站截图环境 php
  • 光明新区城市建设局网站今天发生的国际新闻
  • 宁波高端网站建设公司wordpress如何转换为中文版
  • 微信公众号移动网站开发深圳注册公司费用