0%

kubectl patch crd/此处写CRD的名字 -p '{"metadata":{"finalizers":[]}}' --type=merge

两种都可以不用在 hosts 中添加域名解析即可完成测试.

方法1

curl -H "Host: whoami.local.com" http://192.168.1.32:31532/whoami

方法2

curl --resolve whoami.local.com:31532:192.168.1.32 whoami.local.com:31532/whoami

Prometheus 定义了 4 中不同的指标类型 (metric type):Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)、Summary(摘要).

Counter

  • Counter 用于累计值,例如 记录 请求次数、任务完成数、错误发生次数
  • 一直增加,不会减少
  • 重启进程后,会被重置
# http响应总数
http_response_total{method="GET",endpoint="/api/tracks"} 100

Gauge

  • Gauge 常规数值,例如 温度变化、内存使用变化
  • 可增可减的仪表盘
  • 重启进程后,会被重置
# 如cpu、内存使用量
memory_usage_bytes{host="master-01"} 80
cpu_usage{host="master-01"} 60

Histogram

  • 对记录的内容进行分组,提供 count 和 sum 全部值
  • 直接反应了在不同区间内样本的个数
# 如:prometheus_tsdb_compaction_chunk_range_bucket 指标
# HELP prometheus_tsdb_compaction_chunk_range Final time range of chunks on their first compaction
# TYPE prometheus_tsdb_compaction_chunk_range histogram
prometheus_tsdb_compaction_chunk_range_bucket{le="100"} 0
prometheus_tsdb_compaction_chunk_range_bucket{le="400"} 0
prometheus_tsdb_compaction_chunk_range_bucket{le="1600"} 0
prometheus_tsdb_compaction_chunk_range_bucket{le="6400"} 0
prometheus_tsdb_compaction_chunk_range_bucket{le="25600"} 0
prometheus_tsdb_compaction_chunk_range_bucket{le="102400"} 0
prometheus_tsdb_compaction_chunk_range_bucket{le="409600"} 0
prometheus_tsdb_compaction_chunk_range_bucket{le="1.6384e+06"} 260
prometheus_tsdb_compaction_chunk_range_bucket{le="6.5536e+06"} 780
prometheus_tsdb_compaction_chunk_range_bucket{le="2.62144e+07"} 780
prometheus_tsdb_compaction_chunk_range_bucket{le="+Inf"} 780
prometheus_tsdb_compaction_chunk_range_sum 1.1540798e+09
prometheus_tsdb_compaction_chunk_range_count 780

Summary

  • 提供 count 和 sum 全部值
  • 提供一个 quantiles 的功能,可以按%比划分跟踪的结果
  • 例如:quantile 取值 0.95,表示取采样值里面的 95% 数据
# HELP prometheus_tsdb_wal_fsync_duration_seconds Duration of WAL fsync.
# TYPE prometheus_tsdb_wal_fsync_duration_seconds summary
prometheus_tsdb_wal_fsync_duration_seconds{quantile="0.5"} 0.012352463
prometheus_tsdb_wal_fsync_duration_seconds{quantile="0.9"} 0.014458005
prometheus_tsdb_wal_fsync_duration_seconds{quantile="0.99"} 0.017316173
prometheus_tsdb_wal_fsync_duration_seconds_sum 2.888716127000002
prometheus_tsdb_wal_fsync_duration_seconds_count 216

从上面的样本中可以得知当前 Prometheus Server 进行 wal_fsync 操作的总次数为 216 次,耗时 2.888716127000002s。其中中位数(quantile=0.5)的耗时为 0.012352463,9 分位数(quantile=0.9)的耗时为 0.014458005s。

DATE_SUB() 函数

DATE_SUB(date,INTERVAL expr type)
type 值
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR

示例

select * from xxx_table where create_time > DATE_SUB(NOW(),INTERVAL 1 HOUR);

nginx 配置

默认情况下 nginx 已经安装了 ngx_http_auth_basic_module 模块.

server {
    #监听端口号
    listen       8081;
    auth_basic "config Auth";
    #用户密码文件地址
    auth_basic_user_file    /etc/nginx/passwd.db;
    location / {
       #代理地址
        proxy_pass http://192.168.31.1:8080/;
        proxy_redirect default;
    }
}

auth_basic_user_file 和 auth_basic 也可以放到 server -> location 内.

其中 auth_basic_user_file 可以使用 htpasswd 在linux生成.

htpasswd 使用

# 安装
yum -y install httpd-tools
# 生成
htpasswd -bc /etc/nginx/passwd.db admin Mima@123