Projet

Général

Profil

Révision cdd39555

IDcdd3955588c76325f74137fda4ff825e9652aa08
Parent 0057c660
Enfant 7f3c3007

Ajouté par Guillaume Marsay il y a presque 9 ans

Update script

Voir les différences:

plugins/chilli/chilli_sessions_
1
#!/bin/bash
1
#!/bin/sh
2 2
# -*- sh -*-
3 3

  
4 4
: << =cut
5 5

  
6 6
=head1 NAME
7 7

  
8
chilli_ - Wildcard-plugin to monitor sessions state on Coova Chilli.
8
chilli_sessions_ - Wildcard-plugin to monitor sessions state on Coova Chilli.
9 9

  
10 10
=head1 CONFIGURATION
11 11

  
......
13 13

  
14 14
The plugin may need to run as root. This is configured like this:
15 15

  
16
  [chilli_*]
16
  [chilli_sessions_*]
17 17
      user root
18 18

  
19 19
This is a wildcard plugin. To monitor an instance, link
20
chilli_<instance> to this file. For example :
20
chilli_sessions_<instance> to this file. For example :
21 21

  
22
  ln -s /usr/share/munin/plugins/chilli_ \
23
        /etc/munin/plugins/chilli_hotspot1
22
  ln -s /usr/share/munin/plugins/chilli_sessions_ \
23
        /etc/munin/plugins/chilli_sessions_hotspot1
24 24

  
25 25
will monitor hotspot1.
26 26

  
27 27
For monitor all instances use :
28 28

  
29
  ln -s /usr/share/munin/plugins/chilli_ \
30
        /etc/munin/plugins/chilli_total
29
  ln -s /usr/share/munin/plugins/chilli_sessions_ \
30
        /etc/munin/plugins/chilli_sessions_total
31 31

  
32 32
=head1 AUTHOR
33 33

  
......
45 45
=cut
46 46

  
47 47

  
48
INSTANCE=${0##*chilli_}
48
INSTANCE="${0##*chilli_}"
49 49
CHILLI_PATH_BIN="/usr/sbin/chilli_query"
50 50
CHILLI_PATH_SOCK="/var/run"
51 51

  
52 52

  
53
case $1 in
53
case "$1" in
54 54
  autoconf)
55
    if [[ -r $CHILLI_PATH_BIN ]]; then
56
      if [[ $INSTANCE == "total" ]]; then
55
    if [ -r "$CHILLI_PATH_BIN" ]; then
56
      if [ "$INSTANCE" = "total" ]; then
57 57
        echo "yes"
58 58
        exit 0
59 59
      else
60
        if [[ -r $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock ]]; then
61
          echo yes
60
        if [ -r "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock ]; then
61
          echo "yes"
62 62
          exit 0
63 63
        else
64 64
          echo "no ($CHILLI_PATH_SOCK/chilli_$INSTANCE.sock not found)"
......
74 74
      INSTANCES_LIST=$(ls /var/run/chilli_*.sock)
75 75

  
76 76
      for file in $INSTANCES_LIST; do
77
        echo $(basename $file .sock | cut -d _ -f 2)
77
        basename "$file" .sock | cut -d _ -f 2
78 78
      done
79 79

  
80 80
      echo "total"
81

  
82
      exit 0
81
      
82
            exit 0
83 83
    ;;
84 84
  config)
85 85
    echo "graph_title Chilli $INSTANCE sessions"
......
102 102
    ;;
103 103
esac
104 104

  
105

  
106
if [[ $INSTANCE == "total" ]]; then
107
  STATE_PASS=$($CHILLI_PATH_BIN list | grep "pass" | wc -l)
108
  STATE_DNAT=$($CHILLI_PATH_BIN list | grep "dnat" | wc -l)
109
  STATE_NONE=$($CHILLI_PATH_BIN list | grep "none" | wc -l)
105
if [ "$INSTANCE" = "total" ]; then
106
  STATE_PASS=$("$CHILLI_PATH_BIN" list | grep -wc "pass")
107
  STATE_DNAT=$("$CHILLI_PATH_BIN" list | grep -wc "dnat")
108
  STATE_NONE=$("$CHILLI_PATH_BIN" list | grep -wc "none")
110 109
else
111
  STATE_PASS=$($CHILLI_PATH_BIN -s $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock list | grep "pass" | wc -l)
112
  STATE_DNAT=$($CHILLI_PATH_BIN -s $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock list | grep "dnat" | wc -l)
113
  STATE_NONE=$($CHILLI_PATH_BIN -s $CHILLI_PATH_SOCK/chilli_$INSTANCE.sock list | grep "none" | wc -l)
110
  STATE_PASS=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock list | grep -wc "pass")
111
  STATE_DNAT=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock list | grep -wc "dnat")
112
  STATE_NONE=$("$CHILLI_PATH_BIN" -s "$CHILLI_PATH_SOCK"/chilli_"$INSTANCE".sock list | grep -wc "none")
114 113
fi
115 114

  
116 115
echo "pass.value $STATE_PASS"

Formats disponibles : Unified diff