运维监控系统介绍Prometheus是SoundCloud开源的监控告警解决方案,特别适用于容器化监控。架构图Prometheus的特点是多维数据模型,包括带有key/value标识标签的时间序列数据;PromQL,一种灵活的查询语言,内置的函数可以让我们快速计算并得到我们想要的结果;不依赖分布式存储,默认为本地存储,也可以选择远程读写;通过http请求拉取(pull)exporter数据;通过网关(gateway)推送(push)数据;配置可以通过服务发现或者静态配置来发现监控目标;各种Graphics和dashboard的支持方式,尤其是grafana的支持,让我们可以快速完成漂亮的图表。数据格式prometheus存储时间序列数据:即按照相同的时间序列(同名同标签),在时间维度上存储一组连续的数据。时间序列由一个名称(Metric)和一组键/值标签定义,相同的名称和标签属于同一个时间序列。指标名称:表示要记录的数据的名称和数据类型,如http_request_total。时间序列的名称由ASCII字符、数字、下划线和冒号组成。它必须满足正则表达式[a-zA-Z:][a-zA-Z0-9:]*,并且它的名字要有语义,一般表示一个可以衡量的metric,比如http_requests_total,可以表示总数http请求的数量。Label:用来表示一类资源。比如同一个cluster可以使用同一个label,通过label可以得到整个cluster的同一个指标。指标值:按照一定的时间序列在时间维度上采集的数据称为样本。实际时间序列,每个序列包含一个float64值和一个毫秒级别的unix时间戳Prometheus四种指标类型1.计数器(计算器):单调递增的指标,即只增不减,除非监控系统发生重置。2.Gauge(仪表板):可以任意变化的指标,可以增加也可以减少。3.直方图(histogram):采样一段时间内的数据并统计到一个可配置的桶中,然后通过指定的区间过滤样本,或者统计样本总数,最后将数据显示为直方图,其值样本分布在多个桶中,命名为
