diff --git a/clarified/manifests/init.pp b/clarified/manifests/init.pp index f356cb5..8bc4dd1 100644 --- a/clarified/manifests/init.pp +++ b/clarified/manifests/init.pp @@ -56,7 +56,7 @@ class clarified::recorder { mode => 0644, owner => root, group => root, - before => Exec["/usr/local/src/probe-linux-i686.sh"], + before => Exec["/usr/local/src/clarified-recorder-linux-i686.sh"], } File["/etc/clarified/probe.d", "/etc/clarified/remote.d"] { @@ -66,17 +66,17 @@ class clarified::recorder { source => "puppet:///modules/custom/empty", } - file { "/usr/local/src/probe-linux-i686.sh": + file { "/usr/local/src/clarified-recorder-linux-i686.sh": ensure => present, mode => 0755, owner => root, group => root, - source => "puppet:///files/packages/probe-linux-i686.sh", + source => "puppet:///files/packages/clarified-recorder-linux-i686.sh", links => follow, - before => Exec["/usr/local/src/probe-linux-i686.sh"], + before => Exec["/usr/local/src/clarified-recorder-linux-i686.sh"], } - exec { "/usr/local/src/probe-linux-i686.sh": + exec { "/usr/local/src/clarified-recorder-linux-i686.sh": creates => "/usr/local/probe", } @@ -85,7 +85,7 @@ class clarified::recorder { cwd => "/usr/local/probe", command => "sed s:@PREFIX@:/usr/local/probe: clarified-functions.in > /etc/clarified/clarified-functions", creates => "/etc/clarified/clarified-functions", - require => Exec["/usr/local/src/probe-linux-i686.sh"], + require => Exec["/usr/local/src/clarified-recorder-linux-i686.sh"], before => Service["clarified-probe"], } @@ -95,14 +95,15 @@ class clarified::recorder { owner => root, group => root, source => "/usr/local/probe/probe-init.sh", - require => Exec["/usr/local/src/probe-linux-i686.sh"], + require => Exec["/usr/local/src/clarified-recorder-linux-i686.sh"], before => Service["clarified-probe"], } service { "clarified-probe": - ensure => running, - enable => true, - status => "pgrep -f /usr/local/probe", + ensure => running, + enable => true, + hasrestart => true, + status => "pgrep -f /usr/local/probe", } } @@ -139,12 +140,13 @@ class clarified::recorder { # keeptime => "500GB", # blocksize => "10GB", # filter => "host 192.168.1.1", -# collab => [ "collabname:PageName", ], +# collab => [ "collabname:PageName" ], # } # define clarified::probe($interface="", $snaplen="65535", $keeptime="100GB", $blocksize="1GB", $filter="", $remoteport="10000", - $collab="", $probe=true, $remote=true) { + $collab=[], $probeopt="", $remoteopt="", + $probe=true, $remote=true) { if $interface { $interface_real = $interface @@ -152,12 +154,6 @@ define clarified::probe($interface="", $snaplen="65535", $keeptime="100GB", $interface_real = $name } - if $filter { - $miscopts = "-b ${blocksize} -f \"${filter}\"" - } else { - $miscopts = "-b ${blocksize}" - } - file { "/etc/clarified/probe.d/${name}": ensure => $probe ? { true => present, diff --git a/clarified/templates/probe.erb b/clarified/templates/probe.erb index f4ad9fa..fb61c06 100644 --- a/clarified/templates/probe.erb +++ b/clarified/templates/probe.erb @@ -1,63 +1,11 @@ -#!/bin/sh -# Copyright (c) 2007 Clarified Networks Oy. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. +#!/bin/bash -CAPTURE_DIR=/var/lib/recorder/<%= name %> -NETWORK_IFC=<%= interface_real %> -PROBE_IDENT=<%= name %> -SNAPLEN=<%= snaplen %> -KEEPTIME=<%= keeptime %> -MISC_OPTS='<%= miscopts %>' +NETWORK_IFC="<%= interface_real %>" +CAPTURE_DIR="/var/lib/recorder/<%= name %>" +SNAPLEN="<%= snaplen %>" +KEEPTIME="<%= keeptime %>" +BLOCKSIZE="<%= blocksize %>" +FILTER="<%= filter %>" +OPTIONS="<%= probeopt %>" . /etc/clarified/clarified-functions - -start() { - if [ ! -z $SNAPLEN ]; then - PROBE_OPTIONS="-s $SNAPLEN" - fi - if [ ! -z $KEEPTIME ]; then - PROBE_OPTIONS="$PROBE_OPTIONS -k $KEEPTIME" - fi - eval start_probe ${PROBE_OPTIONS} ${MISC_OPTS} ${CAPTURE_DIR} ${NETWORK_IFC} - #LOG_SUCCESS "Probe" $PROBE_IDENT "up" -} - -stop() { - stop_probe $PROBE_IDENT - #LOG_SUCCESS "Probe" $PROBE_IDENT "down" -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|force-reload) - stop - sleep 2 - start - ;; - *) - echo "Usage: $0 {start|stop|restart|force-reload}" >&2 - exit 1 - ;; -esac diff --git a/clarified/templates/remote.erb b/clarified/templates/remote.erb index 4b94df1..1400d71 100644 --- a/clarified/templates/remote.erb +++ b/clarified/templates/remote.erb @@ -1,59 +1,10 @@ -#!/bin/sh -# Copyright (c) 2007 Clarified Networks Oy. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. +#!/bin/bash + +CAPTURE_DIR="/var/lib/recorder/<%= name %>" +PRIVATE_CERT="<%= puppet_ssldir %>/private_keys/<%= homename %>.pem" +PUBLIC_CERT="<%= puppet_ssldir %>/certs/<%= homename %>.pem" +PORT="<%= remoteport %>" +COLLAB="<%= collab.join(" ") %>" +OPTIONS="<%= remoteopt %>" -REMOTE_IDENT=<%= name %> -WORK_DIR=/var/lib/recorder/<%= name %> -PRIVATE_CERT=<%= puppet_ssldir %>/private_keys/<%= homename %>.pem -PUBLIC_CERT=<%= puppet_ssldir %>/certs/<%= homename %>.pem -PORT=<%= remoteport %> . /etc/clarified/clarified-functions - -start() { - start_remote \ -<% collab.each do |c| -%> - -c '<%= c %>' \ -<% end -%> - -p $PORT "$WORK_DIR" "$PRIVATE_CERT" "$PUBLIC_CERT" - #LOG_SUCCESS "Remote" $REMOTE_IDENT "up" -} - -stop() { - stop_remote $REMOTE_IDENT - #LOG_SUCCESS "Remote" $REMOTE_IDENT "down" -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|force-reload) - stop - sleep 2 - start - ;; - *) - echo "Usage: $0 {start|stop|restart|force-reload}" >&2 - exit 1 - ;; -esac