监控
使用 Upptime 无成本监控服务可用性
· ☕ 4 分钟
1. 什么需要拨测服务 今年 GPT 大火,我也部署、开发了几个应用、小程序进行学习。当然,秉承帮助厂商测试功能的原则,目前只有 GPT 3.5 的 API 每天有少许费用,服务器、数据库、带宽都是免费的。 为了节省成本,我没有测试环境,每次提交代码,只要能编译成功就会直接发布

使用集群内 Prometheus 采集 Etcd 指标
· ☕ 1 分钟
1. 跳过证书校验无法获取监控 如果指标抓取时,能跳过 TLS 认证是最便捷的。其 Prometheus 的 ConfigMap 配置如下: 1 2 3 4 5 6 7 8 9 - job_name: etcd metrics_path: /metrics scheme: https tls_config: insecure_skip_verify: true static_configs: - targets: ["1.1.1.1:2379"] - targets: ["2.2.2.2:2379"] - targets: ["3.3.3.3:2379"] 但 Prometheus Targets 报错 Get "https://3.3.3.3:2379/metrics": remote error: tls: bad certificate 在 targets 页面的报错如下图: 2. curl 验证抓取请求 跳过证书 1 2 3 curl https://1.1.1.1:2379/metrics -k curl: (35) error:1401E412:SSL routines:CONNECT_CR_FINISHED:sslv3 alert bad certificate 这

如何估算 Prometheus 的本地存储和内存消耗
· ☕ 2 分钟
1. 本地存储容量 所需磁盘大小(GB) = 数据保留时长 _ 每秒获取指标数量 _ 指标数据大小 / 1024 / 1024 / 1024 其中 每秒获取指标数量 rate(prometheus_tsdb_head_samples_appended_total[1d]) 一个小时内样本的平均大小 rate(prometheus_tsdb_compaction_chunk_size_bytes_sum[1d])/rate(prometheus_tsdb_compaction_chunk_samples_sum[1d]) 一天(86400 秒)的磁盘消耗,可以在 Prometheus 中直接查询: 86400 * (rate(prometheus_tsdb_head_samples_appended_total[1d]) * (rate(prometheus_tsdb_compaction_chunk_size_bytes_sum[1d]) / rate(prometheus_tsdb_compaction_chunk_samples_sum[1d]))) / 1024 /1024 / 1024 例如,返回 {instance="localhost:9090", job="prometheus"} 4.437

使用 Kindling 观测 Kubernetes 的网络连接
· ☕ 3 分钟
最近有一个需求,收集 Kubernetes 的外网访问情况。因此对相关项目进行了调用和试用,本篇主要是介绍如何安装 Kindling,配置 Grafana 查看 Kubernetes 网络连接数据。 1. 什么是 Kindling Kindling 解决的是,在不入侵应用的前提下,如何观测网络的问题,其功能主要是通过暴露内核事件来实现观测。

如何预估 Kubernetes 集群中监控组件的资源消耗
· ☕ 2 分钟
本文描述的监控指标,仅包含 Kubernetes 基础的指标,不包含业务相关指标,相关组件为 prometheus-server、kube-state-metrics、node-exporter,数据的保存周期为 3 天。 1. 集群中监控相关组件 1 2 3 4 helm -n monitor list NAME NAMESPACE REVISION UPDATED STATUS