prometheus-config-builder 0.0.29 → 0.0.34

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c5479f4f3a49813922c49efad5986d4f9932080d
4
- data.tar.gz: bbfea8a1359a32d499a216eedeea8ff9fc3b04b4
2
+ SHA256:
3
+ metadata.gz: 796ca58360817b4b4c3118a72aac48c533ebb6c085f177d3bc16011b07af17f5
4
+ data.tar.gz: c825cf04a1a7ef5cf737cdc34755d6585ddcb0c7ba1963f85d5c13e5d339376e
5
5
  SHA512:
6
- metadata.gz: 8a3069e0e80021030c0e24f0afd3d733745aad90f6a03b8482693091ee3acdebff1fdbe5f7fbcb453b652e9e6eb3289e139729ab898f63bfd89e7eab98d9ac4e
7
- data.tar.gz: dc2a61df16d426f1e04880a4871af80f625065859878de5f35031b7cc2564765280e0dc649ab3f2dbe52fa78c37659648349e667ab0800ecc632d749c6691968
6
+ metadata.gz: b5aae7a6756ea7d5ceb8884e15adf8eaae3b0b81df6137b9c59a57e0a46643eb144a03e1f390835fd143e5daed390026050fab19981cc4c3841c72ceccd0920c
7
+ data.tar.gz: fe1a6117a005c7fed0400fd0966280ea582ecfc40600d45c54eec3c215564c83beaa905e9295001ec5523539650a92b46ee0e0ea3e7b7e03e4280bab265cedda
@@ -11,7 +11,7 @@ require 'prometheus_exporter'
11
11
  require 'prometheus_exporter/client'
12
12
  require 'prometheus_exporter/server'
13
13
 
14
- server = PrometheusExporter::Server::WebServer.new port: 12345
14
+ server = PrometheusExporter::Server::WebServer.new port: 12345, bind: "0.0.0.0"
15
15
  PrometheusExporter::Client.default = PrometheusExporter::LocalClient.new(collector: server.collector)
16
16
 
17
17
  require 'prometheus-config-builder'
@@ -118,6 +118,10 @@ module PrometheusConfigBuilder
118
118
  bucket: bucket_name
119
119
  })
120
120
 
121
+ if !file.key.end_with?(".yaml")
122
+ next
123
+ end
124
+
121
125
  logger.debug("Found file \"#{file.key}\" from S3 bucket #{bucket_name}")
122
126
  files << {
123
127
  source: "s3://#{bucket_name}/#{file.key}",
@@ -19,7 +19,9 @@ module PrometheusConfigBuilder
19
19
  if client == nil
20
20
  logger.info("Creating default client: #{name} with region: #{region}")
21
21
  client = Aws::ECS::Client.new({
22
- region: region
22
+ region: region,
23
+ instance_profile_credentials_retries: 4,
24
+ instance_profile_credentials_timeout: 2,
23
25
  })
24
26
  @@ecs[name] = client
25
27
  end
@@ -64,21 +66,33 @@ module PrometheusConfigBuilder
64
66
  region = (config["region"] or "us-east-1")
65
67
  assume_role = config["assume_role"]
66
68
 
69
+ retries = 5
67
70
  begin
68
71
  client = get_client(region, assume_role)
72
+
73
+ $VERBOSE = x
74
+ tasks = get_tasks(client, config["cluster"], config["service"])
75
+ endpoints = get_task_endpoints(client, config["cluster"], tasks, config["labels"], config["metrics_port"])
76
+
77
+ if !config["job_name"]
78
+ logger.warn("File #{basename}: the scrape_configs of type:ecs-tasks doesn't have \"job_name\" field set. Ignoring!")
79
+ return nil
80
+ end
81
+
82
+ rescue Aws::Errors::MissingCredentialsError => e
83
+ logger.warn("Got a Aws::Errors::MissingCredentialsError: #{e}")
84
+ if retries > 0
85
+ retries = retries - 1
86
+ logger.warn("Will try to retry")
87
+ sleep(5)
88
+ retry
89
+ end
90
+ raise e
69
91
  rescue ArgumentError => e
70
92
  logger.warn("File #{basename}: the scrape_configs of type:ecs-tasks had invalid arguments: #{e}")
71
93
  return nil
72
94
  end
73
95
 
74
- $VERBOSE = x
75
- tasks = get_tasks(client, config["cluster"], config["service"])
76
- endpoints = get_task_endpoints(client, config["cluster"], tasks, config["labels"], config["metrics_port"])
77
-
78
- if !config["job_name"]
79
- logger.warn("File #{basename}: the scrape_configs of type:ecs-tasks doesn't have \"job_name\" field set. Ignoring!")
80
- return nil
81
- end
82
96
 
83
97
  # Prometheus might notice that the scrape file is changed in the middle of the write. That's why we'll
84
98
  # first write the new contents into a temp file and atomically replace the file with the temp file.
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'prometheus-config-builder'
6
- s.version = '0.0.29'
6
+ s.version = '0.0.34'
7
7
  s.date = Time.now
8
8
 
9
9
  s.summary = %q{Template based config generation}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prometheus-config-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.29
4
+ version: 0.0.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juho Mäkinen juho.makinen@gmail.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-06 00:00:00.000000000 Z
11
+ date: 2020-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -136,8 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
138
  requirements: []
139
- rubyforge_project:
140
- rubygems_version: 2.5.2.3
139
+ rubygems_version: 3.0.3
141
140
  signing_key:
142
141
  specification_version: 4
143
142
  summary: Template based config generation