Auto-sync: 2026-04-27 00:02

This commit is contained in:
2026-04-27 00:02:56 +08:00
parent 997e25aae6
commit 23bef113dd
30 changed files with 1454 additions and 1037 deletions

View File

@@ -0,0 +1,54 @@
---
title: "Alert Management"
type: concept
tags: [monitoring, alerting, devops, sre]
last_updated: 2026-04-26
---
## Alert Management告警管理
**中文名称:** 告警管理
**类型:** 运维流程与方法论
**别名:**
- 告警管理
- 告警分发
- Alert Routing
---
## Definition
告警管理Alert Management是指从告警**生成 → 接收 → 分类 → 分发 → 响应 → 关闭**的全生命周期管理流程,目的是在关键系统异常时及时通知相关人员,同时避免告警风暴和告警疲劳。
**告警生命周期:**
1. **生成Generate** 监控系统Prometheus基于规则判断是否触发告警
2. **转发Forward** Prometheus 通过 Alertmanager API 发送告警
3. **分发表单Dismiss** Alertmanager 执行抑制、分组、静默
4. **路由Route** 按标签/严重级别路由到对应通知渠道
5. **响应Respond** 值班人员收到通知并处理
6. **关闭Resolve** 问题解决后告警自动消失
**告警治理最佳实践:**
- **SLO/SLA 驱动:** 告警应与业务关键指标绑定,而非基础设施细节
- **分级告警:** Critical / Warning / Info 三级,避免所有告警同等紧急
- **抑制规则:** 根因告警触发时自动抑制派生告警
- **静默期:** 维护窗口内临时屏蔽告警
- **On-call Rotation** 值班轮换确保 24/7 有人响应
**告警评估黄金法则:** 每条告警必须有明确处理步骤;无法立即采取行动的告警应该被抑制或降低级别
---
## Prometheus 告警管理架构
```
Prometheus (规则判断) → Alertmanager (抑制/分组/路由) → 通知渠道 (邮件/Slack/PagerDuty/电话)
```
---
## Related Sources
- [[家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox]]
- [[ctp-topic-8-implementation-of-cloud-monitoring-using-micro-focus-operations-brid]]

View File

@@ -0,0 +1,69 @@
---
title: "Docker Daemon Proxy"
type: concept
tags: [docker, proxy, systemd, container]
date: 2026-05-14
---
# Docker Daemon Proxy
## Aliases
- Docker Daemon Proxy
- Docker 守护进程代理
- Dockerd Proxy
- HTTP_PROXY for Docker Daemon
- Docker Daemon HTTP 代理
## Definition
Docker Daemon Proxy 是指通过 systemd 环境变量(`HTTP_PROXY`/`HTTPS_PROXY`)为 Docker 守护进程(`dockerd`)配置显式代理,使所有 `docker pull``docker build` 和容器出站流量走指定代理服务器。这是透明代理失效时(尤其在群晖 DSM/Ubuntu Server 环境中)的推荐替代方案。
## When to Use
- 透明代理V2RayA/Clash对 Docker Daemon 网络栈无效
- 需要可靠、可预测的 `docker pull` 代理行为
- 生产环境/多容器部署中需要与系统路由表解耦
- 群晖 DSM 7.x服务名 `pkg-ContainerManager-dockerd`
## Implementation Pattern
### Step 1: Create systemd override directory
```bash
sudo mkdir -p /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/
```
### Step 2: Create proxy config file
```bash
sudo vi /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf
```
### Step 3: Write environment variables
```ini
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:20171"
Environment="HTTPS_PROXY=http://127.0.0.1:20171"
Environment="NO_PROXY=localhost,127.0.0.1,192.168.*,*.synology.me"
```
### Step 4: Reload and restart
```bash
sudo systemctl daemon-reload
sudo systemctl restart pkg-ContainerManager-dockerd
```
## Key Distinction from Transparent Proxy
| 维度 | 透明代理Transparent Proxy | Docker Daemon Proxy |
|------|------------------------------|-------------------|
| 作用层级 | iptables内核网络层 | systemd 环境变量 |
| 生效范围 | 所有出站流量NAS 本机) | 仅 Docker Daemon 进程 |
| DSM 兼容性 | 可能失效(网络栈差异) | 稳定可靠 |
| 对其他服务的影响 | 可能影响 NAS 其他网络服务 | 仅影响 Docker |
| 维护难度 | 高(修改系统路由表) | 低(配置分离) |
## Related Sources
- [[群晖NAS科学上网方法]] — DSM 7.x 环境下的 Docker Daemon Proxy 完整配置
- [[Ubuntu-Server科学上网]] — Ubuntu Server 环境下的 Docker Daemon Proxy 配置
## Related Concepts
- [[透明代理]] — V2RayA 的默认透明代理机制(在 DSM 中对 Docker Daemon 失效)
- [[V2RayA]] — Docker Daemon Proxy 的上游代理服务提供者
- [[分流模式]] — V2RayA 的流量路由策略
- [[iptables]] — 透明代理依赖的内核规则

