zabbix-rails 0.1.5 → 0.1.8

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: c17c05a667ebfd11b5d4570c766da4a306ec26f4118893b4efdf5c449af2c509
4
- data.tar.gz: 0d5bca9ba31c6a87cbbc3e5315ba6e0b7f353e0fbeb85bbdd17fccec76b7319b
3
+ metadata.gz: 57a01f1a90fa92149ff18d714662c27729794976268f1d8b74beb0a2e9acaba5
4
+ data.tar.gz: 7331a58248988f77994103d9be4dd5e0d33f65c2a8319e48549ac988b08a6ce7
5
5
  SHA512:
6
- metadata.gz: a4cbfb30bb0860f289adc7f03105bdf10568f188712cb6f8ad6c84d4ee0620374cab4d4c915999797587051f8aadbb931592461d41b676ba21aba97812f23926
7
- data.tar.gz: 53b13efb8a0923e2f4e89641bdf903e58ab5ec8183c2bb7927120ae09120082eaffb1a0e0a05f1eb6c6a3ea7b2bc87a526f69de13f24ad7f9ad914bf3a11e5c2
6
+ metadata.gz: 9b7cce1c75bc1dcc16206d522bef8b96975f242ad68cbb272ac4fd06144436eec293a27f21539d89dc08cca9b7fc2c784dea3a44dce2005b8bcedead0f730c8c
7
+ data.tar.gz: 0a9eaf9aea738353c907607b36a90df624e12b14272adde4b50569d78b188410929b30d63373beb5a28854edfa3f766a23ffafefacc90f6b44a498c80c503d44
data/README.md CHANGED
@@ -1,10 +1,17 @@
1
- # Zabbix
2
- Short description and motivation.
1
+ # Zabbix-Rails
2
+ 主要实现 zabbix_connector 对象缓存,加速 API 交互效率。 依赖 zabbix_manager 作为后端请求模块
3
3
 
4
4
  ## Usage
5
- How to use my plugin.
5
+ ```
6
+ 1、include Zabbix::Connector 到模块或者类对象;
7
+ 2、调用 zabbix_connector 方法自动实现后端鉴权,当前前提是配置好 'zabbix_rails.rb in config/initializers'
8
+ 3、调用 Zabbix::HostMonitor 实现自动维护监控对象
9
+ 4、调用 Zabbix::ItemTrigger 实现自动维护触发器对象
10
+ 5、调用 Zabbix::Dns 实现自动维护 DNS 监控
11
+ ```
6
12
 
7
13
  ## Installation
14
+
8
15
  Add this line to your application's Gemfile:
9
16
 
10
17
  ```ruby
@@ -12,17 +19,30 @@ gem "zabbix-rails"
12
19
  ```
13
20
 
14
21
  And then execute:
22
+
15
23
  ```bash
16
24
  $ bundle
17
25
  ```
18
26
 
19
27
  Or install it yourself as:
28
+
20
29
  ```bash
21
30
  $ gem install zabbix-rails
22
31
  ```
23
32
 
33
+ add zabbix_rails.rb in config/initializers
34
+
35
+ ```
36
+ # Zabbix.configure do |config|
37
+ # c.url = Rails.application.credentials.zabbix.url
38
+ # c.user = Rails.application.credentials.zabbix.username
39
+ # c.password = Rails.application.credentials.zabbix.password
40
+ # c.debug = false
41
+ # end
42
+ ```
43
+
24
44
  ## Contributing
25
- Contribution directions go here.
26
45
 
27
46
  ## License
47
+
28
48
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # desc "Explaining what the task does"
2
3
  # task :zabbix-rails do
3
4
  # # Task goes here
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zabbix
4
+ class Config
5
+ class << self
6
+ attr_accessor :url, :user, :password, :debug
7
+
8
+ def configure
9
+ yield self
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/concern"
1
4
 
2
5
  module Zabbix
3
6
  extend ::ActiveSupport::Concern
@@ -7,13 +10,9 @@ module Zabbix
7
10
  # 将鉴权后的 zabbix-rails 对象缓存到 Rails,减少不必要的认证动作加速执行
8
11
  # https://guides.rubyonrails.org/caching_with_rails.html
9
12
  def zabbix_connector
10
- url = "http://zabbix-rails.local/api_jsonrpc.php"
11
- user = "Admin"
12
- password = "zabbix-rails"
13
-
14
13
  Rails.cache.fetch("zabbix_connector", expires_in: 4.hours) do
15
14
  Rails.logger.warn("Zabbix 正在请求 API 鉴权")
16
- ZabbixManager.connect(url: url, user: user, password: password, debug: false)
15
+ ZabbixManager.connect(url: Config.url, user: Config.user, password: Config.password, debug: Config.debug)
17
16
  rescue => e
18
17
  Rails.logger.warn("登录 ZABBIX 异常,请检查网络或登录凭证。原始报错信息: #{e}")
19
18
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "active_support/concern"
4
+
3
5
  module Zabbix
4
6
  extend ::ActiveSupport::Concern
5
7
 
data/lib/zabbix/engine.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Zabbix
2
4
  class Engine < ::Rails::Engine
3
5
  isolate_namespace Zabbix
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "active_support/concern"
4
+
3
5
  module Zabbix
4
6
  extend ::ActiveSupport::Concern
5
7
 
@@ -42,6 +44,5 @@ module Zabbix
42
44
  rescue => e
43
45
  Rails.logger.warn("无法执行创建或更新监控主机: #{item.name} #{item.sn} #{e}")
44
46
  end
45
-
46
47
  end
47
48
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "active_support/concern"
4
+
3
5
  module Zabbix
4
6
  extend ::ActiveSupport::Concern
5
7
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Zabbix
2
- VERSION = "0.1.5"
4
+ VERSION = "0.1.8"
3
5
  end
data/lib/zabbix-rails.rb CHANGED
@@ -1,11 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "zabbix/version"
4
+ require "zabbix/config"
2
5
  require "zabbix/connector"
3
6
  require "zabbix/host_monitor"
4
7
  require "zabbix/item_trigger"
5
8
  require "zabbix/dns_monitor"
6
- require "zabbix/railtie"
7
9
 
8
10
  # 加载外部依赖
11
+ require "active_support/concern"
9
12
  require "zabbix_manager"
10
13
 
11
14
  module Zabbix
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zabbix-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - WENWU.YAN
@@ -35,12 +35,12 @@ files:
35
35
  - Rakefile
36
36
  - lib/tasks/zabbix_tasks.rake
37
37
  - lib/zabbix-rails.rb
38
+ - lib/zabbix/config.rb
38
39
  - lib/zabbix/connector.rb
39
40
  - lib/zabbix/dns_monitor.rb
40
41
  - lib/zabbix/engine.rb
41
42
  - lib/zabbix/host_monitor.rb
42
43
  - lib/zabbix/item_trigger.rb
43
- - lib/zabbix/railtie.rb
44
44
  - lib/zabbix/version.rb
45
45
  homepage: https://rubygem.org
46
46
  licenses: []
@@ -1,4 +0,0 @@
1
- module Zabbix
2
- class Railtie < ::Rails::Railtie
3
- end
4
- end