我们有哪些方法可以监控OpenGrok,包括使用和特定搜索?是否有内置或可以作为扩展添加的系统?
我们正在内部网上运行OpenGrok,但是对于它是如何使用的以及它得到了多少使用,我们没有可见性。
安装
目前,OpenGrok正在通过一个傀儡管道安装。
class opengrok {
package {[
'opengrok-tomcat',
'ctags',
]
...
file { '/usr/share/tomcat8/webapps/opengrok-1.0':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
}有什么方法可以监视OpenGrok,包括使用和特定搜索以及/或更多?
初步设想:
1)在opengrok前面添加一个代理转发端点,以记录“命中”,并将其发送到某个DB存储。这不会跟踪opengrok (即搜索查询)的低使用率,只跟踪点击量。
2)以某种方式启用tomcat日志并解析这些日志?我不确定我会从日志和解析中得到多少信息。然后将此信息发送到DB商店。
发布于 2018-09-27 13:21:20
我们将Nginx用作OpenGrok的代理服务器,因此我们在/var/log/nginx/access.log.log*文件中记录了所有OpenGrok搜索,您可以在其中获得很多信息,例如:
COMPUTER-IP - USER [27/Sep/2018:10:17:30 -0300] "GET /xxxxx/search?project=sandbox_helloworld%28master%29&q=This+is+a+test&defs=&refs=&path=&hist=&type=sh HTTP/1.1" 200 3345 "https://OPENGROK-SERVER/xxxxx/search?project=sandbox_helloworld%28master%29&q=This+is+a+test&defs=&refs=&path=&hist=&type=" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"发布于 2021-05-13 16:05:29
最近的OpenGrok版本具有监视功能,可以提供高级别(即不针对每个用户或项目)概述。具体来说,您可以通过HTTP请求/指标/ Prometheus获得prometheus格式的度量。例如,如果您的web应用程序在http://example.com/source/上,那么您可以使用例如curl http://example.com/source/metrics/prometheus来查看度量标准。未授权对此端点的访问。然后,这些度量可以输入Grafana等。requests_*表被标记为请求的类别(例如search、api、history、.)这样你就能得到很好的分解,就像这样:

有关更多信息,请参见https://github.com/oracle/opengrok/wiki/Monitoring#web-application
https://stackoverflow.com/questions/52526701
复制相似问题