View File

@@ -0,0 +1,47 @@
---
title: "Observability"
type: concept
tags: [devops, monitoring, sre, infrastructure]
last_updated: 2026-04-26
---
## Observability可观测性
**中文名称:** 可观测性
**类型:** 技术方法论 / SRE 核心支柱
**别名:**
- 可观测性
- 云原生可观测性
- Observability Stack
---
## Definition
可观测性Observability是指通过系统外部输出来推断其内部状态的能力。在 IT 运维领域,通常由三大支柱构成:
1. **指标Metrics** 系统运行时数值数据的时序聚合——如 CPU 使用率、内存占用、请求 QPS。代表工具Prometheus、InfluxDB、VictoriaMetrics。
2. **日志Logs** 系统运行事件的离散记录——如错误日志、访问日志、业务事件。代表工具ELKElasticsearch + Logstash + Kibana、Loki、Graylog。
3. **链路Traces** 分布式请求在多个服务间的调用路径追踪——如 HTTP 请求从 API → DB → Cache 的完整耗时。代表工具Jaeger、Zipkin、OpenTelemetry。
**第三支柱趋势:** OpenTelemetryOTel作为 CNCF 项目,正在成为可观测数据的统一采集标准,将 Traces、Metrics、Logs 三者以统一规范融合。
---
## 家庭监控场景下的应用
在家庭服务器/NAS 监控中,可观测性通过以下组件实现:
- **指标:** Prometheus + node_exporter + cAdvisor + blackbox_exporter
- **可视化:** Grafana 仪表盘
- **告警:** Alertmanager + 邮件/Slack 通知
- **日志(可选):** Loki + Promtail
---
## Related Sources
- [[家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox]]
- [[public-cloud-learning-sessions-observability-with-opentelemetry]]
- [[ctp-topic-67-cloud-native-observability-using-opentelemetry]]
- [[ctp-topic-8-implementation-of-cloud-monitoring-using-micro-focus-operations-brid]]

View File

