zabbix-rails 0.1.3 → 0.1.4

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: 473ef7cc7bbe32ffacd45ff386a02bdd239f6986a6cac0b5ce46197ad6f9d48c
4
- data.tar.gz: 53283376f84df42a8d2801177ef66d7d4af06fda72d0614e74af7ae0f935937c
3
+ metadata.gz: a69c9d81af95b28fc20c815ff323a31cf0dd1c29dd54aab6829a2224ab8c485e
4
+ data.tar.gz: 220e0328786170be774c8f835bab0ee15104fade5dd558ac840e47aed502fcd6
5
5
  SHA512:
6
- metadata.gz: 8829c2d957801e949914a38b5028341e78c0e8e6a67811658eef126b9aaf44fb4d79daad85ebdd507d86b72fb9c6a894dcd62bfcb69f588bc883c0d209d2efe2
7
- data.tar.gz: 56139e405343d7541c0d01af8d963322554b9716fccf6dbc59f62739fad2972061eb170e9c23f389c0823839d9c7605e65d41d0b8b30bfbd2aba1ccf8d3b207e
6
+ metadata.gz: e48aa2cc53f58fdec3b4dd97549a0e22b2dca70cc7806b635092dc2bd7df5697511f8cc370cf973e313c53e026da371288447cf6cccb1c9e5d13698cf20b7c20
7
+ data.tar.gz: 34519f575756027d787b1a8cd110cf4702840522e3bbfe701f5f30d8f859165d34607c9a352ab8a28f142141d03a439923ca76f750324750c60d7676e4b03073
@@ -1,10 +1,8 @@
1
1
 
2
- require "active_support/concern"
3
-
4
2
  module Zabbix
5
- module Connector
6
- extend ActiveSupport::Concern
3
+ extend ActiveSupport::Concern
7
4
 
5
+ module Connector
8
6
  # 开发测试环境需要单独开启缓存功能:bin/rails dev:cache
9
7
  # 将鉴权后的 zabbix-rails 对象缓存到 Rails,减少不必要的认证动作加速执行
10
8
  # https://guides.rubyonrails.org/caching_with_rails.html
@@ -1,8 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zabbix
4
+ extend ActiveSupport::Concern
5
+
4
6
  module DnsMonitor
5
- include ActiveSupport::Concern
7
+ include Zabbix::Connector
6
8
 
7
9
  # 生成 DNS 触发器表达式
8
10
  def dns_trigger_expression(name)
data/lib/zabbix/engine.rb CHANGED
@@ -8,4 +8,4 @@ module Zabbix
8
8
  end
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -1,48 +1,46 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zabbix
4
+ extend ActiveSupport::Concern
5
+
4
6
  module HostMonitor
5
- extend ActiveSupport::Concern
6
- include ZabbixConnectConcern
7
+ include Zabbix::Connector
7
8
 
8
- class << self
9
- # 创建或更新 zabbix-rails 主机监控对象
10
- def refresh_zabbix_host(item)
11
- if zabbix_connector.present? && (zabbix_connector.is_a? ZabbixManager)
12
- # 查询已关联的 hostid
13
- hostid = item[:hostid]
9
+ # 创建或更新 HostMonitor主机监控对象
10
+ def refresh_zabbix_host(item)
11
+ if zabbix_connector.present? && (zabbix_connector.is_a? ZabbixManager)
12
+ # 查询已关联的 hostid
13
+ hostid = item[:hostid]
14
14
 
