Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Linux Control v1.x.x

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Test Adapter Linux Control v1.x.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      haumichel @Scrounger last edited by haumichel

      @scrounger
      Also.
      Bisher lief das PiHole auf einem Raspberry mit eigener IP bei mir im Netzwerk. Ich habe über den Adapter folgenden Befehl ausgeführt und das Ergebnis in einen DP geschrieben.

      sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
      

      Das hat sehr gut funktioniert.
      Jetzt läuft das PiHole auf der Synology Diskstation im Dockercontainer im Host Netz. Das Pihole ist über die IP-Adresse der DS erreichbar. Als DNS-Server im Netzwerk funktioniert das auch sehr gut. Einzig die Abfrage vom Adapter funktioniert nicht mehr.
      Um mich via Terminal am PiHole anzumelden muss ich erst eine ssh Verbindung zur DS aufbauen

      Mac:~ noname$ ssh Admin@192.168.178.5
      Admin@192.168.178.5's password: 
      Admin@DiskStation:~$ 
      

      um dann per docker exec befehl z.B. die Abfrage absetzen zu können.

      Admin@DiskStation:~$ sudo docker exec -it pihole sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
      Password: 
      msg.volkswagen.de|1828
      api-global.netflix.com|747
      lcprd1.samsungcloudsolution.net|360
      Admin@DiskStation:~$ 
      

      Wie gesagt, im Terminal klappt das, ich muss aber 2 mal manuell das Passwort eingeben.
      Ich weiß nicht wie ich das alles in einem Befehl verpacken kann, der dann via Adapter/meine Befehle losgeschickt wird. Die Abfrage läuft Zeitgesteuert einamal am Tag.

      Vielen Dank

      Scrounger 1 Reply Last reply Reply Quote 0
      • Scrounger
        Scrounger Developer @haumichel last edited by

        @haumichel

        Gehe ich richtig in der Annahme das das Passwort das gleiche ist?
        Dann müsste es mit sudo -S gehen. Erstell mal unter meine Befehle einen Button, der dann deinen befehl mit sudo -S ausführt. Beim host den haken bei nutze sudo setzen.

        Wenn es nicht geht, mal den adapter auf debug stellen, den Button drücken und danach das vollständige log posten, dann sieht man was der Adapter als antwort bekommt bzw. überhaupt macht.

        H 1 Reply Last reply Reply Quote 0
        • H
          haumichel @Scrounger last edited by

          @scrounger
          Ja, das Passwort ist das gleiche.
          Ich habe einen neuen Host erstellt, IP von der DS, Benutzer und Passwort vom DS-Admin, Sudo nutzen ist angehakt.
          Unter meine Befehle habe ich folgenden Befehl verwendet und als Button getriggert:

          sudo -S meinpasswort docker exec -it pihole sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 3;"
          

          Beim Klick auf den Button wird folgendes ins Log geschrieben:

          linux-control.0	2021-07-06 07:49:19.543	info	(2833) successful received data from PiHoleDS (192.168.178.5:22)
          linux-control.0	2021-07-06 07:49:19.385	info	(2833) getting data from PiHoleDS (192.168.178.5:22)
          linux-control.0	2021-07-06 07:49:19.383	info	(2833) state linux-control.0.PiHoleDS.refresh changed: true (ack = false)
          

          Im DP ist dieses hier zu finden:

          Password: sudo: meinpasswort: command not found
          
          Scrounger 1 Reply Last reply Reply Quote 0
          • Scrounger
            Scrounger Developer @haumichel last edited by

            @haumichel
            Adapter auf debug stellen! Und dann nochmal das Log Posten.
            Und meinpasswort nicht mit in den Befehl nur sudo -S, der Adapter setzt dann das Passwort wenn er gefragt wird.

            H 1 Reply Last reply Reply Quote 0
            • H
              haumichel @Scrounger last edited by

              @scrounger
              Hat leider auch nicht funktioniert.
              Das Log hat keinen Fehler gezeigt, im DP allerdings stand, dass docker ein unknown command sei.
              Ich denke, eine Lösung gefunden zu haben.
              Da ich das pihole-Verzeichnis eh schon aus dem Container auf die DS "rausgemountet" habe, habe ich die Abfrage jetzt mal mit diesem Befehl direkt auf der DS versucht:
              mountpfad.png

              sqlite3 /volume1/08\ Docker/pihole/pihole/pihole-FTL.db "SELECT domain,count(domain) FROM queries WHERE timestamp BETWEEN strftime('%s','now','-1 day','start of day') and strftime ('%s','now','start of day') GROUP BY domain ORDER BY count(domain) DESC LIMIT 4;"
              

              Das scheint zu funktionieren. Der DP enthält nun Folgendes:

              safebrowsing.googleapis.com|53
              iobroker.fritz.box|44
              e673.dsce9.akamaiedge.net|29
              play.google.com|27
              

              Vielen Dank für die Hilfe

              1 Reply Last reply Reply Quote 0
              • H
                haumichel last edited by

                Hello again,
                ich habe schon wieder eine Frage.
                Als Nächstes möchte ich versuchen, den Speicherverbrauch und die CPU Nutzung des PiHole-Dockercontainers zu ermitteln. Dazu habe ich, um den Problemen aus meinem vorigen Post aus dem Weg zu gehen, die Datei sshd_config so verändert, dass ich mich mit root direkt an der Konsole anmelden kann.
                Im Terminal meines Macs gebe ich also nun Folgendes ein:

                Mac:~ noname$ ssh root@192.168.178.5
                

                Nach Eingabe des Passworts komme dann direkt zu dieser Eingabeaufforderung:

                root@192.168.178.5's password: 
                root@DiskStation:~# 
                

                Nach Eingabe von

                root@DiskStation:~# docker stats pihole
                

                sehe ich diese Übersicht

                CONTAINER ID   NAME      CPU %     MEM USAGE / LIMIT   MEM %     NET I/O   BLOCK I/O   PIDS
                f679d6e90ff6   pihole    0.04%     57.22MiB / 2GiB     2.79%     0B / 0B   0B / 0B     0
                

                Im Adapter unter Allgemein habe ich jetzt direkt den root-Zugang eingetragen, "benutze Sudo" ist nicht angehakt.
                Unter "meine Befehle" habe ich genau den Befehl (docker stats pihole), den ich auch im Terminal verwende, eingetragen und bekomme im Log folgende Fehlermeldung:

                2021-07-07 12:48:54.324 - error: linux-control.0 (32235) [userCommandExecute] PiHole (192.168.178.5:22, id: docker_stats, description: Docker Status): response error: ash: docker: command not found, stack: ResponseError: [userCommandExecute] PiHole (192.168.178.5:22, id: docker_stats, description: Docker Status): ash: docker: command not found
                

                Was mache ich nun schon wieder falsch? 😢

                Vielen Dank

                H Thomas Braun Scrounger 3 Replies Last reply Reply Quote 0
                • H
                  haumichel @haumichel last edited by haumichel

                  @haumichel sagte in Test Adapter Linux Control v1.x.x:

                  response error: ash:

                  Liegt es vielleicht daran, dass "docker stats" eine dynamische anzeige als Antwort liefert?
                  Und wie bekomme ich es hin, dass ich die Antwort von z. B.

                  root@DiskStation:~# docker stats pihole | awk 'NR==2 {print $3}'
                  
                  0.23%
                  

                  als einfachen Wert zurückbekomme?

                  edit:
                  Auch der Befehl

                  docker stats pihole --no-stream | awk 'NR==2 {print $3}'
                  

                  gibt eine Fehlermeldung zurück

                  2021-07-07 13:42:21.457 - error: linux-control.0 (8522) [userCommandExecute] PiHole (192.168.178.5:22, id: docker_stats, description: Docker Status): response error: ash: docker: command not found, stack: ResponseError: [userCommandExecute] PiHole (192.168.178.5:22, id: docker_stats, description: Docker Status): ash: docker: command not found
                  

                  VIelen Dank

                  1 Reply Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @haumichel last edited by

                    @haumichel sagte in Test Adapter Linux Control v1.x.x:

                    sshd_config so verändert, dass ich mich mit root direkt an der Konsole anmelden kann.

                    Macht man nicht. Nutze Standarduser.

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      haumichel @Thomas Braun last edited by

                      @thomas-braun
                      Hallo Thomas,
                      trotz meiner doch sehr begrenzten Computerkenntnisse, habe ich genau das schon gewusst. Den User benutze ich momentan um einzelne Befehle zu testen. Das Problem aus meinem vorigen Thread bestand ja darin, dass ich die zusätzliche Passwortabfrage bei Eingabe von sudo umgehen will. Die DS scheint sudo -S nicht zu unterstützen.
                      Später soll, wenn ich keine andere Lösung finde, dieser User nur für fest verdrahtete Befehle aus dem Adapter genutzt werden.
                      Trotzdem Danke für den Hinweis.

                      Thomas Braun 1 Reply Last reply Reply Quote 0
                      • Thomas Braun
                        Thomas Braun Most Active @haumichel last edited by Thomas Braun

                        @haumichel
                        Dann ist es ja noch weniger sinnvoll als ohnehin schon da mit einer root shell zu agieren.

                        Aber auf einer nur DS mit dem ganz rudimentären Linux da drauf ist das eh so eine Sache.

                        H 1 Reply Last reply Reply Quote 0
                        • H
                          haumichel @Thomas Braun last edited by

                          @thomas-braun
                          Natürlich ist das nicht sonderlich sinnvoll.
                          Anstatt aber nur meine Fehler und mein Unwissen herauszustellen, könntest du mir ja kurz erklären wie ich es besser machen könnte.
                          Ich hätte auch versuchen können die Datei sudoers zu editieren. Die Gefahr mein ganzes System damit zu zerstören war mir aber zu groß, bin halt nen ziemlicher Noob.
                          Und ob das nun "eh nur so eine Sache" ist mit dem rudimentären Linux auf der DS, ist mir relativ egal. ich möchte das irgendwie hinbekommen und dabei lernen.
                          Heute habe ich z. B schon gelernt, dass die DS nur ein rudimentäres Linux hat und das es noch sinnloser als sinnlos sein kann mit einem root-Account zu agieren.

                          da_Woody 1 Reply Last reply Reply Quote 0
                          • da_Woody
                            da_Woody @haumichel last edited by

                            @haumichel rudimentäres Linux auf der DS ist noch ein hilfsausdruck. das ding ist mächtig verbogen... hab da auch schon meine erfahrungen machen "dürfen"

                            1 Reply Last reply Reply Quote 0
                            • Scrounger
                              Scrounger Developer @haumichel last edited by

                              @haumichel sagte in Test Adapter Linux Control v1.x.x:

                              2021-07-07 12:48:54.324 - error: linux-control.0 (32235) [userCommandExecute] PiHole (192.168.178.5:22, id: docker_stats, description: Docker Status): response error: ash: docker: command not found, stack: ResponseError: [userCommandExecute] PiHole (192.168.178.5:22, id: docker_stats, description: Docker Status): ash: docker: command not found
                              

                              Das sagt erstmal nur das der befehl nicht gefunden wird. Versuch es mal mit dem absoluten pfad.
                              Also sofern es den befehl gibt whereis docker ausführen und dann den pfad mit im Befehl angeben.

                              H 1 Reply Last reply Reply Quote 0
                              • H
                                haumichel @Scrounger last edited by

                                @scrounger

                                root@DiskStation:~# whereis docker
                                -ash: whereis: command not found
                                root@DiskStation:~# 
                                

                                Scheint es nicht zu geben.
                                Warum gibt es den Befehl wenn ich mich als root per Terminal einlogge? Wenn sich der Adapter einloggt gibt es ihn aber nicht. Da scheint es in meinem Kopf einen weißen Fleck zu geben.
                                Was passiert im Hintergrund wenn ich dem Adapter unter Allgemein den Root-Zugang mitgebe?

                                Scrounger 1 Reply Last reply Reply Quote 0
                                • Scrounger
                                  Scrounger Developer @haumichel last edited by Scrounger

                                  @haumichel sagte in Test Adapter Linux Control v1.x.x:

                                  Warum gibt es den Befehl wenn ich mich als root per Terminal einlogge? Wenn sich der Adapter einloggt gibt es ihn aber nicht. Da scheint es in meinem Kopf einen weißen Fleck zu geben.

                                  Wo ist der docker installiert? wen z.b. unter /etc/docker/ liegt, dann versuch mal bei dem befehl im adapter /etc/docker/docker ....

                                  Was passiert im Hintergrund wenn ich dem Adapter unter Allgemein den Root-Zugang mitgebe?

                                  Einfach gesagt verwendet der einen ssh zugang, details siehe verwendete Library:
                                  https://github.com/steelbrain/node-ssh#readme

                                  Mit "vernüftigen" Linux Dist funktioniert das auch alles super 😉

                                  H 1 Reply Last reply Reply Quote 0
                                  • H
                                    haumichel @Scrounger last edited by

                                    @scrounger
                                    Super, vielen Dank für den Schubs in die richtige Richtung.
                                    Mit diesem Befehl im Adapter klappt es nun.

                                    /usr/local/bin/docker stats --no-stream | awk 'NR==2 {print $7}'
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • Negalein
                                      Negalein Global Moderator last edited by

                                      @Scrounger

                                      Ich betreibe auf einem Mini-PC nun Proxmox.
                                      Hätte die Daten in Linux-Control eingetragen und alle Datenpunkte aktiviert.
                                      instances - ioBroker (16).png
                                      instances - ioBroker (17).png

                                      Mir wird aber zB .needrestart.needrestart nicht angezeigt.
                                      Behauptet auch dass Proxmox nicht online ist, was nicht stimmt.

                                      Ich sehe nur die paar DP .
                                      objects - ioBroker (13).png

                                      Muss in diesem Fall noch was konfiguriert werden?

                                      Admin ist 5.1.9
                                      JS-Controller ist 3.3.14

                                      Scrounger 1 Reply Last reply Reply Quote 0
                                      • Scrounger
                                        Scrounger Developer @Negalein last edited by

                                        @negalein

                                        Needrestart Paket musst du installieren.
                                        Bzgl das er nicht online ist, IP utils auf dem iobroker und Client neu installieren.

                                        1 Reply Last reply Reply Quote 1
                                        • david83
                                          david83 last edited by david83

                                          Hallo und danke für diesen tollen Adapter!

                                          Eine Frage, kann ich irgendwo sehen welche Befehle über linuxcontrol per ssh an einen angelegten Host gesendet werden?
                                          Ich konnte auch mit der Suche nicht fündig werden.

                                          Mfg
                                          David

                                          Hat sich erledigt. Adapter auf Debug und dann per

                                          Iobroker-vm:~# grep "linux-control" /opt/iobroker/log/iobroker.2021-08-19.log
                                          

                                          Commands gesichtet.

                                          1 Reply Last reply Reply Quote 0
                                          • copystring
                                            copystring last edited by

                                            Hallo zusammen.

                                            kann mir jemand helfen? Den Adapter habe ich gerade eben entdeckt, installiert und eingerichtet.
                                            Vier hosts hinzugefügt. Alle offline...
                                            iputils-ping ist installiert. Ping vom terminal des iobroker zu den anderen hosts kein Problem.
                                            linux-adapter meldet jedoch immer wieder, dass die hosts nicht erreichbar sind.

                                            Hier ein debug log dazu: https://pastebin.com/GBv2TqYL

                                            Scrounger 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            571
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter control hardware linux steuern
                                            64
                                            656
                                            128763
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo