minnaked/observability-engineering-lab
GitHub: minnaked/observability-engineering-lab
可观测性工程实验室,自动化网络安全与运维监控。
Stars: 0 | Forks: 0
# 可观测性工程实验室
## 概述
本仓库记录了我使用 Datadog、OpenTelemetry Collector、Linux、Windows 以及家庭实验室环境,学习现代可观测性概念的实际操作过程。
本仓库的重点不是基础设施部署或平台工程,而是理解如何使用遥测技术来监控系统、分析性能、建立运营基线、识别异常并改进故障排查。
该实验室的灵感来源于支持企业级可观测性和监控平台的真实经验,这些平台包括 Riverbed SteelCentral、ExtraHop NDR、Datadog 和 OpenSearch。
## 状态
该实验室正在积极开发中。以下部分将当前已完成的内容与下一步计划分开,因此该结构是一个正在逐步填充的路线图,而不是一个已完成的产品。
## 实验室环境
### 监控平台
- Datadog
- OpenTelemetry Collector
### 被监控主机
五台主机运行 Datadog Agent 并将数据上报至 Datadog,涵盖 Windows 和 Linux:
- 一台 Windows 11 检测实验室主机
- 两台额外的 Windows 主机
- 一台 Linux 上的 Wazuh 服务器
- 一台 Kali Linux 主机
### 工具
- Datadog Agent
- OpenTelemetry Collector
- Wazuh
- OpenSearch
- Linux
- Windows
- Python
## 当前状态
目前收集和可见的内容:
- Datadog Agent 已部署在所有五台主机上,全部处于上报状态且为最新版本
- 主机和基础设施指标:CPU、内存、磁盘、负载和 IO
- 已启用日志收集
- 在一台主机上运行的 OpenTelemetry Collector
- 内置的 Host Metrics dashboard,显示整个机群 的 CPU、平均负载和内存
- 针对 CPU、磁盘和内存的基线主机监控
## 计划与进行中
- 构建自定义 dashboard 以回答特定的运营问题
- 为 Wazuh manager 进行自定义 Datadog Agent 插桩,因为它没有原生集成,此举旨在暴露引擎指标,例如已处理事件数、已丢弃事件数和队列使用情况
- 应用性能监控和分布式追踪,目前尚未启用,这是在为合适的应用程序完成插桩后的学习目标
## 学习目标
本仓库探索:
- 指标基础
- 时间序列分析
- Dashboard 设计
- 容量规划
- 服务监控
- 应用监控概念
- 告警与阈值设计
- 性能分析
- 根本原因调查
## 仓库结构
当前:
```
observability-engineering-lab/
├── README.md
└── datadog/
├── host-onboarding.md
├── windows-agent-install.md
├── host-metrics-dashboard.md
└── screenshots/
```
计划中,随着各个部分的构建而添加:
```
├── metrics-fundamentals/
├── dashboards/
├── service-monitoring/
└── application-monitoring/
```
## 涵盖的关键主题
### 指标基础
理解 gauges、counters、rates、percentiles 和 aggregations。
### 时间序列分析
学习如何解读趋势、峰值、基线、季节性和异常。
### Dashboard 设计
构建能够回答运营问题的 dashboard,例如:
- 系统健康吗?
- 哪个资源达到饱和?
- 性能是否在下降?
- 容量是否充足?
### 服务监控
监控应用程序服务和支持进程,以 Wazuh manager 和 OpenSearch 作为实际案例。
### 应用监控概念
理解延迟、吞吐量、错误率和可用性,包括作为计划学习领域(但在本实验室尚未实现)的应用性能监控和分布式追踪。
### 容量规划
使用遥测技术建立基线、跟踪增长趋势并预测未来的资源需求。
## 截图
datadog/screenshots 文件夹记录了实验室的当前状态:
- Fleet Automation 概览,所有五台主机上的 agent 均处于健康状态
- Infrastructure 主机列表
- Host Metrics dashboard,包含 CPU、平均负载和内存
- Agent 接入和首台主机的实时视图
每个条目都包含其目的、使用的指标、解读方式以及运营用途。
## 作者
Mahesh Inna Kedage
高级可观测性、安全与客户工程专业人士
CISSP | 新加坡国立大学 (NUS) 技术硕士,软件工程
GitHub: https://github.com/minnaked
标签:API集成, APM, Datadog, GET参数, OpenTelemetry, 可观测性, 运维监控