@@ -1,74 +1,74 @@
# SOCKS5代理
> SOCKS5本地科学上网代理协议监听 127.0.0.1:10808在 Mac Mini、Ubuntu1、Ubuntu2 上正常运行NAS 上仅本机监听。
## Overview
SOCKS5 代理是一种网络协议,通过 SOCKS 代理服务器转发客户端的网络请求,支持 TCP 和 UDP。本方案中各节点通过 v2rayA 或类似代理客户端在本地启动 SOCKS5 代理服务,供本机应用走科学上网通道。
## Node Status
|| 节点 | IP | 端口 | 状态 | FRP 暴露 |
|------|-----|-----|------|----------|
| Mac Mini M4 | 127.0.0.1 | 10808 | ✅ 正常 | — |
| Ubuntu Server 1 | 127.0.0.1 | 10808 | ✅ 正常 | — |
| Ubuntu Server 2 | 127.0.0.1 | 10808 | ✅ 正常 | — |
| Synology NAS | 127.0.0.1 | 20170 | ❌ 仅本机监听 | 否 |
## Usage Patterns
### 终端命令级ProxyChains
ProxyChains 通过 LD_PRELOAD 劫持 socket 调用,强制任意终端命令走 SOCKS5 代理:
```bash
# /etc/proxychains4.conf
socks5 127.0.0.1 10808
# 使用
proxychains4 curl https://google.com
```
### Git 全局代理
Git 不读取系统环境变量,必须显式配置:
```bash
git config --global http.proxy socks5://127.0.0.1:10808
git config --global https.proxy socks5://127.0.0.1:10808
```
### Docker Daemon 代理
通过 systemd drop-in 文件注入环境变量:
```bash
# /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=socks5://127.0.0.1:10808"
Environment="HTTPS_PROXY=socks5://127.0.0.1:10808"
```
### Docker 容器环境变量
```bash
# 容器内使用 ALL_PROXY 环境变量
docker run -e ALL_PROXY=socks5://172.24.0.1:10808 ...
```
## Key Distinction: socks5 vs socks5h
- **socks5**DNS 解析在本地完成,可能 DNS 污染
- **socks5h**DNS 解析由代理服务器完成,防止本地 DNS 污染
```bash
curl -x socks5h://127.0.0.1:10808 https://google.com
```
## Docker 网络网关 IP
Docker 容器内访问宿主机的 IP 不是 127.0.0.1(那是容器自身),而是 Docker 网络网关 IP
- bridge 网络默认:`172.17.0.1`
- 自定义网络(如 compose 项目):`172.24.0.1`
## Related Concepts
- [[透明代理]] — V2RayA 通过 iptables 劫持系统出站流量
- [[环境变量代理]] — HTTP_PROXY/HTTPS_PROXY/ALL_PROXY 环境变量
- [[Docker Daemon 代理]] — systemd drop-in 方式为 docker pull 配置代理
- [[ProxyChains]] — 终端命令级流量劫持工具
- [[Git 全局代理]] — Git 专用代理配置
## Related Entities
- [[v2rayA]] — NAS 上的 SOCKS5 代理来源端口20170
- [[Mac Mini M4]] — SOCKS5 代理节点之一
- [[Ubuntu Server]] — SOCKS5 代理节点
- [[Synology NAS DS718]] — v2rayA 部署位置(仅本机监听)
# SOCKS5代理
> SOCKS5本地科学上网代理协议监听 127.0.0.1:10808在 Mac Mini、Ubuntu1、Ubuntu2 上正常运行NAS 上仅本机监听。
## Overview
SOCKS5 代理是一种网络协议,通过 SOCKS 代理服务器转发客户端的网络请求,支持 TCP 和 UDP。本方案中各节点通过 v2rayA 或类似代理客户端在本地启动 SOCKS5 代理服务,供本机应用走科学上网通道。
## Node Status
|| 节点 | IP | 端口 | 状态 | FRP 暴露 |
|------|-----|-----|------|----------|
| Mac Mini M4 | 127.0.0.1 | 10808 | ✅ 正常 | — |
| Ubuntu Server 1 | 127.0.0.1 | 10808 | ✅ 正常 | — |
| Ubuntu Server 2 | 127.0.0.1 | 10808 | ✅ 正常 | — |
| Synology NAS | 127.0.0.1 | 20170 | ❌ 仅本机监听 | 否 |
## Usage Patterns
### 终端命令级ProxyChains
ProxyChains 通过 LD_PRELOAD 劫持 socket 调用,强制任意终端命令走 SOCKS5 代理:
```bash
# /etc/proxychains4.conf
socks5 127.0.0.1 10808
# 使用
proxychains4 curl https://google.com
```
### Git 全局代理
Git 不读取系统环境变量,必须显式配置:
```bash
git config --global http.proxy socks5://127.0.0.1:10808
git config --global https.proxy socks5://127.0.0.1:10808
```
### Docker Daemon 代理
通过 systemd drop-in 文件注入环境变量:
```bash
# /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=socks5://127.0.0.1:10808"
Environment="HTTPS_PROXY=socks5://127.0.0.1:10808"
```
### Docker 容器环境变量
```bash
# 容器内使用 ALL_PROXY 环境变量
docker run -e ALL_PROXY=socks5://172.24.0.1:10808 ...
```
## Key Distinction: socks5 vs socks5h
- **socks5**DNS 解析在本地完成,可能 DNS 污染
- **socks5h**DNS 解析由代理服务器完成,防止本地 DNS 污染
```bash
curl -x socks5h://127.0.0.1:10808 https://google.com
```
## Docker 网络网关 IP
Docker 容器内访问宿主机的 IP 不是 127.0.0.1(那是容器自身),而是 Docker 网络网关 IP
- bridge 网络默认:`172.17.0.1`
- 自定义网络(如 compose 项目):`172.24.0.1`
## Related Concepts
- [[透明代理]] — V2RayA 通过 iptables 劫持系统出站流量
- [[环境变量代理]] — HTTP_PROXY/HTTPS_PROXY/ALL_PROXY 环境变量
- [[Docker-Daemon-Proxy]] — systemd drop-in 方式为 docker pull 配置代理
- [[ProxyChains]] — 终端命令级流量劫持工具
- [[Git 全局代理]] — Git 专用代理配置
## Related Entities
- [[v2rayA]] — NAS 上的 SOCKS5 代理来源端口20170
- [[Mac Mini M4]] — SOCKS5 代理节点之一
- [[Ubuntu Server]] — SOCKS5 代理节点
- [[Synology NAS DS718]] — v2rayA 部署位置(仅本机监听)

