自动化性能监控系统Prometheus&Grafana实战

Prometheus算是一个全能型选手,原生支持容器监控,当然监控传统应用也不是吃干饭的,所以就是容器和非容器他都支持,所有的监控系统都具备这个流程,数据采集→数据处理→数据存储→数据展示→告警,本文就是针对Prometheus展开的,所以先看看Prometheus概述Prometheus概述展开目录先来看一下Prometheus是个啥Prometheus是什么展开目录中文名普罗米修斯,最初在SoundCloud上构建的监控系统,自2012年成为社区开源项目,用户非常活跃的开发人员和用户社区,2016年加入CNCF,成为继kubernetes之后的第二个托管项目,官方网站Prometheus特点展开目录官方扒过来的多维数据模型:由度量名称和键值对标识的时间序列数据PromSQL:—种灵活的查询语言,可以利用多维数据完成复杂的查询不依赖分布式存储,单个服务器节点可直接工作基于HTTP的pull方式釆集时间序列数据推送时间序列数据通过PushGateway组件支持通过服务发现或静态配罝发现目标多种图形模式及仪表盘支持(grafana)Prometheus组成与架

自动化性能监控系统Prometheus&Grafana实战_第1张图片
WebUI简单的WEB控制台集成了数据的采集,处理,存储,展示,告警一系列流程都已经具备了数据模型展开目录Prometheus将所有数据存储为时间序列,具有相同度量名称以及标签属于同个指标,也就是说Prometheus从数据源拿到数据之后都会存到内置的TSDB中,这里存储的就是时间序列数据,它存储的数据会有一个度量名称,譬如你现在监控一个nginx,首先你要给他起个名字,这个名称也就是度量名,还会有N个标签,你可以理解名称为表名,标签为字段,所以,每个时间序列都由度量标准名称和一组键值对(也称为标签)唯一标识。时间序列的格式是这样的,{=,…}metricename指的就是度量标准名称,labelname也就是标签名,这个标签可以有多个,例子jvm_memory_max_bytes{area=“heap”,id=“TenuredGen”,}这个度量名称为jvm_memory_max_bytes,后面是两个标签,和他们各对应的值,当然你还可以继续指定标签,你指定的标签越多查询的维度就越多。指标类型展开目录看表格吧类型名称说明Counter递增计数器,适合收集接口请求次数Guage可以任意变化的数值,适用CPU使用率Histogram对一段时间内数据进行采集,并对有所数值求和于统计数量Summary与Histogram类型类似任务和实例展开目录实例指的就是你可以抓取的目标target,这个会在Prometheus配置文件中体现,任务是具有相同目标的实例集合,你可以理解为是一个组(比如,订单服务多台实例机器,可以放入一个任务里,分多个实例target抓取),一会写配置文件的时候会详细解析,下面开始安装Prometheus。Prometheus部署我们借助docker来安装,新建目录docker-monitor,在里面创建文件docker-compose.yml,内容如下

自动化性能监控系统Prometheus&Grafana实战_第2张图片
自动化性能监控系统Prometheus&Grafana实战_第3张图片

你可能感兴趣的:(Java研究,项目实战专题研究,自动化,运维,kubernetes)