fluent-plugin-openldap-monitor 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +32 -0
- data/.travis.yml +12 -0
- data/Gemfile +3 -0
- data/LICENSE +20 -0
- data/README.md +25 -0
- data/Rakefile +11 -0
- data/fluent-plugin-graphite.gemspec +23 -0
- data/lib/fluent/plugin/in_openldap_monitor.rb +103 -0
- data/test/helper.rb +29 -0
- data/test/plugin/test_in_openldap_monitor.rb +21 -0
- metadata +97 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3b4a8df19470817f4aa88031aa358c5b54289d4b
|
4
|
+
data.tar.gz: d3a64f7d7cc267467e379b5b3f07b24dc0cd0188
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 770a2aca79cc35953a4ed07d08858b7cb8c2e1367955c71fc92f64de4ed1ca28f0bcdff386c4ce60700188b483e176002fc51c5686cfe7929be3e8ac8ef4dcc3
|
7
|
+
data.tar.gz: 45d6cc43444d7e0f9cf7a191213d5f005346d98941a389653edcd3a01c93cb5f7e9656f91380b0b33ee9812f56c66a94fc101cd8a2f925c5d10f5bf76f4ec2a0
|
data/.gitignore
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
/*.gem
|
2
|
+
~*
|
3
|
+
#*
|
4
|
+
*~
|
5
|
+
.bundle
|
6
|
+
Gemfile.lock
|
7
|
+
.rbenv-version
|
8
|
+
vendor
|
9
|
+
doc/*
|
10
|
+
tmp/*
|
11
|
+
coverage
|
12
|
+
.yardoc
|
13
|
+
pkg/
|
14
|
+
.ruby-version
|
15
|
+
*.gem
|
16
|
+
*.rbc
|
17
|
+
.bundle
|
18
|
+
.config
|
19
|
+
coverage
|
20
|
+
InstalledFiles
|
21
|
+
lib/bundler/man
|
22
|
+
pkg
|
23
|
+
rdoc
|
24
|
+
spec/reports
|
25
|
+
test/tmp
|
26
|
+
test/version_tmp
|
27
|
+
tmp
|
28
|
+
|
29
|
+
# YARD artifacts
|
30
|
+
.yardoc
|
31
|
+
_yardoc
|
32
|
+
doc/
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2014 studio3104
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
7
|
+
the Software without restriction, including without limitation the rights to
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
10
|
+
subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# fluent-plugin-openldap-monitor [![Build Status](https://travis-ci.org/studio3104/fluent-plugin-openldap-monitor.png)](https://travis-ci.org/studio3104/fluent-plugin-openldap-monitor) [![Code Climate](https://codeclimate.com/github/studio3104/fluent-plugin-openldap-monitor.png)](https://codeclimate.com/github/studio3104/fluent-plugin-openldap-monitor)
|
2
|
+
|
3
|
+
fluentd input plugin to get openldap monitor
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'fluent-plugin-openldap-monitor'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install fluent-plugin-openldap-monitor
|
18
|
+
|
19
|
+
## Contributing
|
20
|
+
|
21
|
+
1. Fork it ( http://github.com/studio3104/fluent-plugin-openldap-monitor/fork )
|
22
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
23
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
24
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
25
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
$:.push File.expand_path('../lib', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.name = 'fluent-plugin-openldap-monitor'
|
6
|
+
gem.version = '0.0.1'
|
7
|
+
gem.authors = ['Satoshi SUZUKI']
|
8
|
+
gem.email = 'studio3104.com@gmail.com'
|
9
|
+
gem.homepage = 'https://github.com/studio3104/fluent-plugin-openldap-monitor'
|
10
|
+
gem.description = 'fluentd input plugin to get openldap monitor'
|
11
|
+
gem.summary = gem.description
|
12
|
+
gem.licenses = ['MIT']
|
13
|
+
gem.has_rdoc = false
|
14
|
+
|
15
|
+
gem.files = `git ls-files`.split("\n")
|
16
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
|
+
gem.require_paths = ['lib']
|
19
|
+
|
20
|
+
gem.add_runtime_dependency 'fluentd', '~> 0.10.17'
|
21
|
+
gem.add_runtime_dependency 'net-ldap'
|
22
|
+
gem.add_development_dependency 'rake'
|
23
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
class Fluent::OpenLDAPMonitorInput < Fluent::Input
|
2
|
+
Fluent::Plugin.register_input('openldap_monitor', self)
|
3
|
+
|
4
|
+
config_param :tag, :string
|
5
|
+
config_param :host, :string
|
6
|
+
config_param :port, :integer, default: 389
|
7
|
+
config_param :bind_dn, :string
|
8
|
+
config_param :bind_password, :string
|
9
|
+
config_param :check_interval, :integer, default: 60
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
super
|
13
|
+
require 'net/ldap'
|
14
|
+
end
|
15
|
+
|
16
|
+
def configure(conf)
|
17
|
+
super
|
18
|
+
|
19
|
+
auth = {
|
20
|
+
method: :simple,
|
21
|
+
username: @bind_dn,
|
22
|
+
password: @bind_password,
|
23
|
+
}
|
24
|
+
@ldap = Net::LDAP.new(host: @host, port: @port, auth: auth)
|
25
|
+
end
|
26
|
+
|
27
|
+
def start
|
28
|
+
super
|
29
|
+
@watcher = TimerWatcher.new(@check_interval, true, &method(:ldapsearch))
|
30
|
+
@loop = Coolio::Loop.new
|
31
|
+
@watcher.attach(@loop)
|
32
|
+
@thread = Thread.new(@loop.run)
|
33
|
+
end
|
34
|
+
|
35
|
+
def shutdown
|
36
|
+
@watcher.detach
|
37
|
+
@loop.stop
|
38
|
+
@thread.join
|
39
|
+
end
|
40
|
+
|
41
|
+
def ldapsearch
|
42
|
+
entries = @ldap.search(attributes: ['+'], base: 'cn=Monitor')
|
43
|
+
result = convert_entries(entries.flatten)
|
44
|
+
Fluent::Engine.emit(@tag, Fluent::Engine.now, result)
|
45
|
+
rescue => e
|
46
|
+
log.warn("#{e.message} (#{e.class.to_s}) #{e.backtrace.to_s}")
|
47
|
+
end
|
48
|
+
|
49
|
+
SUPPRESS_ATTRIBUTES = %w{ dn structuralobjectclass creatorsname modifiersname createtimestamp modifytimestamp monitortimestamp entrydn subschemasubentry hassubordinates }
|
50
|
+
def convert_entries(entries)
|
51
|
+
result = {}
|
52
|
+
entries.each do |entry|
|
53
|
+
values_of = {}
|
54
|
+
entry.each do |attribute, values|
|
55
|
+
next if SUPPRESS_ATTRIBUTES.include?(attribute.to_s)
|
56
|
+
values_of[attribute] = convert_values_type(values)
|
57
|
+
end
|
58
|
+
|
59
|
+
dn = entry[:dn].first # e.g.) cn=Current,cn=Connections,cn=Monitor
|
60
|
+
dn = dn.split(',').map { |d| d.sub(/cn\=/,'').gsub(/\s+/,'_').downcase.to_sym }.reverse # e.g.) [:monitor, :connections, :current]
|
61
|
+
|
62
|
+
case dn.size
|
63
|
+
when 1
|
64
|
+
result[dn[0]] ||= values_of
|
65
|
+
when 2
|
66
|
+
result[dn[0]][dn[1]] ||= values_of
|
67
|
+
when 3
|
68
|
+
result[dn[0]][dn[1]][dn[2]] ||= values_of
|
69
|
+
when 4
|
70
|
+
result[dn[0]][dn[1]][dn[2]][dn[3]] ||= values_of
|
71
|
+
else raise dn.size.to_s
|
72
|
+
end
|
73
|
+
end
|
74
|
+
result
|
75
|
+
end
|
76
|
+
|
77
|
+
def convert_values_type(values)
|
78
|
+
values = [values].flatten.map { |v|
|
79
|
+
if v == 'TRUE'
|
80
|
+
true
|
81
|
+
elsif v == 'FALSE'
|
82
|
+
false
|
83
|
+
elsif v.match(/^\d+$/)
|
84
|
+
v.to_i
|
85
|
+
else
|
86
|
+
v
|
87
|
+
end
|
88
|
+
}
|
89
|
+
|
90
|
+
values.size == 1 ? values.first : values
|
91
|
+
end
|
92
|
+
|
93
|
+
class TimerWatcher < Coolio::TimerWatcher
|
94
|
+
def initialize(interval, repeat, &checker)
|
95
|
+
@checker = checker
|
96
|
+
super(interval, repeat)
|
97
|
+
end
|
98
|
+
|
99
|
+
def on_timer
|
100
|
+
@checker.call
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
|
4
|
+
begin
|
5
|
+
Bundler.setup(:default, :development)
|
6
|
+
rescue Bundler::BundlerError => e
|
7
|
+
$stderr.puts e.message
|
8
|
+
$stderr.puts 'Run `bundle install` to install missing gems'
|
9
|
+
exit e.status_code
|
10
|
+
end
|
11
|
+
require 'test/unit'
|
12
|
+
|
13
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
|
+
require 'fluent/test'
|
16
|
+
unless ENV.has_key?('VERBOSE')
|
17
|
+
nulllogger = Object.new
|
18
|
+
nulllogger.instance_eval {|obj|
|
19
|
+
def method_missing(method, *args)
|
20
|
+
# pass
|
21
|
+
end
|
22
|
+
}
|
23
|
+
$log = nulllogger
|
24
|
+
end
|
25
|
+
|
26
|
+
require 'fluent/plugin/in_openldap_monitor'
|
27
|
+
|
28
|
+
class Test::Unit::TestCase
|
29
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class OpenLDAPMonitorInputTest < Test::Unit::TestCase
|
4
|
+
CONFIG = %[
|
5
|
+
tag test
|
6
|
+
host test.test
|
7
|
+
bind_dn cn=Admin,cn=Monitor
|
8
|
+
bind_password secret
|
9
|
+
]
|
10
|
+
ENTRIES = [{:dn=>['cn=Monitor'], :structuralobjectclass=>['monitorServer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['OpenLDAP: slapd 2.4.35 (May 16 2014 08:17:57)'], :entrydn=>['cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Backends,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['config', 'ldif', 'monitor', 'ldap', 'mdb', 'perl', 'relay'], :entrydn=>['cn=Backends,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Backend 0,cn=Backends,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['config'], :monitorruntimeconfig=>['TRUE'], :supportedcontrol=>['2.16.840.1.113730.3.4.2'], :entrydn=>['cn=Backend 0,cn=Backends,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Backend 1,cn=Backends,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['ldif'], :monitorruntimeconfig=>['TRUE'], :supportedcontrol=>['2.16.840.1.113730.3.4.2'], :entrydn=>['cn=Backend 1,cn=Backends,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Backend 2,cn=Backends,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['monitor'], :monitorruntimeconfig=>['TRUE'], :supportedcontrol=>['2.16.840.1.113730.3.4.2'], :entrydn=>['cn=Backend 2,cn=Backends,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Backend 3,cn=Backends,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['ldap'], :monitorruntimeconfig=>['TRUE'], :entrydn=>['cn=Backend 3,cn=Backends,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Backend 4,cn=Backends,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['mdb'], :monitorruntimeconfig=>['TRUE'], :supportedcontrol=>['1.3.6.1.1.12', '2.16.840.1.113730.3.4.2', '1.3.6.1.4.1.4203.666.5.2', '1.2.840.113556.1.4.319', '1.3.6.1.1.13.1', '1.3.6.1.1.13.2', '1.3.6.1.4.1.4203.1.10.1', '1.2.840.113556.1.4.1413'], :entrydn=>['cn=Backend 4,cn=Backends,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Backend 5,cn=Backends,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['perl'], :monitorruntimeconfig=>['TRUE'], :entrydn=>['cn=Backend 5,cn=Backends,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Backend 6,cn=Backends,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['relay'], :monitorruntimeconfig=>['TRUE'], :entrydn=>['cn=Backend 6,cn=Backends,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Connections,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=Connections,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Connection 1427,cn=Connections,cn=Monitor'], :structuralobjectclass=>['monitorConnection'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519054541Z'], :modifytimestamp=>['20140519054541Z'], :monitorconnectionnumber=>['1427'], :monitorconnectionprotocol=>['3'], :monitorconnectionopsreceived=>['2'], :monitorconnectionopsexecuting=>['1'], :monitorconnectionopspending=>['0'], :monitorconnectionopscompleted=>['1'], :monitorconnectionget=>['2'], :monitorconnectionread=>['2'], :monitorconnectionwrite=>['0'], :monitorconnectionmask=>['rx'], :monitorconnectionauthzdn=>['cn=Admin,cn=Monitor'], :monitorconnectionlistener=>['ldap://0.0.0.0:389'], :monitorconnectionpeerdomain=>['unknown'], :monitorconnectionpeeraddress=>['IP=10.0.2.2:49242'], :monitorconnectionlocaladdress=>['IP=0.0.0.0:389'], :monitorconnectionstarttime=>['20140519054541Z'], :monitorconnectionactivitytime=>['20140519054541Z'], :entrydn=>['cn=Connection 1427,cn=Connections,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Max File Descriptors,cn=Connections,cn=Monitor'], :structuralobjectclass=>['monitorCounterObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorcounter=>['1024'], :entrydn=>['cn=Max File Descriptors,cn=Connections,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Total,cn=Connections,cn=Monitor'], :structuralobjectclass=>['monitorCounterObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorcounter=>['1428'], :entrydn=>['cn=Total,cn=Connections,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Current,cn=Connections,cn=Monitor'], :structuralobjectclass=>['monitorCounterObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorcounter=>['1'], :entrydn=>['cn=Current,cn=Connections,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Databases,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :readonly=>['FALSE'], :namingcontexts=>['', 'cn=config'], :monitorcontext=>['cn=Monitor'], :entrydn=>['cn=Databases,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Frontend,cn=Databases,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['frontend'], :monitorisshadow=>['FALSE'], :namingcontexts=>[''], :readonly=>['FALSE'], :entrydn=>['cn=Frontend,cn=Databases,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Database 0,cn=Databases,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['config'], :monitorisshadow=>['FALSE'], :namingcontexts=>['cn=config'], :readonly=>['FALSE'], :entrydn=>['cn=Database 0,cn=Databases,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Database 1,cn=Databases,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['monitor'], :monitorisshadow=>['FALSE'], :monitorcontext=>['cn=Monitor'], :readonly=>['FALSE'], :entrydn=>['cn=Database 1,cn=Databases,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Listeners,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=Listeners,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Listener 0,cn=Listeners,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorconnectionlocaladdress=>['IP=0.0.0.0:389'], :entrydn=>['cn=Listener 0,cn=Listeners,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Log,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=Log,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['856'], :monitoropcompleted=>['855'], :entrydn=>['cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Bind,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['428'], :monitoropcompleted=>['428'], :entrydn=>['cn=Bind,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Unbind,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['0'], :monitoropcompleted=>['0'], :entrydn=>['cn=Unbind,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Search,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['428'], :monitoropcompleted=>['427'], :entrydn=>['cn=Search,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Compare,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['0'], :monitoropcompleted=>['0'], :entrydn=>['cn=Compare,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Modify,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['0'], :monitoropcompleted=>['0'], :entrydn=>['cn=Modify,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Modrdn,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['0'], :monitoropcompleted=>['0'], :entrydn=>['cn=Modrdn,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Add,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['0'], :monitoropcompleted=>['0'], :entrydn=>['cn=Add,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Delete,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['0'], :monitoropcompleted=>['0'], :entrydn=>['cn=Delete,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Abandon,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['0'], :monitoropcompleted=>['0'], :entrydn=>['cn=Abandon,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Extended,cn=Operations,cn=Monitor'], :structuralobjectclass=>['monitorOperation'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoropinitiated=>['0'], :monitoropcompleted=>['0'], :entrydn=>['cn=Extended,cn=Operations,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Overlays,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['glue', 'syncprov', 'rwm', 'distproc', 'pbind', 'chain'], :entrydn=>['cn=Overlays,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Overlay 0,cn=Overlays,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['glue'], :monitorruntimeconfig=>['FALSE'], :entrydn=>['cn=Overlay 0,cn=Overlays,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Overlay 1,cn=Overlays,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['syncprov'], :monitorruntimeconfig=>['TRUE'], :entrydn=>['cn=Overlay 1,cn=Overlays,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Overlay 2,cn=Overlays,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['rwm'], :monitorruntimeconfig=>['TRUE'], :entrydn=>['cn=Overlay 2,cn=Overlays,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Overlay 3,cn=Overlays,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['distproc'], :monitorruntimeconfig=>['TRUE'], :entrydn=>['cn=Overlay 3,cn=Overlays,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Overlay 4,cn=Overlays,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['pbind'], :monitorruntimeconfig=>['TRUE'], :entrydn=>['cn=Overlay 4,cn=Overlays,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Overlay 5,cn=Overlays,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['chain'], :monitorruntimeconfig=>['TRUE'], :entrydn=>['cn=Overlay 5,cn=Overlays,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=SASL,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=SASL,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Statistics,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=Statistics,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Bytes,cn=Statistics,cn=Monitor'], :structuralobjectclass=>['monitorCounterObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorcounter=>['11066756'], :entrydn=>['cn=Bytes,cn=Statistics,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=PDU,cn=Statistics,cn=Monitor'], :structuralobjectclass=>['monitorCounterObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorcounter=>['27532'], :entrydn=>['cn=PDU,cn=Statistics,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Entries,cn=Statistics,cn=Monitor'], :structuralobjectclass=>['monitorCounterObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorcounter=>['26678'], :entrydn=>['cn=Entries,cn=Statistics,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Referrals,cn=Statistics,cn=Monitor'], :structuralobjectclass=>['monitorCounterObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorcounter=>['0'], :entrydn=>['cn=Referrals,cn=Statistics,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Max,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['16'], :entrydn=>['cn=Max,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Max Pending,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['0'], :entrydn=>['cn=Max Pending,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Open,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['2'], :entrydn=>['cn=Open,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Starting,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['0'], :entrydn=>['cn=Starting,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Active,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['1'], :entrydn=>['cn=Active,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Pending,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['0'], :entrydn=>['cn=Pending,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Backload,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['1'], :entrydn=>['cn=Backload,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=State,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['unknown'], :entrydn=>['cn=State,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Runqueue,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=Runqueue,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Tasklist,cn=Threads,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=Tasklist,cn=Threads,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Time,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=Time,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Start,cn=Time,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitortimestamp=>['20140519050502Z'], :entrydn=>['cn=Start,cn=Time,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Current,cn=Time,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitortimestamp=>['20140519054541Z'], :entrydn=>['cn=Current,cn=Time,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Uptime,cn=Time,cn=Monitor'], :structuralobjectclass=>['monitoredObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitoredinfo=>['2439'], :entrydn=>['cn=Uptime,cn=Time,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=TLS,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=TLS,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Waiters,cn=Monitor'], :structuralobjectclass=>['monitorContainer'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :entrydn=>['cn=Waiters,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['TRUE']}, {:dn=>['cn=Read,cn=Waiters,cn=Monitor'], :structuralobjectclass=>['monitorCounterObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorcounter=>['1'], :entrydn=>['cn=Read,cn=Waiters,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}, {:dn=>['cn=Write,cn=Waiters,cn=Monitor'], :structuralobjectclass=>['monitorCounterObject'], :creatorsname=>['cn=Admin,cn=Monitor'], :modifiersname=>['cn=Admin,cn=Monitor'], :createtimestamp=>['20140519050502Z'], :modifytimestamp=>['20140519050502Z'], :monitorcounter=>['0'], :entrydn=>['cn=Write,cn=Waiters,cn=Monitor'], :subschemasubentry=>['cn=Subschema'], :hassubordinates=>['FALSE']}]
|
11
|
+
|
12
|
+
def create_driver(conf = CONFIG)
|
13
|
+
Fluent::Test::InputTestDriver.new(Fluent::OpenLDAPMonitorInput).configure(conf)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_convert_entries
|
17
|
+
d = create_driver
|
18
|
+
entries = d.instance.convert_entries(ENTRIES)
|
19
|
+
assert_equal entries, {:monitor=>{:monitoredinfo=>'OpenLDAP: slapd 2.4.35 (May 16 2014 08:17:57)', :backends=>{:monitoredinfo=>['config', 'ldif', 'monitor', 'ldap', 'mdb', 'perl', 'relay'], :backend_0=>{:monitoredinfo=>'config', :monitorruntimeconfig=>true, :supportedcontrol=>'2.16.840.1.113730.3.4.2'}, :backend_1=>{:monitoredinfo=>'ldif', :monitorruntimeconfig=>true, :supportedcontrol=>'2.16.840.1.113730.3.4.2'}, :backend_2=>{:monitoredinfo=>'monitor', :monitorruntimeconfig=>true, :supportedcontrol=>'2.16.840.1.113730.3.4.2'}, :backend_3=>{:monitoredinfo=>'ldap', :monitorruntimeconfig=>true}, :backend_4=>{:monitoredinfo=>'mdb', :monitorruntimeconfig=>true, :supportedcontrol=>['1.3.6.1.1.12', '2.16.840.1.113730.3.4.2', '1.3.6.1.4.1.4203.666.5.2', '1.2.840.113556.1.4.319', '1.3.6.1.1.13.1', '1.3.6.1.1.13.2', '1.3.6.1.4.1.4203.1.10.1', '1.2.840.113556.1.4.1413']}, :backend_5=>{:monitoredinfo=>'perl', :monitorruntimeconfig=>true}, :backend_6=>{:monitoredinfo=>'relay', :monitorruntimeconfig=>true}}, :connections=>{:connection_1427=>{:monitorconnectionnumber=>1427, :monitorconnectionprotocol=>3, :monitorconnectionopsreceived=>2, :monitorconnectionopsexecuting=>1, :monitorconnectionopspending=>0, :monitorconnectionopscompleted=>1, :monitorconnectionget=>2, :monitorconnectionread=>2, :monitorconnectionwrite=>0, :monitorconnectionmask=>'rx', :monitorconnectionauthzdn=>'cn=Admin,cn=Monitor', :monitorconnectionlistener=>'ldap://0.0.0.0:389', :monitorconnectionpeerdomain=>'unknown', :monitorconnectionpeeraddress=>'IP=10.0.2.2:49242', :monitorconnectionlocaladdress=>'IP=0.0.0.0:389', :monitorconnectionstarttime=>'20140519054541Z', :monitorconnectionactivitytime=>'20140519054541Z'}, :max_file_descriptors=>{:monitorcounter=>1024}, :total=>{:monitorcounter=>1428}, :current=>{:monitorcounter=>1}}, :databases=>{:readonly=>false, :namingcontexts=>['', 'cn=config'], :monitorcontext=>'cn=Monitor', :frontend=>{:monitoredinfo=>'frontend', :monitorisshadow=>false, :namingcontexts=>'', :readonly=>false}, :database_0=>{:monitoredinfo=>'config', :monitorisshadow=>false, :namingcontexts=>'cn=config', :readonly=>false}, :database_1=>{:monitoredinfo=>'monitor', :monitorisshadow=>false, :monitorcontext=>'cn=Monitor', :readonly=>false}}, :listeners=>{:listener_0=>{:monitorconnectionlocaladdress=>'IP=0.0.0.0:389'}}, :log=>{}, :operations=>{:monitoropinitiated=>856, :monitoropcompleted=>855, :bind=>{:monitoropinitiated=>428, :monitoropcompleted=>428}, :unbind=>{:monitoropinitiated=>0, :monitoropcompleted=>0}, :search=>{:monitoropinitiated=>428, :monitoropcompleted=>427}, :compare=>{:monitoropinitiated=>0, :monitoropcompleted=>0}, :modify=>{:monitoropinitiated=>0, :monitoropcompleted=>0}, :modrdn=>{:monitoropinitiated=>0, :monitoropcompleted=>0}, :add=>{:monitoropinitiated=>0, :monitoropcompleted=>0}, :delete=>{:monitoropinitiated=>0, :monitoropcompleted=>0}, :abandon=>{:monitoropinitiated=>0, :monitoropcompleted=>0}, :extended=>{:monitoropinitiated=>0, :monitoropcompleted=>0}}, :overlays=>{:monitoredinfo=>['glue', 'syncprov', 'rwm', 'distproc', 'pbind', 'chain'], :overlay_0=>{:monitoredinfo=>'glue', :monitorruntimeconfig=>false}, :overlay_1=>{:monitoredinfo=>'syncprov', :monitorruntimeconfig=>true}, :overlay_2=>{:monitoredinfo=>'rwm', :monitorruntimeconfig=>true}, :overlay_3=>{:monitoredinfo=>'distproc', :monitorruntimeconfig=>true}, :overlay_4=>{:monitoredinfo=>'pbind', :monitorruntimeconfig=>true}, :overlay_5=>{:monitoredinfo=>'chain', :monitorruntimeconfig=>true}}, :sasl=>{}, :statistics=>{:bytes=>{:monitorcounter=>11066756}, :pdu=>{:monitorcounter=>27532}, :entries=>{:monitorcounter=>26678}, :referrals=>{:monitorcounter=>0}}, :threads=>{:max=>{:monitoredinfo=>16}, :max_pending=>{:monitoredinfo=>0}, :open=>{:monitoredinfo=>2}, :starting=>{:monitoredinfo=>0}, :active=>{:monitoredinfo=>1}, :pending=>{:monitoredinfo=>0}, :backload=>{:monitoredinfo=>1}, :state=>{:monitoredinfo=>'unknown'}, :runqueue=>{}, :tasklist=>{}}, :time=>{:start=>{}, :current=>{}, :uptime=>{:monitoredinfo=>2439}}, :tls=>{}, :waiters=>{:read=>{:monitorcounter=>1}, :write=>{:monitorcounter=>0}}}}
|
20
|
+
end
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fluent-plugin-openldap-monitor
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Satoshi SUZUKI
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-05-19 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: fluentd
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.10.17
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.10.17
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: net-ldap
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
description: fluentd input plugin to get openldap monitor
|
56
|
+
email: studio3104.com@gmail.com
|
57
|
+
executables: []
|
58
|
+
extensions: []
|
59
|
+
extra_rdoc_files: []
|
60
|
+
files:
|
61
|
+
- ".gitignore"
|
62
|
+
- ".travis.yml"
|
63
|
+
- Gemfile
|
64
|
+
- LICENSE
|
65
|
+
- README.md
|
66
|
+
- Rakefile
|
67
|
+
- fluent-plugin-graphite.gemspec
|
68
|
+
- lib/fluent/plugin/in_openldap_monitor.rb
|
69
|
+
- test/helper.rb
|
70
|
+
- test/plugin/test_in_openldap_monitor.rb
|
71
|
+
homepage: https://github.com/studio3104/fluent-plugin-openldap-monitor
|
72
|
+
licenses:
|
73
|
+
- MIT
|
74
|
+
metadata: {}
|
75
|
+
post_install_message:
|
76
|
+
rdoc_options: []
|
77
|
+
require_paths:
|
78
|
+
- lib
|
79
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
requirements: []
|
90
|
+
rubyforge_project:
|
91
|
+
rubygems_version: 2.2.2
|
92
|
+
signing_key:
|
93
|
+
specification_version: 4
|
94
|
+
summary: fluentd input plugin to get openldap monitor
|
95
|
+
test_files:
|
96
|
+
- test/helper.rb
|
97
|
+
- test/plugin/test_in_openldap_monitor.rb
|