greenhat 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: efcb59b0a89d4abb6fbb20d17c96a163e53f3534a1df492bf8f82bd1ab108123
4
- data.tar.gz: 630b4544301df24d0f3eadbf71dd61d3506d3bd273f1269e2c9b49687e5d6e49
3
+ metadata.gz: cf89eef7afeef6861dde013e8cc7992a92d1c9f4dca79ca0a438913f6d9a7a89
4
+ data.tar.gz: eed033653f4723f19962f5643ac02c71d9f950f97aa4a68375cc3174152e5513
5
5
  SHA512:
6
- metadata.gz: 504e6a2e265cb92f769e2b70978bf66cf5b758b78ace1f38b1f3e80e8ce33344672dbf5825ab97f0e46155084b36615f42a6d6e942e2d5a9536d8e9ace25c772
7
- data.tar.gz: f9bb1c92bf6522bf74f8c5b643cd5c32249b8f1476745972805607b42bcbab394bbe44e7528e5edfe1774bb99a4fb53fa58c419993ed3403474ea528d292f5e2
6
+ metadata.gz: 90c1a58ef0334bd864480ad422957758850ecacd39bc85db1fd47233192e09bda768e15331dc179d8860f4842aed58fafb439f4f9499ff22d1c25e3ebf8bff74
7
+ data.tar.gz: aea2b938e6b1a5956d7811084b1ab725cf41f2d0766affffed696755ac497cc41a67ebfc562ce516ce448ebb983e6e504a493e772348fd536f1e5c711954f612
@@ -16,6 +16,8 @@ module GreenHat
16
16
  puts 'Top Level Commands'.pastel(:blue)
17
17
  puts ' report'.pastel(:green)
18
18
  puts ' Show summary report of SOS Report. OS, CPU, Memory, Disk, and etc'
19
+ puts ' --raw, no pagination'
20
+ puts ' --archive=<redis/archive>, filter by archive name'
19
21
  puts
20
22
 
21
23
  puts ' ps,df,netstat,free,uptime,uname'.pastel(:green)
@@ -2,11 +2,17 @@ module GreenHat
2
2
  # Root Level Shell / Report Helper
3
3
  module Shell
4
4
  def self.report(raw)
5
- args = {
6
- raw: raw.include?('--raw')
7
- }
5
+ _files, flags, _args = Args.parse(raw)
8
6
 
9
- ShellHelper.show(Archive.all.map(&:report).map(&:show).flatten, args)
7
+ archives = if flags.archive
8
+ Archive.all.select do |archive|
9
+ flags.archive.any? { |x| archive.name.include? x.to_s }
10
+ end
11
+ else
12
+ Archive.all
13
+ end
14
+
15
+ ShellHelper.show(archives.map(&:report).map(&:show).flatten, flags)
10
16
  end
11
17
  end
12
18
  end
@@ -337,14 +337,14 @@ module GreenHat
337
337
  ]
338
338
  },
339
339
  'nginx/gitlab_pages_access.log' => {
340
- format: :raw,
340
+ format: :nginx,
341
341
  log: true,
342
342
  pattern: [
343
343
  %r{nginx/gitlab_pages_access.log}
344
344
  ]
345
345
  },
346
346
  'nginx/gitlab_access.log' => {
347
- format: :raw,
347
+ format: :nginx,
348
348
  log: true,
349
349
  pattern: [
350
350
  %r{nginx/gitlab_access.log}
@@ -489,7 +489,8 @@ module GreenHat
489
489
  %r{pgbouncer-exporter/config},
490
490
  %r{repmgrd/config},
491
491
  %r{sentinel/config},
492
- %r{consul/config}
492
+ %r{consul/config},
493
+ %r{mailroom/current}
493
494
  ]
494
495
  },
495
496
  'redis/current' => {
@@ -500,7 +501,6 @@ module GreenHat
500
501
  %r{redis/@.*}
501
502
  ]
502
503
  },
503
-
504
504
  'nginx/gitlab_error.log' => {
505
505
  format: :time_space,
506
506
  log: true,
@@ -508,6 +508,13 @@ module GreenHat
508
508
  %r{nginx/gitlab_error.log}
509
509
  ]
510
510
  },
511
+ 'nginx/error.log' => {
512
+ format: :raw,
513
+ log: false,
514
+ pattern: [
515
+ %r{nginx/error.log}
516
+ ]
517
+ },
511
518
  'nginx/gitlab_registry_error.log' => {
512
519
  format: :time_space,
513
520
  log: true,
@@ -529,7 +536,7 @@ module GreenHat
529
536
  ]
530
537
  },
531
538
  'nginx/gitlab_registry_access.log' => {
532
- format: :raw,
539
+ format: :nginx,
533
540
  log: true,
534
541
  pattern: [
535
542
  %r{nginx/gitlab_registry_access.log}
@@ -0,0 +1,44 @@
1
+ # Top
2
+ module GreenHat
3
+ # Log
4
+ module Formatters
5
+ # ==========================================================================
6
+ # Formatters
7
+ # ==========================================================================
8
+ def format_nginx
9
+ self.result = raw.map do |row|
10
+ ip, _sym, remote_user, rest = row.split(' ', 4)
11
+
12
+ time, rest = rest.split(']', 2)
13
+ time = Time.strptime(time, '[%d/%b/%Y:%H:%M:%S %z')
14
+
15
+ verb, status, bytes, http_referer, http_user_agent, gzip_ratio = Shellwords.split(rest)
16
+
17
+ method, path, http_version = verb.split
18
+
19
+ {
20
+ remote_addr: ip,
21
+ remote_user: remote_user,
22
+ method: method,
23
+ path: path,
24
+ status: status,
25
+ bytes: bytes,
26
+ http_version: http_version,
27
+ http_referer: http_referer,
28
+ http_user_agent: http_user_agent,
29
+ gzip_ratio: gzip_ratio,
30
+ time: time
31
+ }
32
+ end
33
+
34
+ :ok
35
+ end
36
+
37
+ # rubocop:disable Metrics/LineLength
38
+ # NGINX Conf: /var/opt/gitlab/nginx/conf/nginx.conf
39
+ # log_format gitlab_access '$remote_addr - $remote_user [$time_local] "$request_method $filtered_request_uri $server_protocol" $status $body_bytes_sent "$filtered_http_referer" "$http_user_agent" $gzip_ratio';
40
+ # rubocop:enable Metrics/LineLength
41
+
42
+ # ==========================================================================
43
+ end
44
+ end
@@ -1,3 +1,3 @@
1
1
  module GreenHat
2
- VERSION = '0.3.0'.freeze
2
+ VERSION = '0.3.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: greenhat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Davin Walker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-01 00:00:00.000000000 Z
11
+ date: 2021-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: amazing_print
@@ -430,6 +430,7 @@ files:
430
430
  - lib/greenhat/thing/formatters/json.rb
431
431
  - lib/greenhat/thing/formatters/json_shellwords.rb
432
432
  - lib/greenhat/thing/formatters/multiline_json.rb
433
+ - lib/greenhat/thing/formatters/nginx.rb
433
434
  - lib/greenhat/thing/formatters/raw.rb
434
435
  - lib/greenhat/thing/formatters/shellwords.rb
435
436
  - lib/greenhat/thing/formatters/syslog.rb