在.NET Core 环境下对日志和指标进行集中化管理

阅读数:3 2019 年 12 月 23 日 17:40

在.NET Core 环境下对日志和指标进行集中化管理

随着日益增长的业务发展,对于日志的集中化管理需求日益增加,使用 Amazon CloudWatch 来对日志进行集中化管理和监控各项指标使得这项工作变得尤为简单。

CloudWatch 是一种面向开发运营工程师、开发人员、站点可靠性工程师 (SRE) 和 IT 经理的监控和可观测性服务。CloudWatch 为您提供相关数据和切实见解,以监控应用程序、响应系统范围的性能变化、优化资源利用率,并在统一视图中查看运营状况。CloudWatch 以日志、指标和事件的形式收集监控和运营数据,让您能够在统一查看在 AWS 和本地服务器上运行的资源、应用程序和服务。您可以使用 CloudWatch 检测环境中的异常行为、设置警报、并排显示日志和指标、执行自动化操作、排查问题,以及发现可确保应用程序正常运行的见解。

AWS Identity and Access Management (IAM) 使您能够安全地管理对 AWS 服务和资源的访问。您可以使用 IAM 创建和管理 AWS 用户和组,并使用各种权限来允许或拒绝他们对 AWS 资源的访问。

.NET Core 是开放源代码通用开发平台,由 Microsoft 和 .NET 社区在 GitHub 上共同维护。 它跨平台(支持 Windows、macOS 和 Linux),并且可用于生成设备、云和 IoT 应用程序。对于传统的.NET Framework 应用要部署在 Linux 上面临着需要重写代码的任务(如重写成 Java ,PHP 等),使用.NET Core 平台,企业可以通过简单的代码移植,完成跨平台迁移 ,降低许可证费用。

那么为什么使用 log4net 来进行日志收集呢?

首先,Apache Log4Net 是一个帮助程序员将日志输出到不同目标的工具。 它是有 Apache 基金会开源的优秀的日志服务组件的一部分,他也是.NET 世界中的标配日志组件,经过大量的生产考验。

其次,使用 log4Net 来与 AWS CloudWatch 对接,能够使被动装探针收集日志转换成主动推送日志,符合一些企业的安全要求。

再者,如果系统中遗留有 Log4net 的日志系统,只需要简单地安装一个附加器,再进行一些配置,则可以直接完成与 CloudWatch 的无缝对接,无需修改任何日志打印逻辑。

利用 CloudWatch 可以轻松的做到如下架构:

在.NET Core 环境下对日志和指标进行集中化管理

从应用程序收集上来的日志,可以汇总到 CloudWatch Logs 里面,通过扫描日志来形成对应的监控指标。设定指标的阈值来形成报警,针对报警可以做到很多处理方式,如增加机器,发送消息给运维人员,或者把报警推送到诊断机器等操作。这样轻松地减少了运维工程师运维的成本。

本文转载自 AWS 技术博客。

原文链接: https://amazonaws-china.com/cn/blogs/china/centralized-management-of-logs-and-metrics-in-the-net-core-environment/

评论

发布