15
- # 封装数据之前确保设备属组已经存在
16
- search_id = zabbix_connector.hosts.get_id(host: item.sn)
17
- # 构建 zabbix-rails 监控对象数据结构,创建或者更新数据
18
- if hostid.present?
19
- if search_id.blank?
20
- Rails.logger.warn("监控主机信息发生变化,正在创建监控对象: #{item}.inspect")
21
- Zabbix::DeleteMonitor.perform_now(item.sn)
22
- zabbix_connector.hosts.create_or_update(item.host_params)
23
- elsif hostid != search_id
24
- Rails.logger.warn("ZABBIX已有监控项,正在刷新数据 #{hostid} - #{search_id}")
25
- search_id
26
- else
27
- Rails.logger.warn("正在更新监控对象: #{item.sn} - #{item.name}")
28
- zabbix_connector.hosts.create_or_update(item.host_params)
29
- end
15
+ # 封装数据之前确保设备属组已经存在
16
+ search_id = zabbix_connector.hosts.get_id(host: item.sn)
17
+ # 构建 zabbix-rails 监控对象数据结构,创建或者更新数据
18
+ if hostid.present?
19
+ if search_id.blank?
20
+ Rails.logger.warn("监控主机信息发生变化,正在创建监控对象: #{item}.inspect")
21
+ Zabbix::DeleteMonitor.perform_now(item.sn)
22
+ zabbix_connector.hosts.create_or_update(item.host_params)
23
+ elsif hostid != search_id
24
+ Rails.logger.warn("ZABBIX已有监控项,正在刷新数据 #{hostid} - #{search_id}")
25
+ search_id
30
26
  else
31
- Rails.logger.warn("正在新增监控对象: #{item.sn} - #{item.name}")
27
+ Rails.logger.warn("正在更新监控对象: #{item.sn} - #{item.name}")
32
28
  zabbix_connector.hosts.create_or_update(item.host_params)
33
29
  end
34
-
35
- # 返回监控对象的 host_id
36
- Rails.logger.warn("成功执行创建或更新监控主机: #{item.name} #{item.sn}")
37
- zabbix_connector.hosts.get_id(host: item.sn).presence || nil
38
30
  else
39
- Rails.logger.warn("未获取 ZABBIX_MGMT 对象,无法执行创建或更新监控主机: #{item.name} #{item.sn}")
40
- nil
31
+ Rails.logger.warn("正在新增监控对象: #{item.sn} - #{item.name}")
32
+ zabbix_connector.hosts.create_or_update(item.host_params)
41
33
  end
42
- rescue => e
43
- Rails.logger.warn("无法执行创建或更新监控主机: #{item.name} #{item.sn} #{e}")
44
- end
45
34
 
35
+ # 返回监控对象的 host_id
36
+ Rails.logger.warn("成功执行创建或更新监控主机: #{item.name} #{item.sn}")
37
+ zabbix_connector.hosts.get_id(host: item.sn).presence || nil
38
+ else
39
+ Rails.logger.warn("未获取 ZABBIX_MGMT 对象,无法执行创建或更新监控主机: #{item.name} #{item.sn}")
40
+ nil
41
+ end
42
+ rescue => e
43
+ Rails.logger.warn("无法执行创建或更新监控主机: #{item.name} #{item.sn} #{e}")
46
44
  end
47
45
 
48
46
  end
@@ -1,8 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zabbix
4
+ extend ActiveSupport::Concern
5
+
4
6
  module ItemTrigger
5
- include ActiveSupport::Concern
7
+ include Zabbix::Connector
6
8
 
7
9
  # 创建或新增触发器,返回触发器ID | 触发器的 DATA_STRUCTURE
8
10
  def refresh_trigger(data)
@@ -1,3 +1,3 @@
1
1
  module Zabbix
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
data/lib/zabbix-rails.rb CHANGED
@@ -4,7 +4,6 @@ require "zabbix/host_monitor"
4
4
  require "zabbix/item_trigger"
5
5
  require "zabbix/dns_monitor"
6
6
  require "zabbix/railtie"
7
- require "active_support/concern"
8
7
 
9
8
  # 加载外部依赖
10
9
  require "zabbix_manager"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zabbix-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - WENWU.YAN
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-25 00:00:00.000000000 Z
11
+ date: 2022-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 7.0.2.3
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 7.0.2.3
26
+ version: '0'
27
27
  description: Description of Zabbix-rails.
28
28
  email:
29
29
  - careline@foxmail.com