使用Prometheus监控Atlassian产品

引言


大家好! 今天,我们将讨论Atlassian产品的实时监控。

首先,让我们定义什么是监视以及为什么Atlassian产品需要监视。

程序监视用于跟踪程序的进度和结果。 换句话说,该过程可以实时显示有关软件产品状态的信息。

什么时候对Atlassian产品有用?

请考虑以下示例:

  • 您想知道更新产品或插件如何影响系统性能。
  • 您想了解铁在各种条件下以及特定时间点的状态和内存。 例如,增加用户数量或更改一天中的时间如何影响系统;
  • 您想观察整个系统的使用情况。 例如, 吉拉或1小时内的任务总数;
  • 您想在许可证的到期日期上设置提醒;
  • 您想知道用于存储文档的磁盘空间量。

我还不仅希望以准备好的形式接收信息,而且还希望能够根据错误的情况发生事件时发送通知。 在这里, 普罗米修斯及其Atlassian产品的出口商将为我们提供帮助。

解决方案架构


Prometheus是用于同时监视数以万计服务的工具。 Prometheus服务器以您定义的时间间隔读取目标以收集度量并将其存储在时间序列数据库中。 为了收集指标,使用拉模型。 另外,如果基于度量标准的特定规则已起作用,则警报管理器组件可以将通知发送到各种渠道。 您可以在此处此处找到俄语的详细信息。

Prometheus导出器是一种代理,可直接从需要监视的实体(整个服务器或特定应用程序)收集指标。 Prometheus具有丰富的扩展选项,因此有针对大多数流行应用程序的出口商。

[jira | 汇合| 比特桶| 竹] _exporter的工作方式如下:

  • 从产品数据库中检索数据
  • 使用标准Java API检索数据
  • 将过滤器添加到HTTP请求
  • 收集jmx指标。

Stefan Prodan实现了在Docker中快速安装Prometheus / Grafana的示例,并在此处提供

出口商的安装和配置


安装插件之后 ,您将立即获得指标的链接: baseUrl / plugins / servlet / prometheus / metrics 。 也可以配置安全密钥。

接下来,在prometheus.yml中,您需要添加获取指标的地址。
例如,对于Jira

- job_name: 'jira' scheme: https # change to http if don't you have https metrics_path: '/jira/plugins/servlet/prometheus/metrics' static_configs: - targets: ['myhost:2990'] # Jira host and port you serve 

集成完成后,即可使用。

指标和查询示例


您可以在插件文档中看到所有指标的列表: JiraConfluenceBitbucketBamboo

请求示例:

  • 正常运行时间:

     jvm_uptime_gauge{job="jira"} 
  • 服务器请求执行时间:

     (sum(rate(jira_request_duration_on_path_sum[1m])) by (path)) / (sum(rate(jira_request_duration_on_path_count[1m])) by (path)) 
  • 任务总数:

     jira_total_issues_gauge 
  • 仪表板的视图数:

     sum(increase(jira_dashboard_view_count[1h])) 

您可以在此处阅读有关构建查询的更多信息。

格拉法纳仪表板


您可以将Grafana用作第三方组件,以可视化存储在Prometheus时间序列数据库中的度量。 官方网站上有几种现成的实现。 例如,可以在此链接找到Jira的仪表板。


特色功能


我计划增加使用Groovy定义自定义指标的功能,以及对Service Desk的全面支持。 因此,您不仅可以为产品本身添加自定义指标,还可以为其他插件添加自定义指标。
所有出口商都开放并积极发展。 如果您有改进或扩展的想法,请创建任务( JiraConfluenceBitbucketBamboo )和/或执行拉取请求。

结论


如果Atlassian的安装量很大,并且需要确保连续运行,则肯定需要监视。 以及如何-自行决定。 普罗米修斯无疑是可以简化您生活的选择之一。
感谢您的关注!

Source: https://habr.com/ru/post/zh-CN412897/


All Articles