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

搭建购物网站企业网站模板库

搭建购物网站,企业网站模板库,宾馆网站制作,夏家胡同网站建设介绍:Prometheus 是一个开源的 监控与告警系统,主要用于采集和存储时间序列数据(Time Series Data) Prometheus的自定义查询语言PromQL Metric类型 为了能够帮助用户理解和区分这些不同监控指标之间的差异,Prometheu…

介绍:Prometheus 是一个开源的 监控与告警系统,主要用于采集和存储时间序列数据(Time Series Data)

Prometheus的自定义查询语言PromQL

Metric类型

为了能够帮助用户理解和区分这些不同监控指标之间的差异,Prometheus定义了4中不同的指标类型(metric type):Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)、Summary(摘要)

1、Counter:只增不减的计数器

计数器是一种只增不减(除非重置)的累加值,适合用来记录某些事件发生的总次数。

特点: 值只能递增(或重置为 0)、 常用于统计单调递增的指标。

场景:HTTP 请求总数(如 http_requests_total)、已处理任务的总数、 错误发生的总次数、用户访问量

# 查询总数:
http_requests_total
# 计算速率(每秒请求数)
rate(http_requests_total[5m])

2、Gauge:可增可减的仪表盘

Gauge 是一种值可以上下波动的数据类型,适合用来表示某些瞬时状态值。

特点:值可以增大或减小、适合表示当前状态,例如资源使用情况。
场景:当前内存使用量(如 memory_usage_bytes)、当前 CPU 使用率(如 cpu_usage_percentage)、当前并发连接数、磁盘使用量、内存使用量

3、Histogram和Summary分析数据分布情况

Histogram和Summary主用用于统计和分析样本的分布情况

实践

Prometheus函数

rate函数

rate函数 是专门搭配 counter 函数使用的
功能:按照设置一个时间段,取counter在这个时间段中的 平均每秒的增量。
node_network_receive_bytes_total即网络接受字节数为例,这个就是counter类型。这个counter被rate函数包上以后 就可以获取在1分钟之内,平均每秒的增量了即 rate( node_network_receive_bytes_total[1m])

increase函数

在 Prometheus 中,increase() 函数用于计算给定时间窗口内一个计数器的增量。它计算的是时间序列在指定时间范围内的增量(变化量),即数据点的“增加”部分。与 rate() 不同,increase() 更侧重于计算累计量的增长,而不是每秒的速率。

语法

increase(<metric>[<range>])
<metric>Prometheus 中的一个计数器指标,比如 node_cpu_seconds_total。
<range>:时间范围,用来定义增量的计算范围,常见的时间范围单位有 1m(1 分钟)、5m(5 分钟)、1h(1 小时)等。

举例:
increase(node_cpu_seconds_total{mode="idle"}[1m])为例。
计算过去 1 分钟内 node_cpu_seconds_total 的增量,也就是在这段时间内,CPU 空闲时间总共增加了多少秒。

时间(秒)node_cpu_seconds_total{mode=“idle”}
t15000
t25050

t1 时,CPU 空闲时间累计为 5000 秒。
t2 时,CPU 空闲时间累计为 5050 秒。
如果你计算 increase(node_cpu_seconds_total{mode="idle"}[1m]),则计算的是过去 1 分钟内 node_cpu_seconds_total 增长的部分
increase(node_cpu_seconds_total{mode="idle"}[1m]) = 5050 - 5000 = 50 秒 这表示在过去 1 分钟内,CPU 空闲时间增加了 50 秒。

docekr安装prometheus

安装步骤

1、 拉取prometheus镜像
docler pull prom/prometheus
2、配置文件

global:scrape_interval: 15sevaluation_interval: 15salerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093rule_files:# - "first_rules.yml"# - "second_rules.yml"scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']- job_name: 'node_exporter'static_configs:- targets: ['192.168.31.142:9100']- job_name: 'cloud'metrics_path: '/actuator/prometheus'scrape_interval: 5sstatic_configs:- targets: ['10.2.0.187:8080']

3、启动一个prometheus容器

docker run  -d --name prometheus -p 9090:9090 -v /Users/liuyuanyuan/docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

4、mac 精准查找ip命令
ifconfig en0 | grep inet| awk ‘{print $2}’
5、访问地址
http://localhost:9090/
在这里插入图片描述

安装node-exporter

1、docker pull prom/node-exporter
2、运行容器

docker run -d --name node-exporter --restart=always -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter

3、访问地址
http://127.0.0.1:9100/metrics
在这里插入图片描述
说明成功。
4、配置到Prometheus中
记住mac要写的是ip地址(获取mac本机地址)ifconfig en0 | grep inet| awk '{print $2}'而不是localhost不然好像配置不生效

