easymon 1.4.2 → 1.5

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: 54cb530caec2412771ed64ef0e61841aa44e7794b2556b5549dca177b6118bfa
4
- data.tar.gz: efd43b670a69577f16fd9a8ef83eb2748989c2a0992d07e5490d12290fdbd9e4
3
+ metadata.gz: 46eed6312dd05be2f1cc453b481dbbe26cbed28e6a9954d68aee4ed96b5d2935
4
+ data.tar.gz: 57a512d8baf55d331a7386ccc80ea9879820cb2775327d321ba8d11d0b630660
5
5
  SHA512:
6
- metadata.gz: b79e1a2b8c43fd58ae493a7bfaf780ba6ab5948237454ee0ab86db14e1c2bb8988617f8cf68d11164c2bf94bef7373be1a77be803a0de47cb0b7e3ad33fe74bb
7
- data.tar.gz: 6190f08e784393b88c4d544b7385c66c3f25875ba35b0791f4abcd87b9481e2075bf8deddfef78b7b34db43687d11725cf753e556e16995bd42ab768fd72bfb2
6
+ metadata.gz: cfe6ee337e9353b08dd9dcb7b807f2f8881d471e884257fd8a21e48bf29f79fb6680ba29a56b2cea2b40ac365d46ca9566fa89c1df98808832e11bf93d45ee66
7
+ data.tar.gz: 13e4c388db907301c04ed04a3fe25b8eba77b78e88496d3b1ac1a993980fb65ecf75db24c91b1f90ad230b47ad4c70919b973b587280a7ec9bd95d6b09433291
@@ -0,0 +1,26 @@
1
+ module Easymon
2
+ class ActiveRecordMysqlWriteableCheck
3
+ attr_accessor :klass
4
+
5
+ def initialize(klass)
6
+ self.klass = klass
7
+ end
8
+
9
+ def check
10
+ check_status = database_writeable?
11
+ if check_status
12
+ message = "@@read_only is 0"
13
+ else
14
+ message = "@@read_only is 1"
15
+ end
16
+ [check_status, message]
17
+ end
18
+
19
+ private
20
+ def database_writeable?
21
+ klass.connection.execute("SELECT @@read_only").entries.flatten.first == 0
22
+ rescue
23
+ false
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,36 @@
1
+ require "redis"
2
+
3
+ module Easymon
4
+ class RedisWriteableCheck
5
+ attr_accessor :config
6
+
7
+ def initialize(config)
8
+ self.config = config
9
+ end
10
+
11
+ def check
12
+ check_status = redis_writeable?
13
+ message = check_status ? "Writeable" : "Read Only"
14
+
15
+ [check_status, message]
16
+ end
17
+
18
+ private
19
+ def redis_writeable?
20
+ redis = Redis.new(@config)
21
+ key = "easymon_#{Time.now.to_i}"
22
+ reply = redis.set(key, "true")
23
+ redis.del(key)
24
+
25
+ reply == "OK"
26
+ rescue
27
+ false
28
+ ensure
29
+ if redis.respond_to? :close
30
+ redis.close # Redis 4+
31
+ else
32
+ redis.client.disconnect # Older redis
33
+ end
34
+ end
35
+ end
36
+ end
@@ -1,3 +1,3 @@
1
1
  module Easymon
2
- VERSION = "1.4.2"
2
+ VERSION = "1.5"
3
3
  end
data/lib/easymon.rb CHANGED
@@ -8,8 +8,10 @@ require "easymon/repository"
8
8
  require "easymon/result"
9
9
 
10
10
  require "easymon/checks/active_record_check"
11
+ require "easymon/checks/active_record_mysql_writeable_check"
11
12
  require "easymon/checks/split_active_record_check"
12
13
  require "easymon/checks/redis_check"
14
+ require "easymon/checks/redis_writeable_check"
13
15
  require "easymon/checks/memcached_check"
14
16
  require "easymon/checks/semaphore_check"
15
17
  require "easymon/checks/traffic_enabled_check"
