Solr 到 Application Insights

Solr to Application Insights

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

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

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

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

我通常是 C# 开发人员,但熟悉 Log4Net。如果这在 Java Log4J 中很简单,我们深表歉意。无法为这种情况找到 post,所以 post 在这里。

使用 Solr 6.6。

它需要的配置比您预期的要少得多,而且大部分信息都隐藏在您已经拥有的 link 中:https://docs.microsoft.com/en-gb/azure/azure-monitor/app/java-trace-logs

首先,从 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

您还需要将此 aiAppender 添加到同一文件的 log4j.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

将其放入 server/resources 文件夹,设置您的检测密钥,一切顺利!