Witness update: Full API node temporarily down [solved]

in hive-102132 •  last year  (edited)

Unfortunately, my entire API server crashed today during the backup of the hivemind node. I cannot yet say what caused the crash. But the server was no longer accessible from the outside.

I'll have to have a look at the logs in the next few days to find out the reasons.
As you can see, there was a peak in the CPU load shortly before the "crash":
grafik.png

So far, the backup scripts have always worked perfectly. But sometimes things go wrong.
It then took some time before the server was accessible again. I had hoped that it would calm down again on its own. But it didn't help, I had to reset the server and force it to shut down.

The old backups will now be transferred back to the server and then synchronised. The nodes should be up and running again by Monday evening at the latest.

The API node, the account history node and the Hivemind node are running on the server.
I am now temporarily retrieving the data from the Steemit servers. My server is therefore still accessible, but with the limits that apply to the Steemit servers. Please also note that the Steemit nodes sometimes output operations twice.


Update 04.12.2023: The server was no longer repairable within a reasonable time. The support quickly arranged for the server to be replaced. Unfortunately, I now have to set it up from scratch.
Current status: API node and AH node are currently being synchronised.

Update 05.12.2023: The Full API Node and the Account History Node are online again. Hivemind still takes a little while. As justyy has pointed out, there is an update. I'll have to take a closer look at it first.

Steem Search on https://moecki.online/

My Full Node on https://api.moecki.online

My Python Pricefeed for Witnesses

Thanks for your Witness Vote

03.12.2023
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Oh, oh - und das am Sonntag. Hoffe du hast nicht zu viel Arbeit mit dem guten Stück. Viel Glück!

Ja, ist schon ärgerlich. War eigentlich eine Routine-Sache...
Beim Start der Synchronisation heute morgen ist er gleich wieder zwei Mal abgeschmiert. Der CPU-Load war jetzt definitiv okay. Da muss noch was anderes sein. Habe jetzt den Support kontaktiert.

Lieber @michelangelo3 (bissel schleimen hehe)
wärst du bereit, mir etwas PHP Nachhilfe zu geben🙏? So wie ich die Sachlage beurteile, bist du der Spezialist dafür.
Mein Problem ist es, ich bekommen von hier "https://auth.steem.fans/" mein acces_tocken user_name expire_in aber callback.php und getlogin.php trägt diese Antwort nicht in die Mysql Datenbank. Ich habe nicht rausgefunden warum. Anscheinend bin ich viel zu doof dafür 😅

Kann dir gerne helfen, ohne den Quellcode von callback.php und getlogin.php zu kennen ist das jedoch schwierig.

Nebenbei: Wird auth.steem.fans überhaupt noch verwendet? Schätze die meisten, mich eingeschlossen, nehmen lieber SteemKeychain. Aber - das ist ja nicht das Problem.

Als erstes, falls du das nicht hast, würde ich error_reporting einschalten und die Scriptlaufzeit auf 2 Minuten hochsetzen.

error_reporting(E_ALL);
ini_set('display_errors', 'On');
ini_set('max_execution_time', 120);

Und dann natürlich den SQL-String am Bildschirm ausgeben. Falls hier acces_tocken / user_name / expire_in nicht vorhanden sind, musst halt auf die Suche gehen - an welcher Stelle die Variablen evtl. überschrieben oder falsch belegt werden.

Oh, ich bin tatsächlich was MySql betrifft eingerostet, mittlerweile funktionieren die mir bekannten Funktionen wie mysql_connect() nicht mehr. Vielleicht hast du veraltete Befehle benutzt?

Schau mal hier.

Wenn du nur kurz etwas machen willst, ist es mit MySQLi wohl leichter, mit PDO kannst dafür verschiedene Db's ansprechen. Geschmacksache, welche Syntax dir besser gefällt und halt auch, was man braucht. Falls ich irgendwann MySql brauchen würde, dann würde ich MySQLi nehmen, das kommt den Befehlen die ich kenne am nächsten.

Das Beste kommt zum Schluss:

Hier noch eine Übersicht, über die MySQLi-Funktionen. Evtl. sind mysqli_errno() bzw. mysqli_error() für dich nützlich.

Vielen Dank erstmal, das ist ja supperrr. Ich werde ein Beitrag schreiben und den poste ich hier https://steemit.com/trending/hive-122334 ,den Beitrag können wir ja endlos kommentieren, oder? Hast du einen anderen Vorschlag?

Ja, passt. Dann schon mal viel Glück bei der Fehlersuche!

Ach, ich wusste bisher gar nicht, dass du eine eigene Community gegründet hattest. Das Thema passt zu dir :-)

Ja, ist aber stillgelegt. Hab damit lang nichts mehr gemacht und eine Wiederbelebung hab ich auch nicht vor. Wobei mir die Nr. 122334 für eine Community ganz gut gefällt :-)

