运维
使用 Thanos 集中管理多 Prometheus 实例数据
· ☕ 6 分钟
1. 监控的分层 如上图,在建设监控系统时,会采用两种策略: 分层监控。IaaS、MySQL 中间件、App 层监控分开的好处是,系统之间具有高可用性、容错性。当 App 层监控无法工作时,IaaS 层监控立马就会体现出来。 长短期指标分离。短期指标用来提供给告警

添加 SSH Key 登录及问题排查
· ☕ 3 分钟
1. 添加 key 的步骤 1.1 客户端生成 ssh key 有两种格式的 Key: 老格式,私钥以 -----BEGIN RSA PRIVATE KEY----- 开头 1 ssh-keygen -m PEM -t rsa -b 4096 -C "mail@chenshaowen.com" 新格式,私钥以 -----BEGIN OPENSSH PRIVATE KEY----- 开头 1 ssh-keygen -t rsa -b 4096 -C "mail@chenshaowen.com" 由于某些旧的系统不支持新格式的 Key,这里建议生成老格式的 Key。如果你已经在使用新格式的 Key,可以使用 puttygen

如何在 Kubernetes Pod 中注入环境变量及优先级问题
· ☕ 2 分钟
1. Kubernetes Pod 引用环境变量的几种方式 1.1 直接 Key/Value 可以直接设置 Value 值,也可以将当前 Pod 的信息作为 Value 值。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 apiVersion: v1 kind: Pod metadata: name: envar-demo labels: purpose: demonstrate-envars spec: containers: - name: envar-demo-container image: gcr.io/google-samples/node-hello:1.0 env: - name: DEMO_GREETING value: "Hello from the environment" - name: DEMO_FAREWELL value: "Such a sweet sorrow" - name: MY_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name 1.2 从 Secret 引用 有两

给 Kubernetes 集群新增外部 DNS 服务
· ☕ 1 分钟
1. 给主机添加 DNS 1.1 CentOS 第一种方法: /etc/resolv.conf 管理 DNS 禁用 NetworkManager 如果不禁用 NetworkManager,在重启 NetworkManager 组件之后,直接在 /etc/resolv.conf 中添加的 DNS 记录会丢失。 1 2 3 4 vim /etc/NetworkManager/NetworkManager.conf [main] dns=none 在 [main] 部分添加 dns=none。 此时重启 NetworkManager,对已经添加到 /etc/resolv.conf 的记录无影

监控告警系统概述
· ☕ 6 分钟
监控系统的难点在于,存储大容量时序数据,提供高性能的查询能力;告警系统的难点在于,设计高效的告警引擎,实现灵活的告警升级机制。最近一直在跟踪监控告警系统,本篇主要是整理监控告警相关的一些概念、组件,调研方案。 1. 监控告警系统的组成 对于监控告警