gri 10.0.5 → 10.0.6
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 +4 -4
- data/.drone.yml +3 -2
- data/README.md +8 -0
- data/lib/fluent/plugin/out_gri.rb +7 -7
- data/lib/gri/trad.rb +29 -2
- data/lib/gri/version.rb +1 -1
- data/lib/gri/writer.rb +5 -0
- data/misc/Dockerfile +9 -12
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e8b36dc97ced45aa0de1a72697dcd52ff48e555
|
4
|
+
data.tar.gz: d0b0fbdab14c4dcd5fc35b6c079d1ddd371a8bde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0cee0365f9753f8792bd614d5e591af2ef0dc49440e3392c4d652541c8de4bd5b63fd4a4a196a40c21e12027b8c9542a1dcdd0dd50b7492263cc82fd37a98f5
|
7
|
+
data.tar.gz: 0a22e850b4dbe14f60a76edbadfebffadf929acc5f1ef7796cedcd4331a17ef994688dbf9d5512e6b9066d507fa6f3055bd9d5311c0972ac1d07866bb0970891
|
data/.drone.yml
CHANGED
data/README.md
CHANGED
@@ -130,3 +130,11 @@ font DEFAULT:0:IPAPGothic
|
|
130
130
|
* option-if-host *PAT* *option*
|
131
131
|
|
132
132
|
Option to be added to the default when the host name matches PAT (regexp). Multiple options can be specified.
|
133
|
+
|
134
|
+
### Operations
|
135
|
+
|
136
|
+
* trad: in-service acl-permit update
|
137
|
+
* send SIGUSR1 to trad
|
138
|
+
* trad: graceful shutdown
|
139
|
+
* send SIGWINCH to trad
|
140
|
+
|
@@ -25,17 +25,17 @@ module Fluent
|
|
25
25
|
class GriOutput < BufferedOutput
|
26
26
|
Plugin.register_output('gri', self)
|
27
27
|
|
28
|
-
config_param :
|
29
|
-
|
30
|
-
def configure conf
|
31
|
-
super
|
32
|
-
end
|
28
|
+
config_param :config_path, :string, :default=>'/usr/local/gri/gri.conf'
|
29
|
+
config_param :gra_dir, :string, :default=>nil
|
33
30
|
|
34
31
|
def start
|
35
32
|
super
|
36
33
|
#::Log.init '/tmp/fluent.log'
|
37
|
-
GRI::
|
38
|
-
GRI::Config
|
34
|
+
GRI::Config.init @config_path
|
35
|
+
root_dir = GRI::Config['root-dir'] ||= GRI::Config::ROOT_PATH
|
36
|
+
plugin_dirs = GRI::Config.getvar('plugin-dir') || [root_dir + '/plugin']
|
37
|
+
GRI::Plugin.load_plugins plugin_dirs
|
38
|
+
@gra_dir ||= GRI::Config['gra-dir'] || root_dir + '/gra'
|
39
39
|
end
|
40
40
|
|
41
41
|
def format tag, time, record
|
data/lib/gri/trad.rb
CHANGED
@@ -17,6 +17,7 @@ module GRI
|
|
17
17
|
acls.push(/^127\.0\.0\.1$/)
|
18
18
|
acls.push(/^::ffff:127\.0\.0\.1$/)
|
19
19
|
acls.push(/^::1$/)
|
20
|
+
puts "acls: #{acls.join(',')}" if $debug
|
20
21
|
acls
|
21
22
|
end
|
22
23
|
|
@@ -79,6 +80,7 @@ module GRI
|
|
79
80
|
end
|
80
81
|
|
81
82
|
def run options={}
|
83
|
+
status = :init
|
82
84
|
optparser = optparse options
|
83
85
|
optparser.parse!
|
84
86
|
Process.daemon true if options[:daemonize] and !$debug
|
@@ -91,12 +93,30 @@ module GRI
|
|
91
93
|
Dir.mkdir log_dir unless File.exist? log_dir
|
92
94
|
Log.init "#{log_dir}/#{optparser.program_name}.log"
|
93
95
|
|
96
|
+
Signal.trap(:USR1){
|
97
|
+
Log.info "reloading acls"
|
98
|
+
config = GRI::Config.init config_path
|
99
|
+
@acls = load_acls config
|
100
|
+
}
|
101
|
+
|
102
|
+
Signal.trap(:WINCH){
|
103
|
+
Log.info "going to shutdown"
|
104
|
+
status = :shutdown
|
105
|
+
}
|
106
|
+
|
94
107
|
bind_address = options[:bind_address] || '0.0.0.0'
|
95
108
|
port = options[:port] || 7079
|
96
109
|
server_sock = TCPServer.new bind_address, port
|
97
110
|
rs0 = [server_sock]
|
98
111
|
params = {}
|
99
|
-
|
112
|
+
status = :start
|
113
|
+
while status != :stop
|
114
|
+
if status == :shutdown and rs0.size == 1 and rs0[0].kind_of?(TCPServer)
|
115
|
+
Log.info "shutting down"
|
116
|
+
server_sock.close
|
117
|
+
status = :stop
|
118
|
+
next
|
119
|
+
end
|
100
120
|
next unless (a = IO.select(rs0, nil, nil, 1))
|
101
121
|
rs, = a
|
102
122
|
for io in rs
|
@@ -105,7 +125,11 @@ module GRI
|
|
105
125
|
sock = server_sock.accept
|
106
126
|
peername = sock.peeraddr[2]
|
107
127
|
peeraddr = sock.peeraddr[3]
|
108
|
-
if
|
128
|
+
if status == :shutdown
|
129
|
+
sock.close
|
130
|
+
Log.info "#{peeraddr}: reject due to shutting down"
|
131
|
+
next
|
132
|
+
elsif allowed?(@acls, peeraddr)
|
109
133
|
puts "#{peeraddr}: accespt #{sock.object_id}" if $debug
|
110
134
|
else
|
111
135
|
sock.close
|
@@ -146,6 +170,9 @@ module GRI
|
|
146
170
|
end
|
147
171
|
end
|
148
172
|
end
|
173
|
+
|
174
|
+
Log.info "stopped"
|
175
|
+
exit 0
|
149
176
|
end
|
150
177
|
|
151
178
|
def optparse opts
|
data/lib/gri/version.rb
CHANGED
data/lib/gri/writer.rb
CHANGED
@@ -41,8 +41,10 @@ module GRI
|
|
41
41
|
now = Time.now.to_i
|
42
42
|
hrecords = {}
|
43
43
|
updaters = {}
|
44
|
+
hosts = {}
|
44
45
|
for record in records
|
45
46
|
if (host = record['_host']) and (key = record['_key'])
|
47
|
+
hosts[host] = true
|
46
48
|
if key == 'SYS'
|
47
49
|
@sysinfos[host] = record
|
48
50
|
else
|
@@ -77,6 +79,9 @@ module GRI
|
|
77
79
|
Utils.update_ltsv_file path, '_key', h
|
78
80
|
}
|
79
81
|
updaters.each {|k, u| u.close}
|
82
|
+
hosts.each {|host,|
|
83
|
+
@sysinfos[host] ||= {'_host'=>host.dup, '_time'=>now, '_mtime'=>now}
|
84
|
+
}
|
80
85
|
end
|
81
86
|
|
82
87
|
def finalize
|
data/misc/Dockerfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
FROM centos:
|
1
|
+
FROM centos:centos7
|
2
2
|
|
3
3
|
# cron
|
4
4
|
RUN yum install -y cronie
|
@@ -10,24 +10,21 @@ RUN yum install -y httpd
|
|
10
10
|
# ruby
|
11
11
|
RUN yum install -y rubygems
|
12
12
|
RUN gem install gri --no-ri --no-rdoc
|
13
|
-
RUN cp /usr/bin/grapher /var/www/cgi-bin/
|
13
|
+
RUN cp /usr/local/bin/grapher /var/www/cgi-bin/
|
14
14
|
|
15
15
|
# rrdtool
|
16
|
-
RUN yum install -y
|
17
|
-
RUN yum install -y xorg-x11-fonts-Type1 ipa-gothic-fonts ipa-pgothic-fonts
|
18
|
-
RUN (cd /tmp; wget http://pkgs.repoforge.org/rrdtool/rrdtool-1.4.7-1.el6.rfx.x86_64.rpm)
|
19
|
-
RUN (cd /tmp; rpm --nodeps -i rrdtool-1.4.7-1.el6.rfx.x86_64.rpm)
|
16
|
+
RUN yum install -y rrdtool
|
20
17
|
|
21
18
|
# admin
|
22
19
|
RUN useradd -u 10000 admin
|
23
20
|
|
24
21
|
# setup
|
25
22
|
RUN mkdir -p /usr/local/gri; chown admin /usr/local/gri
|
26
|
-
RUN echo '*/5 * * * * admin /usr/bin/gri' >>/etc/crontab
|
23
|
+
RUN echo '*/5 * * * * admin /usr/local/bin/gri' >>/etc/crontab
|
27
24
|
RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
|
25
|
+
RUN echo '/usr/sbin/crond&&/usr/sbin/httpd 2>/dev/null&&while true; do /bin/bash; done' > /tmp/boot.sh
|
26
|
+
CMD ["/bin/bash", "/tmp/boot.sh"]
|
28
27
|
|
29
|
-
# sudo docker build -t gri
|
30
|
-
# sudo docker run -p 10080:80 -v /somewhere/gri:/usr/local/gri:rw -i -t gri
|
31
|
-
#
|
32
|
-
# bash# /etc/init.d/httpd start
|
33
|
-
# bash# vi /usr/local/gri/gritab
|
28
|
+
# sudo docker build -t gri .
|
29
|
+
# sudo docker run -d -p 10080:80 -v /somewhere/gri:/usr/local/gri:rw -i -t gri
|
30
|
+
# vi /somewhere/gri/gritab
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 10.0.
|
4
|
+
version: 10.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- maebashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|