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 @Thomas Braun last edited by

      @thomas-braun
      Hallo Thomas,
      das hat leider auch nicht fuktioniert.

      Admin@DiskStation:~$ 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;"
      Password: 
      sudo: meinpasswort: command not found
      Admin@DiskStation:~$ 
      

      Die Passwortabfrage kommt trotzdem. Wenn ich es dann eingebe, wird es nicht angenommen.

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

        @haumichel
        Erklär doch mal bitte genau was du machen möchtest.

        Du hast die Diskstation, auf der läuft PiHole im Docker container?
        Warum ist der Docker container nicht im netzwerk erreichbar bzw. du musst wahrscheinlich für den docker den ssh zugriff freigeben?

        Du willst unter meine Befehle als z.B. button per Linux Control Adapter den Befehl

        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;"
        

        abstezen?

        H 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            840
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter control hardware linux steuern
                                            64
                                            656
                                            128754
                                            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