first commit
This commit is contained in:
commit
ba848e218d
1001 changed files with 152333 additions and 0 deletions
27
Prometheus/alertmanager.md
Normal file
27
Prometheus/alertmanager.md
Normal 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']
|
||||
```
|
9
Prometheus/docker启动.md
Normal file
9
Prometheus/docker启动.md
Normal 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
|
||||
```
|
1
Prometheus/predict_linear函数.md
Normal file
1
Prometheus/predict_linear函数.md
Normal file
|
@ -0,0 +1 @@
|
|||
预测函数,根据增长曲线,预测资源合适用完
|
17
Prometheus/shell推送数据到push-gateway.md
Normal file
17
Prometheus/shell推送数据到push-gateway.md
Normal 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
|
||||
```
|
5
Prometheus/启动参数配置.md
Normal file
5
Prometheus/启动参数配置.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
```
|
||||
--storage.tsdb.retention.time=STORAGE.TSDB.RETENTION.TIME: 保存数据的时间,默认是15天(15d)
|
||||
--storage.tsdb.retention.size=STORAGE.TSDB.RETENTION.SIZE: 存储大小
|
||||
|
||||
```
|
31
Prometheus/基础知识.md
Normal file
31
Prometheus/基础知识.md
Normal 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
16
Prometheus/配置.md
Normal 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 收集资源配置
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue