我们有一个 XML 格式的 elmah 错误日志文件夹。这些文件数以百万计,每个文件的大小可能高达 50 kb。我们需要能够搜索文件(例如:发生了哪些错误,哪些系统发生了故障等)。我们是否有一个开源系统可以索引文件并可能帮助我们使用关键字搜索文件?我查看了 Lucene.net,但似乎我将拥有应用程序的代码。请指教。
2 回答
如果您需要将日志保存在 XML 文件夹中,elmah-loganalyzer可能有用。
您还可以使用 Microsoft 的 Log Parser 对 xml 文件执行“类似 sql”的查询:
LogParser -i:XML "SELECT * FROM *.xml WHERE detail like '%something%'"
编辑:
您可以使用 nutch+SOLR 或 logstash+Elastic Search 的组合作为索引解决方案。
- http://wiki.apache.org/nutch/NutchTutorial
- http://lucene.apache.org/solr/tutorial.html
http://blog.building-blocks.com/building-a-search-engine-with-nutch-and-solr-in-10-minutes
- http://www.elasticsearch.org/tutorials/using-elasticsearch-for-logs/
- http://www.javacodegeeks.com/2013/02/your-logs-are-your-data-logstash-elasticsearch.html
我们是几个开发网站http://elmah.io的开发人员。elmah.io 索引您的所有错误(在 ElasticSearch 中),并可以进行时髦搜索、分组错误、隐藏错误、时间过滤器错误等。我们目前处于测试阶段,但如果您在http://elmah.io注册,您将获得测试网站的链接。
不幸的是,elmah.io 不会导入您现有的错误日志。我们将开源 ELMAH ErrorLog 类型的实现,它在您自己的 ElasticSearch 中索引您的错误(观看https://github.com/elmahio以了解该项目)。同样,此错误记录器不会索引您现有的错误日志,但您可以实现一个解析器,它运行您的 XML 文件并使用我们的开源错误记录器索引所有内容。如果您不想在 ElasticSearch 之上实现新的 UI,您也可以通过我们的 API 将错误直接导入到 elmah.io。