Azure Log Analytics 和 Application Insights 应该按应用还是按环境使用?
Should Azure Log Analytics and Application Insights be used per app or per environment?
我们有一个基于 Azure 的系统,它变得越来越复杂,我们需要监控事件链并确保它们到达我们预期的位置。
我们有一个 on-prem Java 应用程序,它将事件发送到 IoT 中心。 IoT 中心路由到服务总线 queues。我们有更新 cosmos 数据库、触发其他功能或路由到其他 queues 的功能。一些函数也可以通过 API 管理实例调用。
我们的函数已经连接到 Application Insights,这里 Application Insights 实例的命名与 Function App 相同(IIRC 这个命名是通过创建 AI 资源的形式建议的)
Application Insights 中的应用程序地图让我倾向于每个环境一个 AI,以获得系统的完整地图。 Log Analytics 在每个环境中使用一个日志分析似乎也合乎逻辑,以便能够在需要时潜在地关联数据。
Log Analytics 和 Application Insights 的正确路径分别是什么?
如果不是clear-cut如我标题所述,我在开始使用这些服务时需要考虑哪些因素?
正确数量的实例是最适合您的实例,无论是否完全遵循建议的做法。
建议每个环境使用一个工作区,并确保 App Insights 中的 cloud_RoleName 区分系统的各个部分。 Log Analytics 也有类似的考虑。
函数默认与应用程序一起启动 App Insights 实例,因为如果您不使用 App Insights,您将失去大部分日志记录功能 - 将它连接到 App Insights 很重要,但覆盖默认行为和连接到集中式工作区在大型系统中很常见。
您可能出于某些原因想要拆分工作区,并且您可以根据需要跨工作区合并数据,以将 Log Analytics 和 App Insights 实例中的数据提取到一起。
- 数据访问控制或地理位置。如果您需要将一部分数据保留在特定地理边界内或限制某些人的访问权限,请将那部分数据拆分。
- 与安全问题类似的是计费问题。如果出于某种原因,需要拆分应用程序不同部分的计费,那么您还需要拆分日志记录部分。
- 系统的不同部分很少交互,或者由不同的团队维护,将数据组织到单独的工作区将比交叉的麻烦提供更多好处
- 您将超过 single resource 的限制。很少有应用程序真正达到这些限制,但它们确实存在。
我们有一个基于 Azure 的系统,它变得越来越复杂,我们需要监控事件链并确保它们到达我们预期的位置。
我们有一个 on-prem Java 应用程序,它将事件发送到 IoT 中心。 IoT 中心路由到服务总线 queues。我们有更新 cosmos 数据库、触发其他功能或路由到其他 queues 的功能。一些函数也可以通过 API 管理实例调用。
我们的函数已经连接到 Application Insights,这里 Application Insights 实例的命名与 Function App 相同(IIRC 这个命名是通过创建 AI 资源的形式建议的)
Application Insights 中的应用程序地图让我倾向于每个环境一个 AI,以获得系统的完整地图。 Log Analytics 在每个环境中使用一个日志分析似乎也合乎逻辑,以便能够在需要时潜在地关联数据。
Log Analytics 和 Application Insights 的正确路径分别是什么?
如果不是clear-cut如我标题所述,我在开始使用这些服务时需要考虑哪些因素?
正确数量的实例是最适合您的实例,无论是否完全遵循建议的做法。
建议每个环境使用一个工作区,并确保 App Insights 中的 cloud_RoleName 区分系统的各个部分。 Log Analytics 也有类似的考虑。
函数默认与应用程序一起启动 App Insights 实例,因为如果您不使用 App Insights,您将失去大部分日志记录功能 - 将它连接到 App Insights 很重要,但覆盖默认行为和连接到集中式工作区在大型系统中很常见。
您可能出于某些原因想要拆分工作区,并且您可以根据需要跨工作区合并数据,以将 Log Analytics 和 App Insights 实例中的数据提取到一起。
- 数据访问控制或地理位置。如果您需要将一部分数据保留在特定地理边界内或限制某些人的访问权限,请将那部分数据拆分。
- 与安全问题类似的是计费问题。如果出于某种原因,需要拆分应用程序不同部分的计费,那么您还需要拆分日志记录部分。
- 系统的不同部分很少交互,或者由不同的团队维护,将数据组织到单独的工作区将比交叉的麻烦提供更多好处
- 您将超过 single resource 的限制。很少有应用程序真正达到这些限制,但它们确实存在。