网站建设公司有哪些原,疫苗最新官方消息,如何自己做一个网页,网站建设电1、标准先行#xff0c;注重生态
Prometheus 最重要的规范就是指标命名方式#xff0c;数据格式简单易读。比如#xff0c;对于应用层面的监控#xff0c;可以要求必须具备这几个信息。
指标名称 metric
Prometheus 内置建立的规范就是叫 metric#xff08;即 __name__…1、标准先行注重生态
Prometheus 最重要的规范就是指标命名方式数据格式简单易读。比如对于应用层面的监控可以要求必须具备这几个信息。
指标名称 metric
Prometheus 内置建立的规范就是叫 metric即 __name__。如果是 Counter 类型单调递增的值指标名称以 _total 结尾。
服务名称 service
服务名称 service 要全局唯一比如 n9e-webapip8s-alertmanager一般是系统名称加上模块名称组成最终的服务名称。
实例名称 instance
一个服务一般会部署多个实例可以直接使用机器名或 Pod 名作为 instance 名称。如果在物理机部署有实例混部的情况就要把端口加上比如实例一是 10.1.2.3:3306实例二是 10.1.2.3:3307。
服务类型 job
比如所有的 MySQL 的监控数据都统一打上 jobmysql 的标签Redis 的监控数据就打上 jobredis 的标签。如果是自研的模块也可以使用 webserver backend frontend 这种分类方式。
地域可用区 zone
把地域信息放到标签里有个巨大的好处比如某个 zone 出问题了就比较容易看出来带有某个特定的 zone 的指标数据异常快速执行切流止损即可。有了 zone 的信息region 就可有可无了zone 的前缀一般就是 region。
集群名称 cluster
有的时候一个可用区会部署多个集群特别是一些中间件比如 ElasticSearch给每个重要的业务单独部署一个集群一个大公司可能有几百套 ElasticSearch 集群几千套 ZooKeeper 集群。
环境类型 env
环境类型 env 用来标识是生产环境还是测试环境。当然了如果监控系统不复用推荐这么做生产用生产的监控系统测试用测试的监控系统就无需这个标签了。
2、主要使用拉模式
Prometheus 主要使用拉模式获取指标辅以推模式Pushgateway 的职能。很多监控系统都是推模式比如 Datadog、Open-Falcon、TelegrafInfluxDB 组合。 拉模式有个最重要的优势就是解耦。Prometheus 支持各种服务发现机制尤其是基于 Kubernetes 的服务发现机制是最常见的。如果服务没有部署在 Kubernetes 中而是部署在传统物理机或虚拟机上这个时候就需要使用 Consul 之类的服务发现机制。
中间件类使用拉模式自研的服务使用推模式自研的服务如果都接入了注册中心则也可以使用拉模式。
3、监控目标动态发现机制
云原生之后基础设施动态化监控目标的创建、销毁都比较频繁就需要有一个更自动化的机制来获取监控目标列表。
Prometheus 内置了多种服务发现机制最常见的有四种。
基于配置文件的发现机制这种方式看起来很低端其实非常常用因为可以配合配置管理工具一起使用非常方便。使用配置管理工具批量更新配置然后让监控系统重新加载一下就可以了比较丝滑。基于 Kubernetes 的发现机制Kubernetes 中有很多元信息通过调用 kube-apiserver可以轻易拿到 Pod、Node、Endpoint 等列表Prometheus 内置支持了 Kubernetes 的服务发现机制让这个过程变得更简单Prometheus 基本成为了 Kubernetes 监控的标配。基于公有云 API 的发现机制比如要监控公有云上所有的 RDS 服务一条一条配置比较麻烦这个时候就可以基于公有云的 OpenAPI 做一个服务发现机制自动拉取相关账号下所有 RDS 实例列表大幅降低管理成本。基于注册中心的发现机制社区里最为常用的是 Consul典型场景是 PING 监控和 HTTP 监控把所有目标注册到 Consul 中然后读取 Consul 生成监控对象列表即可。
4、基于配置文件的管理方式
Prometheus 的告警规则管理、记录规则管理、抓取配置管理与发送策略管理全部是基于配置文件的这虽然不是一个关键设计但确实是一个非常有特色的设计。
这个方式有两个好处一个是简单简单到令人发指很多监控系统都是使用数据库来存储各类配置的Prometheus 则直接使用 Yaml 文件非常直观。第二个好处就是便于自动化配合配置管理工具、Git、Kubernetes 等与 Infrastructure as Code 的管理风潮非常契合。
可以把各个 Prometheus 中的核心关键指标抽取到一个统一的地方来呈现比如使用 Prometheus 联邦机制只共享核心指标其余指标不需要抽取到中心自己团队消化就好。
5、灵活的查询语言
PromQLPrometheus Query Language是 Prometheus 的查询语言非常灵活。这也是 Prometheus 的一个关键设计。
采集侧是无法穷举所有计算场景的采集侧应该采集原始数据后续的二次计算还是应该放到中心来搞定。
PromQL 为二次计算提供了能力支持多个指标的关联计算、多条件联合告警都可以用 PromQL 来实现作为现代监控系统Query Language 已经是必备要求了。 此文章为7月Day30学习笔记内容来源于极客时间《运维监控系统实战笔记》推荐该课程。