Teamspeak in Munin einbinden

  • TS ist ja über telnet erreichbar.

    Nur zur Info mittleilerweile hat der TS3 Server eine neue Abfrage möglichkeit mit Query SSH.
    Dafür muss folgendes in der .ini Datei eingestellt werden:

    Code
    query_protocols=raw,ssh (raw = alte Query Abfrage per Telnet & ssh = neue Query Abfrage per SSH)
    query_ssh_ip=0.0.0.0,:: (Server IP,s Eintragen)
    query_ssh_port=10022    (Port für die Abfrage)


    Kann es evtl sein das bei dir die raw Option deaktiviert ist, dann gehen die ganzen alten Tools nicht mehr?
    Edit: Sehe grade das Telent bei dir geht, das Thema hört sich aber auch für mich intressant an.


    Ich betreibe mein TeamSpeak 3 Server mit einer .ini Datei, weil es führer mal Probleme bei Netcup mit der MAC Adresse vom Netzwerkinterface gab.
    Natürlich nutze ich auch TS3 Viewer, der mir den Status auf einer Webseite anzeigt.


    Außerdem nutze ich den letzten Schritt im Netcup Wiki schon lange nicht mehr, weil es micht genervt nach jeden Update diese Datei zu Bearbeiten.
    Ich lasse den TS3 Server als Dienst auf Debain bei mir laufen und habe das dort den Verweis zur .ini Datei eingestellt.

    Zitat

    Damit der Server immer über diese Konfigurationsdatei startet bearbeitet man nun mit einem Editor die Datei ts3server_startscript.sh und ändert Zeile 5 wie folgt ab.

    Code
    COMMANDLINE_PARAMETERS="inifile=ts3server.ini"
  • Vielen Dank für den Tipp. Ich habe mir auch gleich mal die ini erstellt.

    Leider hat das bei dem Problem nicht geholfen. Hatte bereits "raw und ssh" eingetragen.



    python3 --version vs python --version ;)


    Und python3 steht ja sowieso schon in der Shebang…

    Korrekt.

    python3 --version = 3.7.3

    python --version = 2.7.16


    Ich habe das Skript mal mit "python3 ts3clients.py" gestartet und erhalte folgenden Fehler.

    Enviroment variables 'query_user' and 'query_password' are required


    Der User und das Passwort wurden wie angegeben eingetragen.

    [ts3clients]

    env.query_host 127.0.0.1

    env.query_ssh_port 10022

    env.query_user serveradmin

    env.query_password secretpassword


    :/

  • Ich habe das Skript mal mit "python3 ts3clients.py" gestartet und erhalte folgenden Fehler.

    Wenn Du es händisch aufrufst (ohne munin-run o.ä.) ist das normal, da die Umgebungsvariablen ja nicht existieren. Die müsstest Du dann schon selbst mitgeben…

    Bash
    var1=xyz var2=zyx python3 foobar.sh

    Ist aber egal, weil es laut Shebang (erste Zeile des Scripts) sowieso schon mit python3 aufgerufen wird.


    Was jetzt an den ursprünglichen Fehlern Schuld ist weiß ich nicht. Das überlasse ich den Python-Experten.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Code
    Another reason can be the presence of the byte order mark (BOM) at the start of the file, if the file is using an Unicode encoding.
    
    The presence of the BOM was my problem for my Python script encoded in UTF-8. I removed the BOM using my text editor Geany, but Notepad++ can also remove it, and I was able to run my script with a starting shebang line with ./myscript.py .

    Vielleicht noch soon Problem? Wurde das Script irgendwie kopiert ?

    Mal die env variablen setzen.


    Mit ./ts.py starten. Wenns geht ists das nicht. Selber fehler wie bei munin, dann könnte es das ausm Zitat sein.

  • Ich habe das Skript 1 zu 1 von Github kopiert und via nano eingefügt bzw. auf dem Server die Datei erstellt.

    Hatte bisher nie Probleme damit. Kann ja mal testen, was passiert, wenn ich die Datei direkt von Github lade.


    Was meinst du genau mit env setzen?

    env habe ich in der ersten Codezeile des Scripts sowie in der munin-node-conf.


    Das script ist via ./ts3clients.py nicht ausführbar -> Permission denied trotz root

  • @nitram vielen Dank für den klasse Tipp! ;)


    Ich habe nun endlich das Script von MigthyBroccoli zum Laufen bekommen.

    Nachdem ich das Script direkt als zip auf den Server gezogen habe und bei der Munin-Node-Conf die env.-Variablen gesetzt habe, läuft nun alles.


    Vielen Dank für die Hilfe