greenhat 0.3.0 → 0.3.1

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
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