Mist! Toi, toi, toi für diese zeitfressende Angelegenheit!
Mit der Kontaktierung des Supports kommst du hoffentlich weiter - soll ja fähige Support-Center geben… 😉

Ja, zeitraubend ist wohl wahr. Zumal ich hinsichtlich der Hardware nicht viel machen kann.
Der Support war echt schnell. Es läuft wohl auf einen vollständigen Servertausch hinaus. Also alles neu einrichten. Ist für mich (und für den Support wohl auch) jetzt aber weniger zeitraubend als weiter auf Fehlersuche zu gehen...

... dabei wollten wir doch snacken ;-)

Ja, das ist wohl die pragmatischste Lösung. Erinnert mich ein bisschen an meine (lange) Zeit als Windows-User. Stunden-, nein tagelang nach Fehlern gesucht, um am Ende doch neu zu installieren. Dabei stets das mulmige Gefühl im Nacken, ob man die Sicherung jeder wichtigen Datei auch wirklich bedacht hat... Ojemine!

Okay, um auf einen Snack nach Meck-Pomm zu düsen, sind mir die Straßenverhältnisse doch ein wenig zu heikel. Das Schnacken aber wird nicht weglaufen... Schiet Autokorrektur, de nich Norddüütsch schnacken deit... 😉

  ·  last year (edited)

die Sicherung jeder wichtigen Datei auch wirklich bedacht hat.

Das ist wohl war. Ich hatte so einige Dateien - auch solche, die einfach das Handling vereinfachen sollen, gesichert. Aber ob das wirklich alles ist, was man so verzapft hat während der Laufzeit, muss sich erst zeigen.

auf einen Snack

Da zeigt sich, dass ich nicht wirklich viel Platt höre. Vom Gefühl hätte ich "Snacken" (ausgesprochen wie Nacken) gesagt, für den richtigen Platt-Sprecher ist das dann wohl nur ein weiterer Anglizismus :-)
Diesmal ist jedenfalls nicht die Autokorrektur dafür verantwortlich ;-)

Ich glaube, das war ein bisschen gemein von mir. Oder besser die Freude an der Wortspielerei.
In Hamburg, wo de Lüüt übern s-pitzen S-tein s-tolpern, wird so oder so gesnackt... ;-)

Freude an der Wortspielerei.

Die darf man auch haben. Insofern habe ich den Spaß gern mitgemacht :-))

Das alles ist mit zeitraubender Arbeit verbunden, ruhige Nerven braucht man dazu auch noch. Ich hatte schon mal mit einer meiner Server ähnliches Problem. Ein Server, wo ich ständig experimentiert habe, hatte HDD Festplatten so günstig wie möglich, beim Parsen der Steem Blockchain wollte ich zwischendurch Backup Datei erstellen von mysql-datenbank, da ist der ab und zu abgeschmiert und war offline nicht mehr zu erreichen, nach langen Hin und Her wo mich nur nerven gekostet hat, die Ursache war eine defekte Festplatte. Das war die Zeit wo du mich angesprochen hast, was ich mit deiner API so mache hehe 🙃 . Ich möchte dich noch etwas fragen, wie viel Datensatz insgesamt hat deiner API in letzten Monat verarbeitet? Diese Frage stelle ich dir aus Neugier und zum Vergleich.

  ·  last year (edited)

Da bin ich ja beruhigt, dass mir das nicht allein so geht. Anders als bei der Technik zu Hause ist man ja nicht Herr der Hardware. Man weiß nie, wie alt die Teile sind, die da eingebaut werden, oder was die schon so auf dem Buckel haben.
Aktuell (also bei den aktuellen Zeugenstimmen) bin ich aber nicht bereit noch einen API-Rückfall-Server zu mieten.

Kann also alles mal passieren... Wenn es dann allerdings unvorhersehbare Hindernisse gibt, braucht es wirklich ruhige Nerven. Heute Morgen, nachdem die Installation der Backups und die Syncro abgeschlossen war, hat auf einmal der Full-API-Container gesponnen. Er hat mir sämtliche peer-Knoten verworfen, da diese angeblich fehlerhafte Blöcke gesendet haben. So wurde kein einziger (neuer) Block gepushed. Das hatte ich auch noch nicht.
Zum Glück hatte ich gestern ein aktuelles Backup gemacht, so dass ich dieses einspielen konnte... und jetzt läuft der Knoten wieder wie geschmiert. :-)

Hivemind dauert noch ein wenig. Da muss ich mal sehen, ob ich gleich das aktuellste Update verwende.

wie viel Datensatz insgesamt hat deiner API in letzten Monat verarbeitet?

