首页 > 解决方案 > Solr 到 Application Insights

问题描述

如何配置 Solr 日志以发送到 Azure Application Insights?

我看到可以使用 Log4J 附加程序。 https://docs.microsoft.com/en-us/azure/application-insights/app-insights-java-trace-logs

Solr 是一个开源项目,我自己不编译,我只是使用发行版。

如何在不重新编译安装 SDK 的情况下加入 Application Insights/Log4J appender?我只想配置日志以发送到应用程序 insghts,以有效地用于第 3 方应用程序。并配置检测密钥。

我通常是 C# 开发人员,但熟悉 Log4Net。因此,如果这在 Java Log4J 中很简单,那么很抱歉。找不到适合这种情况的帖子,所以在这里发帖。

使用 Solr 6.6。

标签: solrlog4jazure-application-insights

解决方案


它所需的配置比您预期的要少得多,并且大部分信息都隐藏在您已经获得的链接中:https ://docs.microsoft.com/en-gb/azure/azure-monitor/应用程序/java 跟踪日志

首先,从https://github.com/Microsoft/ApplicationInsights-Java/releases下载 jar 文件。你会想要applicationinsights-logging-log4j1_2-2.3.0applicationinsights-core-2.3.0。将这些放在 server/lib 文件夹中,Solr 会自动为您加载它们。

接下来,您需要在 log4j.properties 文件中添加一个新的附加程序以获取应用洞察

# Appinsights
log4j.appender.aiAppender=com.microsoft.applicationinsights.log4j.v1_2.ApplicationInsightsAppender
log4j.appender.aiAppender.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.aiAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n

您还需要将其添加aiAppenderlog4j.rootLogger同一文件中的列表中(它可能看起来像这样 log4j.rootLogger=INFO, file, CONSOLE, aiAppender:)

最后,您需要一个 ApplicationInsights.xml 文件,您可以从此处获取示例https://docs.microsoft.com/en-gb/azure/azure-monitor/app/java-get-started#2-add -the-application-insights-sdk-for-java-to-your-project

将其放在服务器/资源文件夹中,设置您的检测密钥,您就可以开始了!


推荐阅读