global:scrape_interval: 15sevaluation_interval: 15salerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093rule_files:# - "first_rules.yml"# - "second_rules.yml"scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']- job_name: 'node_exporter'static_configs:- targets: ['192.168.31.142:9100']- job_name: 'cloud'metrics_path: '/actuator/prometheus'scrape_interval: 5sstatic_configs:- targets: ['10.2.0.187:8080']

加上之后我们看下内存使用率
node_memory_MemFree_bytes
在这里插入图片描述

node_cpu_seconds_total

解释:cpu使用率
第一个问题:时间增量
cpu底层是时间的累积。所以用Counter 刚好满足这个情况,其中increase()函数 在Prometheus 中 专门针对 Counter 这种持续增长的数值,截取其中一段时间的增量 increase(node_cpu[1m])这个意思就是 30分钟内 每1分钟就会对增量取一个值。这样就能获取cpu在1分钟内时间的增量了
第二个问题:实际工作中cpu都是多核
我们在实际中不关心每个cpu核而是看整个cpu表现,此时Prometheus有另一个函数sum() 对结果集加和 比如 sum( increase(node_cpu[1m]) ) 直接统计所有核数值累加

全部cpu时间:node_cpu_seconds_total
在这里插入图片描述

空闲cpu时间:node_cpu_seconds_total{mode="idle"}
在这里插入图片描述

空闲cpu1分钟的增量: increase(node_cpu_seconds_total{mode="idle"}[1m])
在这里插入图片描述

全部cpu1分钟的增量:sum(increase(node_cpu_seconds_total{mode="idle"}[1m]))
在这里插入图片描述

这里有个问题 他怎么变成1条线了?我们是多台服务器进行数据采集,因为sum函数的原因,sum函数他是把所有结果集全部加和了不光把每台机器的cpu核加一起了 还把所有机器的cpu核也加到一起了。最终变成 服务器集群总cpu平均高值了,这显然不是我们的效果。
怎么解决呢?引入函数 by (instance)
它可以按照结果集进行拆分 instance 就是按照机器拆分。
单台机器cpu1分钟的增量:(sum(increase(node_cpu_seconds_total[1m])) by (instance))
结果:
在这里插入图片描述
很明显你看到了左下角有机器分组了,你可以看上一个sum结果明显没有对结果集分组。
所以空闲的的1分钟时间增量:
(sum(increase(node_cpu_seconds_total{mode="idle"}[1m])) by (instance))
那么cpu利用率就知道了:

(1 - ((sum(increase(node_cpu_seconds_total{mode="idle"}[1m])) by (instance)) / (sum(increase(node_cpu_seconds_total[1m])) by (instance)))) * 100

在这里插入图片描述

http://www.dtcms.com/wzjs/593344.html

相关文章:

  • 网站流量推广网页界面设计想法
  • 湖南 中小企业 网站建设建设银行网站注册企业
  • 购物网站设计目标定制网站建设宝安西乡
  • 招工网站怎么做360搜索入口
  • 网站开发规格静态网站有哪些
  • 网站模板怎么改网站建设静态部分实训总结
  • 微信门户网站开发wordpress建站 图片
  • 网站上点击图片局部放大如何做网站建设技术部职责
  • 建设投资公司网站wordpress2019谷歌字体
  • 临淄网站建设东莞网站建设(信科网络)
  • 做一个什么样的网站网站内的搜索是怎么做的
  • 永久免费自助建站推荐深圳做高端企业网站建设公司
  • idc网站模板文登做网站的公司
  • 网站新闻前置审批wordpress文章页文件
  • 学编程软件东营做网站优化
  • 长沙网站制作培训常州百度公司
  • 招聘网站开发的公司wordpress添加文档
  • 哪有做建筑设计的网站个人网页制作成品 模板
  • 济南多语言网站建设成都微信网站建设推广
  • 360提示危险网站原因温州seo优化公司
  • 网站建设需要用到的软件开发阜宁做网站的公司电话
  • 手机网站模板cms网站建设的公司名称
  • 番禺区怎么做网站建设上海频道网站建设
  • 站长工具网站备案查询网站 68
  • 做暧暖网站室内设计公司取名字大全集
  • 做装修网站公司网站开发我们都能解决
  • 网站改版模版做ppt图片网站 知乎
  • 左侧导航网站甘肃住房与城乡建设部网站
  • 网站制作公司茂名网站建设的网络
  • 网站建设的项目亮点怎么写做公司网站有用吗