ipac-ng - ipac.conf - TeamSpeak2 Traffic messen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
boehserwolf
Beiträge: 3
Registriert: 04.07.2004 14:47:00

ipac-ng - ipac.conf - TeamSpeak2 Traffic messen

Beitrag von boehserwolf » 24.04.2005 00:54:01

Wenn ich versuche den Port 8767 für meinen TS2 Server zu messen erscheint folgende Fehlermeldung:

Restarting IP Accounting: Incorrect rule: source or destination port specified while protocol is not

was mach ich falsch? Wie sage ich dem ipac-ng das er den Port nur auf die eine IP messen soll und nicht auf jeder ip ?!

Benutzeravatar
Gharika
Beiträge: 209
Registriert: 28.09.2004 16:51:51
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von Gharika » 27.04.2005 14:23:17

Ist leider keine Antwort auf deine Frage, da ich ipac-ng nicht kenne, jedoch hat der TS-Server auch selber diese von dir benötigten Statistiken.

Hier mal ein Beispiel-Script:

Code: Alles auswählen

#!/bin/sh
#/usr/share/cacti/myscripts/tss_info.sh
host=127.0.0.1 # ts server is runing on localhost
port=51234     # ts port defined in server.ini
cmd1='gi'      # get ts server information
cmd2='si 8767' # get specific server information

echo open ${host} ${port}
sleep 1
echo ${cmd1}
sleep 1
echo ${cmd2}
sleep 1
echo exit
Das kann man mal so ausführen:

Code: Alles auswählen

sh tss_info.sh | telnet 2>/dev/null
...
telnet> Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
[TS]
...
total_server_version=2.0.20.1
total_server_platform=Linux
total_servers=1
...
server_packetssend=5864
server_bytessend=154676
server_packetsreceived=5864
server_bytesreceived=119119
...
Dazu habe ich noch eins gebaut um mit rrdtool Statistik-Daten zu sammeln:

Code: Alles auswählen

#!/bin/bash
#/usr/share/cacti/myscripts/tss.sh

TSS_STATS='/tmp/tss_stats'
TSS_INFO='/usr/share/cacti/myscripts/tss_info.sh'
DATE1MIN=`date +%s --date='1 min'`
AGE=$DATE1MIN

if [ -z "$1" ]; then
  echo usage: $0 stat_type
  exit
fi

# check if file is older then 1min (5min update period)
# if older, renew tss server information in file
if [ -f ${TSS_STATS}* ]; then
  AGE=`ls ${TSS_STATS}* | cut -f3 -d'_'`
  if (( $AGE < `date +%s` )); then
    rm -f ${TSS_STATS}*
    AGE=${DATE1MIN}
    sh ${TSS_INFO} | telnet 2>/dev/null > ${TSS_STATS}_${AGE}
  fi
else
  AGE=${DATE1MIN}
  sh ${TSS_INFO} | telnet 2>/dev/null > ${TSS_STATS}_${AGE}
fi

OUTPUT=`cat ${TSS_STATS}_${AGE} | grep "${1}" | cut -f2 -d'='`
echo -n $OUTPUT
Dann kann man direkt einen bestimmten Wert abfragen:

Code: Alles auswählen

tss.sh server_bytesreceived
119119

Antworten