first commit

This commit is contained in:
iProbe 2022-10-18 16:59:37 +08:00
commit ba848e218d
1001 changed files with 152333 additions and 0 deletions

View file

@ -0,0 +1,27 @@
建立警告与通知的主要步骤:
```
创建和配置AlertManager
启动prometheus时通过-alertmanager.url配置alertmanager地址使prometheus与alertmanager建立链接
```
#### 创建配置文件alertmanager.yaml
```
global:
resolve_timeout: 5m
route:
group_by: ['ops']
group_wait: 10s #组报警等待时间
group_interval: 10s #组报警间隔时间
repeat_interval: 1m #重复报警间隔时间
receiver: 'web.hook'
receivers:
- name: 'web.hook'
webhook_configs:
- url: 'http://10.211.55.2:8888/open/test'
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
```

View file

@ -0,0 +1,9 @@
```
docker run --name=prometheus -d \
-p 9090:9090 \
-v /home/chenqionghe/promethues/server/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /home/chenqionghe/promethues/server/rules.yml:/etc/prometheus/rules.yml \
prom/prometheus:v2.7.2 \
--config.file=/etc/prometheus/prometheus.yml \
--web.enable-lifecycle
```

View file

@ -0,0 +1 @@
预测函数,根据增长曲线,预测资源合适用完

View file

@ -0,0 +1,17 @@
举例如下:
推送一个指标:
```
echo "cqh_metric 100" | curl --data-binary @- http://ubuntu-linux:9091/metrics/job/cqh
```
推送多个指标:
```
cat <<EOF | curl --data-binary @- http://10.211.55.25:9091/metrics/job/cqh/instance/test
# 锻炼场所价格
muscle_metric{label="gym"} 8800
# 三大项数据 kg
bench_press 100
dead_lift 160
deep_squal 160
EOF
```

View file

@ -0,0 +1,5 @@
```
--storage.tsdb.retention.time=STORAGE.TSDB.RETENTION.TIME: 保存数据的时间默认是15天15d
--storage.tsdb.retention.size=STORAGE.TSDB.RETENTION.SIZE: 存储大小
```

View file

@ -0,0 +1,31 @@
Prometheus提供了4中不同的Metrics类型: Counter, Gauge, Histogram, Summary。
#### Counter:只增不减的计数器
```
计数器可以用于记录只会增加不会减少的指标类型,比如记录应用请求的总量cpu使用时间等。
对于Counter类型的指标只包含一个inc()方法,用于计数器+1。
一般而言Counter类型的metrics指标在命名中我们使用_total结束如http_requests_total。
```
#### Gauge: 可增可减的仪表盘
```
对于这类可增可减的指标,可以用于反应应用的当前状态。
例如在监控主机时主机当前空闲的内存大小可用内存大小。或者容器当前的cpu使用率,内存使用率。
对于Gauge指标的对象则包含两个主要的方法inc()以及dec(),用户添加或者减少计数。
```
#### Histogram自带buckets区间用于统计分布统计图[直方图]
```
主要用于在指定分布范围内(Buckets)记录大小或者事件发生的次数。
```
#### Summary: 客户端定义的数据分布统计图
```
Summary和Histogram非常类型相似都可以统计事件发生的次数或者大小以及其分布情况。
Summary和Histogram都提供了对于事件的计数_count以及值的汇总_sum。 因此使用_count,和_sum时间序列可以计算出相同的内容例如http每秒的平均响应时间rate(basename_sum[5m]) / rate(basename_count[5m])。
同时Summary和Histogram都可以计算和统计样本的分布情况比如中位数9分位数等等。其中 0.0<= 分位数Quantiles <= 1.0。
不同在于Histogram可以通过histogram_quantile函数在服务器端计算分位数。 而Sumamry的分位数则是直接在客户端进行定义。因此对于分位数的计算。 Summary在通过PromQL进行查询时有更好的性能表现而Histogram则会消耗更多的资源。相对的对于客户端而言Histogram消耗的资源更少。
```
Prometheus采用时序数据库存储数据所有的存储都是按时间序列去实现的相同的 metrics(指标名称) 和 label(一个或多个标签) 组成一条时间序列不同的label表示不同的时间序列。为了支持一些查询有时还会临时产生一些时间序列存储。
每条时间序列是由唯一的 指标名称 和 一组 标签 key=value的形式组成。指标名称 一般是给监测对像起一名字,例如 http_requests_total 这样它有一些命名规则可以包字母数字_之类的的。通常是以应用名称开头_监测对像_数值类型_单位这样。
如果以传统数据库的理解来看这条语句,则可以考虑 http_requests_total是表名标签是字段而timestamp是主键还有一个float64字段是值了Prometheus里面所有值都是按float64存储

16
Prometheus/配置.md Normal file
View file

@ -0,0 +1,16 @@
### prometheus配置热加载的方法
```
kill -HUP pid
curl -X POST http://IP/-/reload [配置了--web.enable-lifecycle=true]
```
### global 全局配置
```
scrape_interval: 收集targets时间间隔。也可以为单独的target设置
evaluation_interval执行rule的时间间隔
```
### rule_files 本地需要加载的规则
### scrape_configs 收集资源配置