View File

@@ -0,0 +1,45 @@
---
title: "SymbolicLink"
type: concept
tags: [filesystem, macos, linux, unix]
sources: [macos-创建与解除-symbolic-link-openclaw-目录映射]
last_updated:
---
## Definition
Symbolic Link符号链接简称 Symlink是 Unix/Linux/macOS 文件系统中的一种特殊类型文件,它指向另一个文件或目录的路径。访问符号链接时,系统会自动重定向到目标路径。
## Core Mechanism
```
~/openclaw -> ~/.openclaw
```
符号链接本身只存储目标路径字符串(轻量),不存储实际文件内容。删除符号链接不会影响目标文件/目录。
## Common Use Cases
| 场景 | 命令 |
|------|------|
| 创建目录符号链接 | `ln -s /path/to/target /path/to/link` |
| 删除符号链接 | `rm /path/to/link` |
| 验证链接存在 | `ls -l ~ \| grep linkname` |
| 查看链接目标 | `readlink /path/to/link` |
## Key Properties
- **非复制**:符号链接不复制数据,只存储路径引用
- **可跨文件系统**:可以指向任意位置的文件或目录
- **可链接目录**:目录也可以创建符号链接
- **透明访问**:应用程序访问符号链接时无感知重定向
- **危险操作**`rm -rf` 指向目录的符号链接会删除目标数据(注意区分)
## Relationship to Related Concepts
- [[目录映射]]:符号链接是实现目录映射的常用手段
- [[软链接策略]]:(如存在)符号链接的应用策略层
- [[ObsidianVault]]Obsidian 可通过符号链接访问非标准位置的笔记目录
## Related Entities
- [[OpenClaw]]:通过符号链接将隐藏目录 `~/.openclaw` 映射为可见目录 `~/openclaw`

View File

@@ -0,0 +1,52 @@
---
title: "Synthetic Monitoring"
type: concept
tags: [monitoring, devops, uptime, availability]
last_updated: 2026-04-26
---
## Synthetic Monitoring合成监控
**中文名称:** 合成监控 / 主动式可用性监控
**类型:** 监控方法论
**别名:**
- 合成监控
- 主动监控
- Blackbox Monitoring
- Uptime Monitoring
- Ping Monitoring
---
## Definition
合成监控Synthetic Monitoring是通过**主动发起模拟请求**HTTP/DNS/TCP/ICMP来探测服务端点可用性、响应时间和功能正确性的监控方式与之对应的是基于真实用户流量的 RUMReal User Monitoring
**核心特点:**
- 不依赖真实用户流量,可在服务上线前发现问题
- 覆盖内网/外网所有端点
- 支持 TLS 证书到期监控
- DNS 解析可用性验证
- 细粒度延迟和状态码追踪
**代表工具:**
- **Blackbox ExporterPrometheus 生态):** 探测指标暴露到 Prometheus支持 PromQL 告警规则集成
- **Uptime Kuma** 开源自托管 uptime monitoring支持 HTTP/TCP/DNS/TLS历史记录 + 告警通知
---
## 与 Real User Monitoring 的区别
| 维度 | 合成监控 | 真实用户监控 (RUM) |
|------|---------|-----------------|
| 数据来源 | 模拟探针主动探测 | 真实用户请求 |
| 覆盖范围 | 全部端点(含无流量路径) | 仅被访问的路径 |
| 时机 | 可在部署前发现问题 | 依赖真实流量触发 |
| 适用场景 | 可用性 SLA 保障 | 真实用户体验感知 |
---
## Related Sources
- [[家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox]]