xymon

Hex Artifact Content
Login

Artifact a3f305a8cf89a9a826a867c40746dfa89e6a7a15db99f445b7dbf08ed3d6ccb5:


0000: 23 21 2f 62 69 6e 2f 73 68 0a 23 0a 23 2d 2d 2d  #!/bin/sh.#.#---
0010: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0020: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0030: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0040: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0050: 2d 2d 2d 2d 2d 2d 2d 2d 2d 23 0a 23 20 46 72 65  ---------#.# Fre
0060: 65 42 53 44 20 63 6c 69 65 6e 74 20 66 6f 72 20  eBSD client for 
0070: 58 79 6d 6f 6e 20 20 20 20 20 20 20 20 20 20 20  Xymon           
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00a0: 20 20 20 20 20 20 20 20 23 0a 23 20 20 20 20 20          #.#     
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 20 23 0a 23 20 43 6f 70 79 72         #.# Copyr
0100: 69 67 68 74 20 28 43 29 20 32 30 30 35 2d 32 30  ight (C) 2005-20
0110: 31 31 20 48 65 6e 72 69 6b 20 53 74 6f 72 6e 65  11 Henrik Storne
0120: 72 20 3c 68 65 6e 72 69 6b 40 68 73 77 6e 2e 64  r <henrik@hswn.d
0130: 6b 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20  k>              
0140: 20 20 20 20 20 20 23 0a 23 20 20 20 20 20 20 20        #.#       
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0180: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0190: 20 20 20 20 20 23 0a 23 20 54 68 69 73 20 70 72       #.# This pr
01a0: 6f 67 72 61 6d 20 69 73 20 72 65 6c 65 61 73 65  ogram is release
01b0: 64 20 75 6e 64 65 72 20 74 68 65 20 47 4e 55 20  d under the GNU 
01c0: 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c  General Public L
01d0: 69 63 65 6e 73 65 20 28 47 50 4c 29 2c 20 20 20  icense (GPL),   
01e0: 20 20 20 20 23 0a 23 20 76 65 72 73 69 6f 6e 20      #.# version 
01f0: 32 2e 20 53 65 65 20 74 68 65 20 66 69 6c 65 20  2. See the file 
0200: 22 43 4f 50 59 49 4e 47 22 20 66 6f 72 20 64 65  "COPYING" for de
0210: 74 61 69 6c 73 2e 20 20 20 20 20 20 20 20 20 20  tails.          
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0230: 20 20 20 23 0a 23 20 20 20 20 20 20 20 20 20 20     #.#          
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0250: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0270: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0280: 20 20 23 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    #.#-----------
0290: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02d0: 2d 23 0a 23 0a 23 20 24 49 64 24 0a 0a 65 63 68  -#.#.# $Id$..ech
02e0: 6f 20 22 5b 64 61 74 65 5d 22 0a 64 61 74 65 0a  o "[date]".date.
02f0: 65 63 68 6f 20 22 5b 75 6e 61 6d 65 5d 22 0a 75  echo "[uname]".u
0300: 6e 61 6d 65 20 2d 61 0a 65 63 68 6f 20 22 5b 75  name -a.echo "[u
0310: 70 74 69 6d 65 5d 22 0a 75 70 74 69 6d 65 0a 65  ptime]".uptime.e
0320: 63 68 6f 20 22 5b 77 68 6f 5d 22 0a 77 68 6f 0a  cho "[who]".who.
0330: 65 63 68 6f 20 22 5b 64 66 5d 22 0a 23 20 54 68  echo "[df]".# Th
0340: 65 20 73 65 64 20 73 74 75 66 66 20 69 73 20 74  e sed stuff is t
0350: 6f 20 6d 61 6b 65 20 73 75 72 65 20 6c 69 6e 65  o make sure line
0360: 73 20 61 72 65 20 6e 6f 74 20 73 70 6c 69 74 20  s are not split 
0370: 69 6e 74 6f 20 74 77 6f 2e 0a 64 66 20 2d 48 20  into two..df -H 
0380: 2d 74 6e 6f 6e 66 73 2c 6e 75 6c 6c 66 73 2c 63  -tnonfs,nullfs,c
0390: 64 39 36 36 30 2c 70 72 6f 63 66 73 2c 64 65 76  d9660,procfs,dev
03a0: 66 73 2c 6c 69 6e 70 72 6f 63 66 73 2c 66 64 65  fs,linprocfs,fde
03b0: 73 63 66 73 20 7c 20 73 65 64 20 2d 65 20 27 2f  scfs | sed -e '/
03c0: 5e 5b 5e 20 09 5d 5b 5e 20 09 5d 2a 24 2f 7b 0a  ^[^ .][^ .]*$/{.
03d0: 4e 0a 73 2f 5b 20 09 5d 2a 5c 6e 5b 20 09 5d 2a  N.s/[ .]*\n[ .]*
03e0: 2f 20 2f 0a 7d 27 0a 65 63 68 6f 20 22 5b 69 6e  / /.}'.echo "[in
03f0: 6f 64 65 5d 22 0a 23 20 54 68 65 20 73 65 64 20  ode]".# The sed 
0400: 73 74 75 66 66 20 69 73 20 74 6f 20 6d 61 6b 65  stuff is to make
0410: 20 73 75 72 65 20 6c 69 6e 65 73 20 61 72 65 20   sure lines are 
0420: 6e 6f 74 20 73 70 6c 69 74 20 69 6e 74 6f 20 74  not split into t
0430: 77 6f 2e 0a 64 66 20 2d 69 20 2d 74 6e 6f 6e 66  wo..df -i -tnonf
0440: 73 2c 6e 75 6c 6c 66 73 2c 63 64 39 36 36 30 2c  s,nullfs,cd9660,
0450: 70 72 6f 63 66 73 2c 64 65 76 66 73 2c 6c 69 6e  procfs,devfs,lin
0460: 70 72 6f 63 66 73 2c 66 64 65 73 63 66 73 20 7c  procfs,fdescfs |
0470: 20 73 65 64 20 2d 65 20 27 2f 5e 5b 5e 20 09 5d   sed -e '/^[^ .]
0480: 5b 5e 20 09 5d 2a 24 2f 7b 0a 4e 0a 73 2f 5b 20  [^ .]*$/{.N.s/[ 
0490: 09 5d 2a 5c 6e 5b 20 09 5d 2a 2f 20 2f 0a 7d 27  .]*\n[ .]*/ /.}'
04a0: 20 7c 20 61 77 6b 20 27 0a 4e 52 3c 32 7b 70 72   | awk '.NR<2{pr
04b0: 69 6e 74 66 20 22 25 2d 32 30 73 20 25 31 30 73  intf "%-20s %10s
04c0: 20 25 31 30 73 20 25 31 30 73 20 25 31 30 73 20   %10s %10s %10s 
04d0: 25 73 5c 6e 22 2c 20 24 31 2c 20 22 69 74 6f 74  %s\n", $1, "itot
04e0: 61 6c 22 2c 20 24 36 2c 20 24 37 2c 20 24 38 2c  al", $6, $7, $8,
04f0: 20 24 39 7d 20 0a 4e 52 3e 3d 32 7b 70 72 69 6e   $9} .NR>=2{prin
0500: 74 66 20 22 25 2d 32 30 73 20 25 31 30 64 20 25  tf "%-20s %10d %
0510: 31 30 64 20 25 31 30 64 20 25 31 30 73 20 25 73  10d %10d %10s %s
0520: 5c 6e 22 2c 20 24 31 2c 20 24 36 2b 24 37 2c 20  \n", $1, $6+$7, 
0530: 24 36 2c 20 24 37 2c 20 24 38 2c 20 24 39 7d 27  $6, $7, $8, $9}'
0540: 0a 65 63 68 6f 20 22 5b 6d 6f 75 6e 74 5d 22 0a  .echo "[mount]".
0550: 6d 6f 75 6e 74 0a 65 63 68 6f 20 22 5b 6d 65 6d  mount.echo "[mem
0560: 69 6e 66 6f 5d 22 0a 24 58 59 4d 4f 4e 48 4f 4d  info]".$XYMONHOM
0570: 45 2f 62 69 6e 2f 66 72 65 65 62 73 64 2d 6d 65  E/bin/freebsd-me
0580: 6d 69 6e 66 6f 0a 65 63 68 6f 20 22 5b 73 77 61  minfo.echo "[swa
0590: 70 69 6e 66 6f 5d 22 0a 73 77 61 70 69 6e 66 6f  pinfo]".swapinfo
05a0: 20 2d 6b 0a 65 63 68 6f 20 22 5b 76 6d 74 6f 74   -k.echo "[vmtot
05b0: 61 6c 5d 22 0a 73 79 73 63 74 6c 20 76 6d 2e 76  al]".sysctl vm.v
05c0: 6d 74 6f 74 61 6c 0a 65 63 68 6f 20 22 5b 69 66  mtotal.echo "[if
05d0: 63 6f 6e 66 69 67 5d 22 0a 69 66 63 6f 6e 66 69  config]".ifconfi
05e0: 67 20 2d 61 0a 65 63 68 6f 20 22 5b 72 6f 75 74  g -a.echo "[rout
05f0: 65 5d 22 0a 6e 65 74 73 74 61 74 20 2d 72 6e 0a  e]".netstat -rn.
0600: 65 63 68 6f 20 22 5b 69 66 73 74 61 74 5d 22 0a  echo "[ifstat]".
0610: 6e 65 74 73 74 61 74 20 2d 69 20 2d 62 20 2d 6e  netstat -i -b -n
0620: 20 7c 20 65 67 72 65 70 20 2d 76 20 22 5e 6c 6f   | egrep -v "^lo
0630: 7c 3c 4c 69 6e 6b 22 0a 65 63 68 6f 20 22 5b 6e  |<Link".echo "[n
0640: 65 74 73 74 61 74 5d 22 0a 6e 65 74 73 74 61 74  etstat]".netstat
0650: 20 2d 73 0a 65 63 68 6f 20 22 5b 70 6f 72 74 73   -s.echo "[ports
0660: 5d 22 0a 28 6e 65 74 73 74 61 74 20 2d 57 6e 61  ]".(netstat -Wna
0670: 20 2d 66 20 69 6e 65 74 3b 20 6e 65 74 73 74 61   -f inet; netsta
0680: 74 20 2d 57 6e 61 20 2d 66 20 69 6e 65 74 36 29  t -Wna -f inet6)
0690: 20 7c 20 67 72 65 70 20 22 5e 74 63 70 22 0a 65   | grep "^tcp".e
06a0: 63 68 6f 20 22 5b 70 73 5d 22 0a 23 20 44 6f 6e  cho "[ps]".# Don
06b0: 74 20 75 73 65 20 22 61 72 67 73 22 2e 20 22 63  t use "args". "c
06c0: 6f 6d 6d 61 6e 64 22 20 77 6f 72 6b 73 20 61 6c  ommand" works al
06d0: 73 6f 20 69 6e 20 46 72 65 65 42 53 44 20 34 2e  so in FreeBSD 4.
06e0: 78 2e 0a 70 73 20 2d 61 78 64 20 2d 77 77 20 2d  x..ps -axd -ww -
06f0: 6f 20 70 69 64 2c 70 70 69 64 2c 75 73 65 72 2c  o pid,ppid,user,
0700: 73 74 61 72 74 2c 73 74 61 74 65 2c 70 72 69 2c  start,state,pri,
0710: 70 63 70 75 2c 63 70 75 74 69 6d 65 2c 70 6d 65  pcpu,cputime,pme
0720: 6d 2c 72 73 73 2c 76 73 7a 2c 63 6f 6d 6d 61 6e  m,rss,vsz,comman
0730: 64 0a 0a 23 20 24 54 4f 50 20 6d 75 73 74 20 62  d..# $TOP must b
0740: 65 20 73 65 74 2c 20 74 68 65 20 69 6e 73 74 61  e set, the insta
0750: 6c 6c 20 75 74 69 6c 69 74 79 20 73 68 6f 75 6c  ll utility shoul
0760: 64 20 64 6f 20 74 68 61 74 20 66 6f 72 20 75 73  d do that for us
0770: 20 69 66 20 69 74 20 65 78 69 73 74 73 2e 0a 69   if it exists..i
0780: 66 20 74 65 73 74 20 22 24 54 4f 50 22 20 21 3d  f test "$TOP" !=
0790: 20 22 22 0a 74 68 65 6e 0a 20 20 20 20 69 66 20   "".then.    if 
07a0: 74 65 73 74 20 2d 78 20 22 24 54 4f 50 22 0a 20  test -x "$TOP". 
07b0: 20 20 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20     then.        
07c0: 65 63 68 6f 20 22 5b 74 6f 70 5d 22 0a 09 24 54  echo "[top]"..$T
07d0: 4f 50 20 2d 6e 20 32 30 0a 20 20 20 20 66 69 0a  OP -n 20.    fi.
07e0: 66 69 0a 0a 23 20 76 6d 73 74 61 74 0a 6e 6f 68  fi..# vmstat.noh
07f0: 75 70 20 73 68 20 2d 63 20 22 76 6d 73 74 61 74  up sh -c "vmstat
0800: 20 33 30 30 20 32 20 31 3e 24 58 59 4d 4f 4e 54   300 2 1>$XYMONT
0810: 4d 50 2f 78 79 6d 6f 6e 5f 76 6d 73 74 61 74 2e  MP/xymon_vmstat.
0820: 24 4d 41 43 48 49 4e 45 44 4f 54 53 2e 24 24 20  $MACHINEDOTS.$$ 
0830: 32 3e 26 31 3b 20 6d 76 20 24 58 59 4d 4f 4e 54  2>&1; mv $XYMONT
0840: 4d 50 2f 78 79 6d 6f 6e 5f 76 6d 73 74 61 74 2e  MP/xymon_vmstat.
0850: 24 4d 41 43 48 49 4e 45 44 4f 54 53 2e 24 24 20  $MACHINEDOTS.$$ 
0860: 24 58 59 4d 4f 4e 54 4d 50 2f 78 79 6d 6f 6e 5f  $XYMONTMP/xymon_
0870: 76 6d 73 74 61 74 2e 24 4d 41 43 48 49 4e 45 44  vmstat.$MACHINED
0880: 4f 54 53 22 20 3c 2f 64 65 76 2f 6e 75 6c 6c 20  OTS" </dev/null 
0890: 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 20  >/dev/null 2>&1 
08a0: 26 0a 73 6c 65 65 70 20 35 0a 69 66 20 74 65 73  &.sleep 5.if tes
08b0: 74 20 2d 66 20 24 58 59 4d 4f 4e 54 4d 50 2f 78  t -f $XYMONTMP/x
08c0: 79 6d 6f 6e 5f 76 6d 73 74 61 74 2e 24 4d 41 43  ymon_vmstat.$MAC
08d0: 48 49 4e 45 44 4f 54 53 3b 20 74 68 65 6e 20 65  HINEDOTS; then e
08e0: 63 68 6f 20 22 5b 76 6d 73 74 61 74 5d 22 3b 20  cho "[vmstat]"; 
08f0: 63 61 74 20 24 58 59 4d 4f 4e 54 4d 50 2f 78 79  cat $XYMONTMP/xy
0900: 6d 6f 6e 5f 76 6d 73 74 61 74 2e 24 4d 41 43 48  mon_vmstat.$MACH
0910: 49 4e 45 44 4f 54 53 3b 20 72 6d 20 2d 66 20 24  INEDOTS; rm -f $
0920: 58 59 4d 4f 4e 54 4d 50 2f 78 79 6d 6f 6e 5f 76  XYMONTMP/xymon_v
0930: 6d 73 74 61 74 2e 24 4d 41 43 48 49 4e 45 44 4f  mstat.$MACHINEDO
0940: 54 53 3b 20 66 69 0a 0a 65 78 69 74 0a 0a        TS; fi..exit..