RagibNYC/unfcu-iis-logging-demo

GitHub: RagibNYC/unfcu-iis-logging-demo

在 Azure 上搭建 IIS 银行演示站点,模拟 DNS 配置错误导致的生产数据库故障,展示完整的 IT 事件响应、日志分析与恢复流程。

Stars: 0 | Forks: 0

UNFCU 银行系统 - IIS 日志与事件响应 专业的 IT 事件响应演示,展示了基础设施设置、监控、日志分析和生产恢复。 创建了一个基于 IIS 的事件响应演示,展示了生产数据库故障、使用日志和监控进行系统化诊断、确定根本原因(DNS 配置错误)以及完全恢复的过程——展示了信用合作社 IT 分析师职位所需的基础设施和故障排除技能。 📋 项目目标 - 展示核心 IT 基础设施技能: - 系统设置与配置 - 实时监控 - 日志分析与模式识别 - 事件诊断与根本原因分析 - 生产恢复流程 - 专业文档 使用的程序: 云平台:Microsoft Azure Microsft Remote Desktop Protocol + Windows VM 操作系统:Windows Server 2022 Web 服务器:IIS 10.0 监控工具:Performance Monitor 🎯 本项目展示了什么 创建了 2 个程序: 1. UNFCU 银行演示网站 UNFCU 主题的贷款系统界面 演示不同的 HTTP 错误代码 (200, 404, 403, 500, 503) 实时请求日志记录 2. UNFCU 数据库连接测试页面 交互式诊断工具 模拟数据库连接失败 显示错误分析和恢复过程 📂 完整的事件故事 🏗️ 设置(构建的内容) 在 IIS 上构建具有自动 HTTP 日志记录的 UNFCU 演示网站 网站链接模拟不同的错误代码 (200, 404, 403, 500, 503) 每个请求都记录了时间戳、HTTP 方法、资源、响应代码和响应时间 会员可以点击按钮测试不同的 API endpoint 每个请求都由 IIS 自动以 W3C 格式记录 🚨 问题(出了什么问题) 生产贷款系统失去数据库连接 影响: ✗ 会员无法提交新的贷款申请 ✗ 贷款发放系统不可用 ✗ 信用核查系统不可用 ✗ 抵押贷款处理停止 ✗ 余额查询失败 ✗ 15 笔会员交易延迟 系统状态:503 Service Unavailable 数据库变得无法访问。系统返回 503 Service Unavailable。贷款处理完全停止。 🔍 根本原因分析 出了什么问题: 基础设施域名迁移更改了域名,但应用程序配置文件没有更新。 旧(损坏): 主机名:db-lending-prod-01.unfcu.internal:5432 状态:✗ 不存在(DNS 无法解析) 新(正确): 主机名:db-lending-prod-01.unfcu.local:5432 状态:✓ 存在(DNS 正确解析) 发生原因: 基础设施团队从 .internal 迁移到 .local 域名 更改未通知所有应用程序团队 配置文件保留了过时的主机名 未实施部署验证检查 🔧 诊断过程 第 1 步:检测(约 1 分钟) 触发自动监控警报 检测到数据库连接超时 系统监控立即识别出问题 第 2 步:日志分析(约 2 分钟) IIS 日志显示有重复的连接尝试并伴随 ECONNREFUSED 错误: 服务器:db-lending-prod-01.unfcu.internal:5432 错误:ECONNREFUSED(连接被拒绝) 状态:所有 3 次重试均失败,并出现相同错误 关键发现:所有 3 次重试均因完全相同的错误而失败。这表明是系统性问题,而不是暂时的网络问题。 第 3 步:性能监控 事件期间: CPU:60%(基准 5-10%) 内存:5.5GB(总共 7GB) 重试逻辑消耗大量资源 连接池耗尽 Performance Monitor 图表:显示重试期间 CPU 和内存使用率的明显峰值。 第 4 步:根本原因测试 假设测试: 数据库服务器宕机了吗? ✗ 否 - 否则会出现不同的错误 主机名不正确或 DNS 无法解析吗? ✓ 是 - 测试证实了这一点 ping db-lending-prod-01.unfcu.internal → 失败(主机名不存在) ping db-lending-prod-01.unfcu.local → 成功(正确的主机名) 是否存在网络连接问题? ✗ 否 - 网络正常 防火墙是否阻止了端口 5432? ✗ 否 - 如果防火墙阻止,我们会收到不同的错误 结论:🎯 已确定根本原因 应用程序配置文件引用了不正确的数据库主机名。基础设施迁移后,.internal 域不再存在。正确的主机名是 .local。 💻 使用的技术 技术用途Microsoft Azure云基础设施和虚拟机托管Windows Server 2022操作系统IIS 10.0Web 服务器和 HTTP 请求处理Windows RDP到虚拟机的远程连接Performance MonitorCPU 和内存跟踪IIS 原生日志记录自动 HTTP 请求日志记录(W3C 格式)HTML5/CSS3/JavaScript网站和诊断工具 📊 项目统计 基础设施: 云平台:Microsoft Azure 操作系统:Windows Server 2022 Web 服务器:IIS 10.0 监控工具:Performance Monitor 事件详情: 根本原因:DNS 主机名配置错误(.internal vs .local) 解决时间:5 分钟(检测 → 诊断 → 修复 → 恢复) 配置更改:web.config 中的 1 行 会员影响:15 笔贷款申请延迟 演示范围: HTTP 状态代码:5 种不同的错误场景(200, 404, 403, 500, 503) 截图:16 张真实事件证据图像 文档:完整的专业文档 代码:7 个展示不同场景的 HTML 页面 数据库故障模拟:包含错误日志和恢复的完整过程
标签:IIS, Windows Server, 库, 应急响应, 故障排查, 数据可视化, 运维