Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
wiki:ems:dscollectord [2015/02/10 21:57] ingof |
wiki:ems:dscollectord [2016/05/24 18:42] (aktuell) ingof |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Collectord für Synology Diskstation ====== | ====== Collectord für Synology Diskstation ====== | ||
+ | |||
+ | <WRAP left round important 60%> | ||
+ | Die Installation nach dieser Anleitung habe ich nie fertigstellen können. | ||
+ | Die Installation in einem Docker-Container war bei mir erfolgreich. Die Anleitung folgt noch... | ||
+ | </ | ||
==== Generelles ==== | ==== Generelles ==== | ||
Für meine Diskstation möchte ich den collectord kompilieren. | Für meine Diskstation möchte ich den collectord kompilieren. | ||
Für die aktuellen Diskstation-Modelle wurden verschieden Prozessoren verwendet. | Für die aktuellen Diskstation-Modelle wurden verschieden Prozessoren verwendet. | ||
- | Daher müss für jeden Prozessor der collector kompiliert werden. | + | Daher muss für jeden Prozessor der collector |
Hier erst mal meine ersten Versuche den collectrod auf einer Diskstation zu kompilieren. | Hier erst mal meine ersten Versuche den collectrod auf einer Diskstation zu kompilieren. | ||
Zeile 10: | Zeile 15: | ||
==== Voraussetzungen zum kompilieren ==== | ==== Voraussetzungen zum kompilieren ==== | ||
- | __Hardware: | + | __Hardware: |
+ | Eine Diskstation\\ | ||
- | Eine Diskstation | + | __Software: |
- | + | SSH-Client | |
- | __Software: | + | |
- | + | ||
- | IPKG | + | |
- | vi | + | |
- | GCC-Compiler | + | |
- | collectord Quelltext | + | |
- | Notwendige Bibliotheken | + | |
- | mySQL Connector C++ | + | |
- | + | ||
- | Leider sind meine Linux-Kenntnisse nicht allzu groß. Deswegen ist hier erst mein mein aktueller Stand der Kompilierung zu finden. Diese ANleitung soll auch für Anfänger funktionieren die nicht erst noch nach Grundlagen googlen müssen. | + | |
Zur Kompilierung ist eine SSH/Telnet Terminal Verbindung notwendig. Diese Terminal Verbindung muss erst auf der Diskstation über DSM aktiviert freigeschaltet werden. Da die SSH-Verbindung verschlüsselt ist sollte diese Vorgezogen werden. Bei Telnet wird das Passwort unverschlüsselt übertragen und sollte nur im eigenen Netz ohne Internet-Verbindung verwendet werden. | Zur Kompilierung ist eine SSH/Telnet Terminal Verbindung notwendig. Diese Terminal Verbindung muss erst auf der Diskstation über DSM aktiviert freigeschaltet werden. Da die SSH-Verbindung verschlüsselt ist sollte diese Vorgezogen werden. Bei Telnet wird das Passwort unverschlüsselt übertragen und sollte nur im eigenen Netz ohne Internet-Verbindung verwendet werden. | ||
- | Für die SSH-Verbindung nehme ich TeraTerm. Auf meinen Diskstation läuft DSM 5.1. Das Vorgehen sollte auf älteren Versionen | + | Für die SSH-Verbindung nehme ich TeraTerm. Auf meinen Diskstation läuft DSM 5.1. Das Vorgehen sollte auf älteren Versionen |
==== IPKG Installation ==== | ==== IPKG Installation ==== | ||
- | Für die Installation gibt es von Synology ein Deutsches Wiki: | + | Für die Installation gibt es von Synology ein [[http:// |
- | [[http:// | + | |
- | Dieser Anleitung | + | Dieser Anleitung folgen. |
- | Statt den Pfad auszukommentieren | + | Bei mir hat das auskommentieren der Pfadangaben in **/ |
+ | Statt die beiden Zeilen für den Pfad mit **#** auszukommentieren | ||
- | ==== editieren | + | ==== Editieren |
zum editieren einfach nur vi mit dem Dateinamen angeben. | zum editieren einfach nur vi mit dem Dateinamen angeben. | ||
- | **vi / | + | '' |
- | + | ||
- | mit den Pfeiltasten zur Einfügepösition gehen und **i** drücken um in den Einfügemodus zu gelangen. Jetzt kann der PATH erweitert werden. | + | |
- | + | ||
- | Nach der Erweiterung keine Eingabetaste drücken. | + | |
- | + | ||
- | Zurück in den Befehlsmodus von vi kommt man mit der **Escape**-Taste. | + | |
+ | mit den Pfeiltasten zur Einfügeposition gehen und '' | ||
+ | Nach der Erweiterung keine Eingabetaste drücken.\\ | ||
+ | Zurück in den Befehlsmodus von vi kommt man mit der **Escape**-Taste.\\ | ||
Um die Änderungen zu speichern und vi ohne Nachfrage zu verlassen folgendes eingeben: | Um die Änderungen zu speichern und vi ohne Nachfrage zu verlassen folgendes eingeben: | ||
- | **:wq!** | + | '' |
Bei Eingabefehlern einfach mit Escape zurück in den Befehlsmodus und **:quit!** eingeben und noch mal von vorne starten. | Bei Eingabefehlern einfach mit Escape zurück in den Befehlsmodus und **:quit!** eingeben und noch mal von vorne starten. | ||
Zeile 55: | Zeile 48: | ||
==== Paketliste aktualisieren ==== | ==== Paketliste aktualisieren ==== | ||
- | **ipkg update** | + | '' |
- | ==== GCC Installation | + | ==== GCC und Bibliotheken installieren |
- | **ipkg install gcc** | + | '' |
+ | ipkg install gcc\\ | ||
+ | ipkg install git\\ | ||
+ | ipkg install optware-devel\\ | ||
+ | ipkg install boost-iostreams\\ | ||
+ | ipkg install boost-dev\\ | ||
+ | ipkg install boost-thread\\ | ||
+ | ipkg install boost-system\\ | ||
+ | ipkg install boost-date-time\\ | ||
+ | ipkg install ncurses ncurses-dev\\ | ||
+ | '' | ||
+ | Aus https:// | ||
+ | '' | ||
+ | rm / | ||
+ | ln -s / | ||
+ | '' | ||
- | ==== Optware-Devel Installation ==== | ||
- | Das sind notwendige zusatzprogramme die zum kompilieren benötigt werden. | ||
- | **ipkg install optware-devel** | + | ==== Quelltexte ==== |
+ | < | ||
+ | \\ | ||
+ | [[https:// | ||
- | ==== Boost-Bibliothek ==== | ||
- | Zum kompilieren wird ein Teil der Boost-Bibliothek benötigt. | ||
- | |||
- | **ipkg install boost-iostreams** | ||
- | |||
- | ==== Quelltexte ==== | ||
- | Ich habe ein Fork von Danny-Baumanns Quelltext erstellt. Vermutlich müssen kleine Änderungen am Import des mySQL-Connector gemacht werden. Falls es läuft kann das vielleicht von Danny in seinen Master-Branch eingefügt werden. | + | ==== CMake ==== |
- | [[https://github.com/ingof/ems-collector|collectord]] | + | Auf [[http://www.cmake.org/download/|CMake Download-Seite]] könnte es eine neuere Version von Cmake geben. Dann einfach die Versionnummern in den folgenden Befehlen anpassen: |
+ | '' | ||
+ | cd / | ||
+ | wget %%http:// | ||
+ | tar jxf cmake-3.1.0-1-src.tar.bz2\\ | ||
+ | ./ | ||
+ | ./ | ||
+ | ./ | ||
+ | cd cmake-3.1.0/ | ||
+ | bin/cpack -G STGZ'' | ||
+ | <wrap lo> | ||
+ | '' | ||
+ | * Lizenztext-Anzeige mit " | ||
+ | * Do you want to include the subdirectory cmake-3.1.0-Linux-armv5tel? | ||
+ | Saying no will install in: "/ | ||
- | Leider gibt es noch kein IPKG-Paket für die mySQL-Connector-C++ Bibliothek und diese muss auch kompiliert werden. Hier bitte Source Code auswählen und den Sourcecode herunterladen. Es ist auch möglich über den unteren Link den Sourcecode herunter zu laden ohne sich registrieren zu lassen. | + | Die Installation von cmake ist nun abgeschlossen. |
- | [[http:// | ||
- | ==== Sourcecode auf die Diskstation kopieren | + | ==== MariaDB Client Library for C ==== |
- | vermutlich gibt es auch eine einfacher Möglichkeit mit wget. Ich habe bisher | + | Leider |
+ | Jetzt kann man über >Produkt > | ||
- | Da der collectord hinterher wohlin | + | '' |
+ | cp /volume1/public/ | ||
+ | cd / | ||
+ | tar zxf mariadb_client-2.0.0-src.tar.gz\\ | ||
+ | cd mariadb_client-2.0.0-src\\ | ||
+ | mkdir build\\ | ||
+ | cd build\\ | ||
+ | cmake ..\\ | ||
+ | make all'' | ||
- | **cp / | ||
+ | ==== collectord | ||
- | Diese Bibliothek ist im Moment mein aktuelles Problem für das ich bisher keine Lösung habe. Beim Quelltext sind Cmake Scripte vorhanden. Diese sind für das CrossCompile. Die Makefiles sind nicht vorhanden. Daher ist so kein einfaches kompilieren über make möglich. | + | '' |
+ | git clone %%https:// | ||
+ | cd ems-collector/ | ||
+ | make\\ | ||
+ | cp -a collectord / | ||
+ | cd / | ||
- | Vermutlich könnte dass der entscheidende Link sein um die Bibliothek | + | Hier gibt es jetzt allerdings |
+ | Der GCC für die Diskstations ist zu alt und kennt die Option **-std=c++0x** nicht. | ||
+ | Der GCC-Compiler unterstützt das erst ab Version 4.7. | ||
+ | Mir ist bisher keine Möglichkeit bekannt dieses Problem zu umgehen. | ||
- | [[http:// | ||
+ | ==== Aufräumen ===== | ||
- | ==== mySQL Connector installieren ==== | + | '' |
+ | Löschen des Git-Verzeichnisses " | ||
+ | '' | ||
- | ==== collectord | + | ==== Konfiguration |
- | Wenn die Bibliotheken des mySQL-Connectors kompiliert und installiert wurden sind alle Vorraussetzungen erfüllt um endlich den collectord zu kompilieren. | + | identisch mit Raspberry |
- | Dazu bitte in den richtigen Ordner mit dem zu kompilierenden Quelltext gehen. | ||
- | **cd / | + | ==== Autostart collectord ==== |
- | und das compilieren starten | + | ..... in Arbeit ..... |
- | **make all** | ||
- | Bei mir gibt es natürlich massenhaft Fehlermedlungen. Viele davon liegen an der fehlenden Bibliothek des mySQL Connector | ||