azure - 应该按应用程序还是按环境使用 Azure Log Analytics 和 Application Insights?

标签 azure azure-application-insights azure-log-analytics azure-monitoring

我们有一个基于 Azure 的系统,该系统的复杂性不断增加,我们需要监视事件链并确保它们到达我们期望的位置。

我们有一个本地 Java 应用程序,它将事件发送到 IoT 中心。 IoT 中心路由到服务总线队列。我们有更新 Cosmos 数据库、触发其他函数或路由到其他队列的函数。有些函数也可以通过 API 管理实例调用。

enter image description here

我们的函数已经连接到 Application Insights,这里 Application Insights 实例的命名与 Function App 相同(IIRC 这个命名是通过创建 AI 资源的表单建议的)

Application Insights 中的应用程序 map 让我倾向于每个环境使用一个 AI,以获得完整的系统 map 。每个环境使用一个 Log Analytics 似乎也是合乎逻辑的,以便能够在需要时关联数据。

Log Analytics 和 Application Insights 的正确路径分别是什么?

如果没有我标题中所述的那么明确,那么当我开始使用这些服务时需要考虑哪些因素?

最佳答案

正确的实例数是最适合您的实例数,无论是否完全遵循建议的做法。

建议为每个环境使用一个工作区,并确保 App Insights 中的 cloud_RoleName 能够区分系统的各个部分。 Log Analytics 也有类似的考虑因素。

Functions 默认会与应用程序一起启动 App Insights 实例,因为如果您不使用 App Insights,您将失去大部分日志记录功能 - 将其连接到 App Insights 很重要,但要覆盖默认行为并连接到集中式工作空间在大型系统中很常见。

您可能出于某些原因想要拆分工作区,并且您可以根据需要跨工作区合并数据,以从 Log Analytics 和 App Insights 实例中提取数据。

  1. 数据访问控制或地理位置。如果您需要将部分数据保留在特定地理边界内或限制特定人员的访问权限,请将该部分拆分。
  2. 与安全问题类似的是计费问题。如果出于某种原因,需要拆分应用程序不同部分的计费,那么您还需要拆分日志记录部分。
  3. 系统的不同部分很少交互,或者由不同的团队维护,将数据组织到单独的工作区将比交叉的麻烦提供更多好处
  4. 您将超越 single resource 的限制。很少有应用程序真正达到这些限制,但它们确实存在。

关于azure - 应该按应用程序还是按环境使用 Azure Log Analytics 和 Application Insights?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64274629/

相关文章:

git - 为什么 GitHub 不是 Azure Web App 部署的选项?

azure - 创建 blob 时逻辑应用触发器显示错误

c# - Azure 应用程序日志记录不适用于我的 Web 应用程序

azure - 自定义错误日志记录 | Azure 监视器日志与应用程序见解

asp.net-core - 什么是遥测配置以及为什么我们在 ASP.NET Core 中使用它?

azure - 如何优化 RU 以替换 Azure Cosmos DB 中的文档?

azure - 如何在 Azure Application Insights 中查看或筛选记录器名称的跟踪?

Azure 表存储 - 父子模式(自引用架构)

azure - 针对自定义请求的 Application Insights 警报

azure - 在azure日志门户的工作簿中添加参数