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, 可观测性, 运维监控