@@ -1,66 +1,24 @@
1
- DEPRECATION WARNING: Using `Rails::Application` subclass to start the server is deprecated and will be removed in Rails 6.0. Please change `run Dummy::Application` to `run Rails.application` in config.ru. (called from require at script/rails:6)
2
- Started GET "/up" for 127.0.0.1 at 2018-11-08 22:46:44 -0500
3
- Processing by Easymon::ChecksController#index as */*
4
- Rendering text template
5
- Rendered text template (0.0ms)
6
- Completed 503 Service Unavailable in 33ms (Views: 0.6ms)
7
-
8
-
9
- Started GET "/up/foobar" for 127.0.0.1 at 2018-11-08 22:46:48 -0500
10
- Processing by Easymon::ChecksController#show as */*
11
- Parameters: {"check"=>"foobar"}
12
- Rendering text template
13
- Rendered text template (0.0ms)
14
- Completed 404 Not Found in 1ms (Views: 0.3ms)
15
-
16
-
17
- Started GET "/up/foobar" for 127.0.0.1 at 2018-11-08 22:47:10 -0500
18
- Processing by Easymon::ChecksController#show as */*
19
- Parameters: {"check"=>"foobar"}
20
- Rendering text template
21
- Rendered text template (0.0ms)
22
- Completed 404 Not Found in 1ms (Views: 0.4ms)
23
-
24
-
25
- Started GET "/up/foobar" for 127.0.0.1 at 2018-11-08 22:49:15 -0500
26
- Processing by Easymon::ChecksController#show as */*
27
- Parameters: {"check"=>"foobar"}
28
- Rendering text template
29
- Rendered text template (0.0ms)
30
- Completed 404 Not Found in 1ms (Views: 0.5ms)
31
-
32
-
33
- DEPRECATION WARNING: Using `Rails::Application` subclass to start the server is deprecated and will be removed in Rails 6.0. Please change `run Dummy::Application` to `run Rails.application` in config.ru. (called from require at script/rails:6)
34
- Started GET "/up/critical/foobar" for 127.0.0.1 at 2018-11-08 22:50:46 -0500
35
-
36
- ActionController::RoutingError (No route matches [GET] "/up/critical/foobar"):
37
-
38
- actionpack (5.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:65:in `call'
39
- actionpack (5.2.1) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
40
- railties (5.2.1) lib/rails/rack/logger.rb:38:in `call_app'
41
- railties (5.2.1) lib/rails/rack/logger.rb:26:in `block in call'
42
- activesupport (5.2.1) lib/active_support/tagged_logging.rb:71:in `block in tagged'
43
- activesupport (5.2.1) lib/active_support/tagged_logging.rb:28:in `tagged'
44
- activesupport (5.2.1) lib/active_support/tagged_logging.rb:71:in `tagged'
45
- railties (5.2.1) lib/rails/rack/logger.rb:26:in `call'
46
- actionpack (5.2.1) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
47
- actionpack (5.2.1) lib/action_dispatch/middleware/request_id.rb:27:in `call'
48
- rack (2.0.6) lib/rack/method_override.rb:22:in `call'
49
- rack (2.0.6) lib/rack/runtime.rb:22:in `call'
50
- activesupport (5.2.1) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
51
- actionpack (5.2.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
52
- actionpack (5.2.1) lib/action_dispatch/middleware/static.rb:127:in `call'
53
- rack (2.0.6) lib/rack/sendfile.rb:111:in `call'
54
- railties (5.2.1) lib/rails/engine.rb:524:in `call'
55
- rack (2.0.6) lib/rack/handler/webrick.rb:86:in `service'
56
- /Users/nathan/.rbenv/versions/2.5.3/lib/ruby/2.5.0/webrick/httpserver.rb:140:in `service'
57
- /Users/nathan/.rbenv/versions/2.5.3/lib/ruby/2.5.0/webrick/httpserver.rb:96:in `run'
58
- /Users/nathan/.rbenv/versions/2.5.3/lib/ruby/2.5.0/webrick/server.rb:307:in `block in start_thread'
59
- Started GET "/up/critical" for 127.0.0.1 at 2018-11-08 22:51:07 -0500
60
- Processing by Easymon::ChecksController#show as */*
61
- Parameters: {"check"=>"critical"}
62
- Rendering text template
63
- Rendered text template (0.0ms)
64
- Completed 503 Service Unavailable in 29ms (Views: 0.5ms)
65
-
66
-
1
+  (0.3ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
2
+  (1.4ms) CREATE DATABASE `dummy_development` DEFAULT CHARACTER SET `utf8`
3
+  (0.3ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
4
+  (1.0ms) CREATE DATABASE `dummy_test` DEFAULT CHARACTER SET `utf8`
5
+  (0.3ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
6
+  (0.3ms) SET NAMES utf8, @@SESSION.sql_mode = CONCAT(CONCAT(@@sql_mode, ',STRICT_ALL_TABLES'), ',NO_AUTO_VALUE_ON_ZERO'), @@SESSION.sql_auto_is_null = 0, @@SESSION.wait_timeout = 2147483
7
+  (25.9ms) CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL PRIMARY KEY)
8
+  (20.9ms) CREATE TABLE `ar_internal_metadata` (`key` varchar(255) NOT NULL PRIMARY KEY, `value` varchar(255), `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL)
9
+  (0.1ms) SELECT GET_LOCK('1721091371569202325', 0)
10
+  (0.2ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` ORDER BY `schema_migrations`.`version` ASC
11
+ ActiveRecord::InternalMetadata Load (0.2ms) SELECT `ar_internal_metadata`.* FROM `ar_internal_metadata` WHERE `ar_internal_metadata`.`key` = 'environment' LIMIT 1
12
+  (0.1ms) BEGIN
13
+ ActiveRecord::InternalMetadata Create (0.2ms) INSERT INTO `ar_internal_metadata` (`key`, `value`, `created_at`, `updated_at`) VALUES ('environment', 'development', '2022-05-04 18:01:28', '2022-05-04 18:01:28')
14
+  (0.1ms) COMMIT
15
+  (0.1ms) SELECT RELEASE_LOCK('1721091371569202325')
16
+  (0.3ms) SELECT @@read_only
17
+  (0.2ms) SELECT @@read_only
18
+  (0.1ms) SELECT @@read_only
19
+  (0.8ms) SELECT @@read_only;
20
+  (0.9ms) SELECT @@read_only;
21
+  (3.2ms) SELECT @@read_only;
22
+  (0.2ms) SELECT @@read_only
23
+  (0.2ms) SELECT @@read_only;
24
+  (0.2ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` ORDER BY `schema_migrations`.`version` ASC