Beiträge von mightyBroccoli

    Ich fand deine Vorschläge echt gut, daher habe ich immer wenn mal etwas Zeit war diese in mein Plugin eingebaut. Da Munin allerdings keine Erreichbarkeit darstellt, bzw einen dauerhaften Wert von 1 anzuzeigen ist nicht gerade spannend. ^^

    + multiple sid trackable

    + packet loss statistics

    + ping statistics

    * various performance optimizations


    Zur Veranschaulichung hier noch ein Bild von allen Plugins in Action.

    Hi,


    ich suche schon länger nach einem ordentlichen und vor allem übersichtlichen Munin Plugin für Teamspeak. Die bisherigen laufen zwar mehr oder weniger allerdings eher weniger als mehr. Daher habe ich ein kleines Skript geschrieben das mir einige Dinge ausgibt.

    Das Skript kann im Moment folgendes:

    • Traffic in / out
    • File Transfer Traffic in / out
    • usercount
    • uptime

    Besonders bei den in / out Graphen ist, dass es sich um mirrored Graphen handelt. Das heißt das der positive Teil des Graphs die empfangenen Bytes und der negative Teil des Graphen die gesendeten Bytes darstellt. ( siehe Beispiel )


    Ich habe für das Plugin keines der älteren Modelle als Basis genommen sondern mich an die best practice Regeln von munin gehalten und versucht das Plugin so einfach wie möglich zu halten.


    Die aktuellste Version ist ein meinem Git zu finden > https://git.magicbroccoli.de/public/nico/teamspeak-munin-py
    Ein Mirror ist allerdings auch auf Github zu finden > https://github.com/mightyBroccoli/teamspeak-munin-py

    Ich hab mir den Bot vor einiger Zeit schon einmal angesehen. Vorteilhaft ist definitiv das der Entwickler eine eigene Client Implementierung verwendet, der für die Aufgabe optimiert ist. Allerdings ist der Nachteil das Server die aktuelle Client Versionen fordern mit dem Bot nicht arbeiten können.

    Aber vom Rechtesystem und der Art und Weise wie der Bot aufgebaut ist 1a. Mir gefällt Sinusbot nicht so daher würde ich mich freuen wenn der Bot demnächst die aktuelle Clientversion mitbringt.

    vielleicht in den ts-einstellungen irgendwas deaktiviert / keine Rechte eine broadcast Nachricht zu senden ?

    Das kann gut sein dafür müsstest du in der Konfigurationsdatei deines TeamSpeak Servers nachsehen.


    Code
    1. $ cat ./teamspeak3-server_linux_amd64/ts3server.ini

    Damit eine telnet Verbindung zur Verfügung stehen kann muss der Eintrag query_protocols mindestens den Wert raw enthalten. Falls du auch ssh verwenden möchtest raw,ssh. Zusätzlich dazu sind die Werte für den Port unter query_ssh_port zu finden.


    Falls das alles nichts hilft könntest du auch einmal in netstat nachsehen ob überhaupt irgendeine Form von Port Allokation stattgefunden hat mit netstat -tulpen.

    Eine Identität kann man nicht ohne Zugriff auf den Client "stehlen".

    Das ist nicht korrekt.

    TeamSpeak verwendet ein public/ privat Key Verfahren um Clients gegenüber dem Server zu verifizieren.


    Disclaimer: Ich kann nicht verifizieren wie viele Methoden TeamSpeak tatsächlich verwendet. Daher nur die Basics von PGP Verifizierung.

    Basics :


    Dein Client sendet den public Part seines Keys an den Server. dieser verschlüsselt daraufhin mit diesem public Key das folgende Packet. Diesen kann der private Teil deines Keys entschlüsseln.


    Das ganze Verfahren beruht auf einem Problem das sich p/np Problematik nennt. Auf diese Art der Verifizierung runter gebrochen heißt das,

    - public unbekannt und privat bekannt => mathematisch einfach den public key zu errechnen.

    - public bekannt und privat unbekannt => mathematisch bisher extrem schwierig zu errechnen


    Darin liegt der Witz des Verfahrens, verschlüssle ich etwas mit deinem public key, ist es dir sehr schnell möglich herauszufinden ob die Verschlüsselung korrekt war. Da du den privat Part des Keys innehast. Die andere Richtung ist möglich aber sehr sehr rechenintensiv und zeit intensiv.


    Auf das Problem des Threads bezogen gibt es 2 Möglichkeiten:

    a) jemand hat versucht eine Identität zu fälschen bzw. zu craften konnte sich selbst allerdings nicht verifizieren da er den privat key nicht korrekt fälschen konnte. Der Server hat dies korrekter Weise gemerkt und ihn gebannt

    b) ein simpler Bot matched keys mit user Namen und hat entdeckt das User xyz diesen Namen nicht innehaben darf und ihn gebannt.

    Hi um dein Problem zu lösen müsstes du eventuell noch etwas genauer das Problem bzw. die Umstände beschreiben.


    Relevant wäre:
    - ist das Datenbank Benutzer korrekt angelegt
    - läuft die Datenbank korrekt
    - was für eine Datenbank verwendest du überhaupt

    @SquareRoot ich hab einfach mal mein ping tool angeworfen und ich kann die Seite seit meiner ersten Antwort hier nicht erreichen. Ich würde das eher als nicht so gut bezeichnen.


    Wenn du einen guten Anbieter suchst der ein Platin rating im Bereich hosting hat schau dir mal Netcup.de an. Ich hab alle meine Server dort. Ich finds 1a wenn tatsächlich mal was nicht läuft antwortet der Support innerhalb von wenigen Minuten, selbst mitten in der Nacht. Schreib mir eine PN wenn du an referral Codes interessiert bist.

    Korrigiert mich wenn ich falsch liege, aber ist es nicht untersagt TeamSpeak als Service kostenpflichtig anzubieten wenn man keine Lizenz dafür hat.


    Ich bin mir nämlich fast sicher das ausschließlich mit einer ATHP Lizenz TeamSpeak Server gewerblich verkaufen lassen. Selbst bei einer NPL Lizenz wäre das nicht möglich da die Lizenz eine gewerbliche Nutzung komplett ausschließt. Vor allem wenn es sich dabei um einen bezahlten Service handelt. Klar kann kein professioneller Hoster da mithalten, aber will ich einen totalen cheapo vServer wo auch immer gehostet wo nicht mal die Lizenzierung klar offen liegt. Ganz sicher nicht.


    Zusätzlich hat die ganze Geschichte einen mega overhead. Wenn jeder TeamSpeak einen eigenen vServer hat, selbst wenn es virtualisierte Maschinen auf einem großen Hostsystem sind, steigt der Aufwand der Administration extrem an. Speziell bei einem TeamSpeak die teilweise extrem anfällig für DDOS Angriffe oder SYN flood Angriffe sind. 1A Umgebung wenn das Hostsystem einen riesen Hit bekommt weil ein Server mega geflooded wird.


    Zum Zeitpunkt des Schreibens war nichtmal die Website erreichbar. Ich weiß nicht ob das ein soooo gutes Licht auf die Sache wirft. Und sich dann fragen wieso ständig Sachen nicht so funktionieren wie man es haben will aber möglichst wenig Geld bezahlen weil das der einzige relevante Faktor ist...

    Wieso nicht systemd verwenden? Systemd verwaltet schon die ganzen Systemdienste die eben auch nicht abstürzten sollten und dürfen. Falls dies doch einmal passiert kümmert sich systemd direkt darum und startet den Dienst neu. Die Syntax ist nicht schwierig und erfordert praktisch keine weiteren Kenntnisse.
    Ich hab in einem anderen Thread schonmal darüber geschrieben. @tholler schau es dir mal und frag mich sonst. Macht vieles einfach. Vorallem auch das starten direkt nach dem booten oder neustarten falls der Prozess stoppt oder abbricht weswegen auch immer.


    Why not systemd?


    Dein eigentliches Problem ist das vermutlich ein Socket noch aktiv ist obwohl der zugehörige Prozess beendet wurde. Gäbe die Möglichkeit diesen zu suchen hier und da allerdings einfachster Weg wäre reboot. Danach via Systemd starten und das Problem wird nie wieder auftreten da Systemd sich ab dann um alles kümmert. Auch um verwaiste binds.

    Fangen wir mal ganz von vorne an.
    Sicherlich ist es interessant wie viele User sich bei einer Lastspitze in einem Channel aufhalten da die Last für die Applikation dahingehend sinkt / steigt. Allerdings und das ist meiner Meinung nach der Punkt hier ich vermute der Screenshot von deinem htop zeigt eine eher ruhige Phase.


    Bei System wo timing interessant ist, also Games oder eben Voice ist der load interessant. Auf deinem Screenshot ist ein 15 Sekunden Load von 1.05 ein 1 Min Load von 1.18 und 5 Min Load von 1,24 zu sehen. Dabei hast du bloß 2 Threads. Heißt im Klartext wenn der Load größer als 2 ist muss ein Thread gleichzeitig mehr als 1 Aufgabe bearbeiten. Das führt dazu das Latenzen entstehen dadurch das ein gewisser Queue entsteht bei der Abarbeitung von Aufgaben. Versuch den Load auf deinem System niedrig zu halten. Dinge wie globale Verschlüsselung aus wenn du keine aes flag auf dem CPU hast und so weiter und sofort.


    Die Ruhebelastung von einem System sollte niemals mehr als 20% der Grundleistung fressen um Peaks auszugleichen usw. Falls sie es tut muss ein größeres System her oder eben eine Reduzierung der Systemdienste.

    Also WhatsApp ist schön und gut da viele Leute diesen Messenger besitzen aber die ganzen Lücken und Datensicherheit ist bei dem Dienst einfach für den Ar***. Telegram ist ein Stück besser aber da ist die Verschlüsselung genauso optional und wird auch von praktisch niemandem verwendet. XMPP ist ein Standard der super gut etabliert ist. Leider muss man immer so viel Überzeugungsarbeit leisten bis jemand wechselt.


    Ohne ganz ekelhaft Eigenwerbung zu betreiben :P https://magicbroccoli.de/xmpp/


    Wegen dem Skript ich arbeite gerade noch an einem größeren Feature siehe log auditing script für Mail / XMPP , dafür habe ich den Code nochmal optimiert siehe mightyBroccoli / logwatch scripts / feature/diagnostic_messages — Bitbucket


    Also rein theoretisch reicht 1 Account aus ist dann aber ekelhaft unübersichtlich daher 2 Accounts. Alles weitere ist dann läpsch Passwort und Server in die config eintragen fertig.

    Es ist vollkommen unnnötig die Nachricht über 50 unterschiedliche Dienst zu schieben um eine einfache Benachrichtigung zu bekommen.


    Es gibt genügend XMPP Clients fürs Handy. Ich hab genau für dieses Problem ein Skript geschrieben das mit verschiedenen Filtern die Logs durchschaut und bei Funden benachrichtigt.
    Vorteil ist: das Skript kann theoretisch alle 10 Sekunden laufen und schickt trotzdem nur neue Nachrichten und keine doppelten Ereignisse.


    Ich hab in diesem Forum schon einen Beitrag dazu geschrieben : log auditing script für Mail / XMPP

    bei Fragen melde dich sonst bei mir

    Interessant wären einige Dinge:
    Speicherplatz auf dem System bzw die Belegung. df -hl
    Auslastung des Systems via load average Dafür könntest du uptime verwenden dieser gibt diese Info nützlicherweise mit aus.


    Als letztes das Log von dem Rangsystem. Schau in die config wo genau das logfile liegt.