blob: 056323a6e3071866eb8ca10adad26196ffa70ca6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# frozen_string_literal: true
require 'active_support/core_ext/integer/time'
module QA
module Support
module SystemLogs
class Kibana
BASE_URLS = {
staging: 'https://nonprod-log.gitlab.net/',
production: 'https://log.gprd.gitlab.net/',
pre: 'https://nonprod-log.gitlab.net/'
}.freeze
INDICES = {
staging: 'ed942d00-5186-11ea-ad8a-f3610a492295',
production: '7092c4e2-4eb5-46f2-8305-a7da2edad090',
pre: 'pubsub-rails-inf-pre'
}.freeze
DASHBOARD_IDS = {
staging: 'b74dc030-6f56-11ed-9af2-6131f0ee4ce6',
production: '5e6d3440-7597-11ed-9f43-e3784d7fe3ca',
pre: '15596340-7570-11ed-9af2-6131f0ee4ce6'
}.freeze
def initialize(env, correlation_id)
@base_url = BASE_URLS[env]
@index = INDICES[env]
@dashboard_id = DASHBOARD_IDS[env]
@correlation_id = correlation_id
end
def discover_url
return if @base_url.nil?
"#{@base_url}app/discover#/?_a=%28index:%27#{@index}%27%2Cquery%3A%28language%3Akuery%2C" \
"query%3A%27json.correlation_id%20%3A%20#{@correlation_id}%27%29%29" \
"&_g=%28time%3A%28from%3A%27#{start_time}%27%2Cto%3A%27#{end_time}%27%29%29"
end
def dashboard_url
return if @base_url.nil?
"#{@base_url}app/dashboards#/view/#{@dashboard_id}?_g=%28time%3A%28from:%27#{start_time}%27%2C" \
"to%3A%27#{end_time}%27%29%29&_a=%28filters%3A%21%28%28query%3A%28match_phrase%3A%28" \
"json.correlation_id%3A%27#{@correlation_id}%27%29%29%29%29%29"
end
private
def start_time
(Time.now.utc - 24.hours).iso8601(3)
end
def end_time
Time.now.utc.iso8601(3)
end
end
end
end
end
|