Hm, ich weiß nicht genau, was du damit meinst. Wenn du den Server-Traffic meinst, kann ich dir die Monatsdaten vom Server-Anbieter (in GByte) mitteilen:

MonthIncomingOutgoingGesamt
November60428488
Oktober62447509

"Aktuell (also bei den aktuellen Zeugenstimmen) bin ich aber nicht bereit noch einen API-Rückfall-Server zu mieten."

Da gebe ich dir vollkommen recht, muss man nicht, es gibt zeugen, die haben höheren rank und bieten keine API oder etwas Ähnliches. Das, was ich als Zeuge bekomme, geht alles wieder raus als Serverkosten oder an Wähler. Als neugieriger habe ich nur Arbeit damit 😅 .

Zum vergleich, hier sind meine Datenverarbeitung. Der Server läuft seit 228 Tagen problemlos, SteemAuto läuft auf dem selben Server.

datenverarbeitung_nov.png

Du wirst es nicht glauben. Ich habe schon wieder einen Festplattenfehler auf dem Server. Ich vermute, das war auch der Grund beim ersten Mal.

Der Server läuft seit 228 Tagen problemlos

Anfangs lief er bei mir auch sehr gut. Aber jetzt scheint es, als wenn nur noch minderwertige Hardware eingebaut wird... Ich muss mir dringend überlegen, ob ich den Anbieter wechsle...

Wenn einmal der Wurm drinnen ist isse drin, bei mir lief der Server auch ganz gut. Nur wenn ich mit Daten füttern wollte, ist der meistens abgeschmiert, habe gekündigt und gleich anderen Server genommen. So wie du sachtes Hivemind einrichten dauert etwas länger wie steem-api und steem-ah. Bei welche Anbieter läuft deine API?

Ich habe den Server bei Hetzner. Das war bisher sehr zuverlässig. Aber so langsam bin ich in Übung, was die Einrichtung angeht ;-))
Habe gerade gesehen, dass ich vergessen habe, dich zu fragen, bei welchem Anbieter du bist. Wer macht denn da so schöne Übersichten?

Oh Hetzner, dachte bei dem sind Krypto-Anwendungen nicht erlaubt. Vielleicht geht das jetzt auch wieder, aber in diesem reddit Beitrag von vor einem Jahr steht, angeblich from support:

Our policy does not allow to run any application in connection with cryptocurrency. This includes mining/farming, plotting, operation of nodes, storage of blockchaindata and trading.

Hmm... :-(

Ich hatte meinen (schlanken Blurt-) Witness damals bei Contabo, der machte auf einmal auch Probleme. Nach Umzug auf einen neuen Server lief es dann aber zuverlässig.

Ja, die damalige Unterhaltung hatte ich auch mitbekommen.

Ich lasse es einfach drauf ankommen. So richtig konsequent scheinen sie bei Hetzner (noch) nicht zu sein, wenn man die Zahl der Ethereum-Knoten bei Hetzner sieht (Link siehe reddit Beitrag).

Die AGB von Hetzner sind in dem Punkt auch nicht wirklich konkret:

Weiterhin ist der Betrieb von Applikationen zum Mining von Kryptowährungen untersagt. Dazu gehören insbesondere, aber nicht abschließend Mining, Farming, Plotting, von Kryptowährungen.

Meine Zeugenknoten laufen ja nicht bei Hetzner :-))

Wo ist der Standort von deinem Server Deutschland oder Finnland?
Meine Domains sind bei https://www.cloudflare.com/de-de/ registriert. Da bekommt Mann so Übersichten, gibt mehrere 🙂

übersicht2.png

übersicht1.png

Der Server steht in D.

Ah, ja, Cloudflare also. Kenne ich zwar, habe mich aber noch nicht intensiv damit beschäftigt. Da muss ich noch ein wenig nachlesen.
Soweit ich das verstanden habe, geht dann der Traffic über Cloudflare mit entsprechender Absicherung. Aber die Server selbst sind doch dann nicht bei Cloudflare, oder?
Hast du den Free-Tarif, oder gleich was professionelles?

🙈

Murphys Gesetz:

Wenn etwas schief geht, dann richtig...😉

Wird schon. Hast ja Optionen.

Ich wünsche gutes Gelingen bei dem Unterfangen.

Viel Erfolg.

Danke dir.
Das muss ich nicht so oft haben. Alles, was man sonst über ein ganzes Jahr installiert und eingerichtet hat, soll jetzt innerhalb kürzester Zeit erfolgen. Ich möchte den Server auch wieder anbieten. Es gab ja schon einige Nutzer.
Aber ich muss mich da auch ein wenig zurücknehmen. Steem ist schließlich nur mein Hobby :-)

Der liebe Gott hat Dir ein Zeichen gesendet.

Die Botschaft musst Du selber deuten...😉

✨🦋🙏

What do you think about these thoughts