Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Monitor your Internet service and provider

Information and Support

  1. Home
  2. Categories
  3. Support forums
  4. ARM
  5. Install infinite loop
Automatically monitor your Internet service and provider with alerts to problems
Track Internet disconnections, provider outages with historical data, and automated speed testing.
For Windows, Linux, ARM64, ARMa7. Learn more by visiting www.outagesio.com
Notice: If you created an account on app.outagesio.com, simply use the same credentials to log in here.

Install infinite loop

Scheduled Pinned Locked Moved Solved ARM
raspberry pirpi-4arm
49 Posts 5 Posters 4.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • OutagesIO_SupportO Offline
    OutagesIO_SupportO Offline
    OutagesIO_Support
    wrote on last edited by
    #28

    Can you share the script as you have it now.

    Regards,
    OutagesIO Support

    Search engines favor deep pockets making it difficult to find services like OutagesIO.
    To help us, you could leave a Google review, or share your reports in forums, or social media.
    You could mention us in articles, and perhaps someone would review us.
    We count on satisfied members spreading the word!

    P 1 Reply Last reply
    0
    • OutagesIO_SupportO OutagesIO_Support

      Can you share the script as you have it now.

      P Offline
      P Offline
      PJPorch
      wrote on last edited by
      #29

      @OutagesIO_Support Below is the script and output from the otminfo.log file.

      • The only change to the script is the start variable at the top
      • In the folder "/home/josh/agent" I have this script and the otminfo.log file.
      • I can give you the agent ID if needed.

      OTMinfo.log

      HTTP/2 200
      date: Wed, 09 Mar 2022 01:12:16 GMT
      server: Apache
      strict-transport-security: max-age=63072000; includeSubDomains
      last-modified: Thu, 11 Feb 2021 12:34:03 GMT
      etag: "28888-5bb0ebc1544c0"
      accept-ranges: bytes
      content-length: 166024
      vary: User-Agent
      content-security-policy: frame-ancestors 'none';
      content-secure-policy: default-src 'self';
      x-xss-protection: 1; mode=block
      x-frame-options: SAMEORIGIN
      x-content-type-options: nosniff
      referrer-policy: same-origin
      permissions-policy: fullscreen=(self 'https://app.outagesio.com'),geolocation=*, camera=()
      

      Script

      #!/bin/bash
      
      #Version 1.0.3
      
      # Enter the full path where you will be placing the starter_linux_otm.sh script into.
      # Our example shows '/agent', change this to what ever your path is.
      start="/home/josh/agent"
      
      command -v curl >/dev/null 2>&1 || { echo >&2 "The curl package is needed but not installed. Please install it and try again. Aborting."; exit 1; }
      
      echo ""
      echo "Make sure to create /etc/agentid with credentials before starting this script"
      echo "Make sure your starter file points to the same directory that you have it in - Edit the 'start' option above accordingly"
      echo "You could add this to /etc/rc.local to start it or build a service for it. Please search Google for more."
      echo ""
      sleep 5
      
      ### Define Global Variables
      OTMIN="otm"
      IN="$start/updater_linux_ocp.sh"
      DATE=`date +%d-%m-%y`
      OTM_COMMAND="otm_linux"
      USERNAME=`awk 'NR==1' /etc/agentid`
      PASSWORD=`awk 'NR==2' /etc/agentid`
      
      ### OTM section
      # Get rid of any old version
      rm -f $start/otm_linux
      OTM_HTTP_STATUS=''
      OTM_REMOTE_LENGTH=''
      
      ### Loop
      until [[ ${OTM_HTTP_STATUS} -eq 200 && ! -z ${OTM_REMOTE_LENGTH} ]]
      do
      sleep 5
      ##
      echo "Receiving binary location"
      BINARY_LOCATION=$(curl -m 20 -s -u $USERNAME:$PASSWORD --connect-timeout 10 -X POST https://www.foxymon.com/receiver/receiver2.php -F function=receive_binary_location)
      echo "Getting the OTM Package"
      curl -I -m 30 --connect-timeout 15 "$BINARY_LOCATION" -o $start/otminfo.log
      OTM_HTTP_STATUS=$(cat $start/otminfo.log | awk '/HTTP/ {print $2}')
      OTM_REMOTE_LENGTH=$( cat $start/otminfo.log | awk '/Content-Length/ {print $2}' | sed -e 's/[\r\n]//g' )
      done
      
      ###
      if [[ ${OTM_HTTP_STATUS} -eq 200 && ! -z ${OTM_REMOTE_LENGTH} ]]; then
      echo "Downloading OTM"
      curl -m 30 --connect-timeout 15 "$BINARY_LOCATION" -o $start/otm_linux
      sleep 2
      OTM_LOCAL_LENGTH=$( ls -l $start/otm_linux | awk '{print $5}' | sed -e 's/[\r\n]//g' )
      if [ "${OTM_LOCAL_LENGTH}" == "${OTM_REMOTE_LENGTH}" ]; then
      echo "OTM downloaded, starting program then exiting this script"
      cd $start
      chmod +x $start/otm_linux
      ## exec $start/otm_linux &
      #$start/otm_linux &
      
      ps cax | grep otm_linux > /dev/null
      if [ $? -eq 0 ]; then
      echo ""
      echo "Congratulations, your agent is now monitoring your Internet connectivity."
      echo "Type 'ps cax | grep otm_linux' to see the process number"
      else
      echo "Something didn't work, your agent is not running."
      fi
      
      fi
      fi
      
      1 Reply Last reply
      1
      • OutagesIO_SupportO Offline
        OutagesIO_SupportO Offline
        OutagesIO_Support
        wrote on last edited by OutagesIO_Support
        #30

        Quick look seems to show this script is for the Linux version, not the Pi.
        Can you make sure you are using the Pi version. Just create a new agent then copy that script.

        If that doesn't work, then please also share the systemd service.

        Regards,
        OutagesIO Support

        Search engines favor deep pockets making it difficult to find services like OutagesIO.
        To help us, you could leave a Google review, or share your reports in forums, or social media.
        You could mention us in articles, and perhaps someone would review us.
        We count on satisfied members spreading the word!

        P 1 Reply Last reply
        0
        • OutagesIO_SupportO OutagesIO_Support

          Quick look seems to show this script is for the Linux version, not the Pi.
          Can you make sure you are using the Pi version. Just create a new agent then copy that script.

          If that doesn't work, then please also share the systemd service.

          P Offline
          P Offline
          PJPorch
          wrote on last edited by
          #31

          @OutagesIO_Support This is installed on an Ubuntu server, so I am using the linux script. The reason I posted here is I am seeing the exact same issue where it keeps trying to download the otm_linux binary and can never successfully do it. I can repost to the Linux section if required. I was just thinking the symptoms are identical, so the solution might be the same.

          I have also tried to disable the service, adjust the script as below, and then run in manually (screenshot). I get the same result where it loops trying to download the file.

          Script when service is enabled:

          ## exec $start/otm_linux &
          #$start/otm_linux &
          

          Script when service is disabled and the script is run manually:

          # exec $start/otm_linux &
          $start/otm_linux &
          

          Here is my service file. Located at: /etc/systemd/system/otm.service

          [Unit]
          Description=Startup of the OutagesIO monitoring agent
          
          [Install]
          WantedBy=multi-user.target
          
          After=network.target
          
          [Service]
          Type=simple
          ExecStartPre=/home/josh/agent/starter_linux_ocp.sh
          ExecStart=/home/josh/agent/otm_linux
          WorkingDirectory=/home/josh/agent
          Restart=always
          RestartSec=5
          StandardOutput=syslog
          StandardError=syslog
          SyslogIdentifier=%n
          

          Results when running the script directly.
          cfc3bb75-0540-4bfd-a1bd-65f62c9a8b0f-image.png

          1 Reply Last reply
          0
          • OutagesIO_SupportO Offline
            OutagesIO_SupportO Offline
            OutagesIO_Support
            wrote on last edited by OutagesIO_Support
            #32

            Yes, it doesn't seem to be finding the binary. Can you try this manually.
            Go into the same directory and run both;

            curl http://downloads.outagesio.com/otm/otm_1.67.2104_linux -o otm-linux

            See if that downloaded the binary. Delete it and try https.

            curl https://downloads.outagesio.com/otm/otm_1.67.2104_linux -o otm-linux

            If it's there, make it executable then run the version.

            $ chmod +x otm-linux
            $ ./otm-linux -v

            Show me the output please.

            Regards,
            OutagesIO Support

            Search engines favor deep pockets making it difficult to find services like OutagesIO.
            To help us, you could leave a Google review, or share your reports in forums, or social media.
            You could mention us in articles, and perhaps someone would review us.
            We count on satisfied members spreading the word!

            P 1 Reply Last reply
            0
            • OutagesIO_SupportO OutagesIO_Support

              Yes, it doesn't seem to be finding the binary. Can you try this manually.
              Go into the same directory and run both;

              curl http://downloads.outagesio.com/otm/otm_1.67.2104_linux -o otm-linux

              See if that downloaded the binary. Delete it and try https.

              curl https://downloads.outagesio.com/otm/otm_1.67.2104_linux -o otm-linux

              If it's there, make it executable then run the version.

              $ chmod +x otm-linux
              $ ./otm-linux -v

              Show me the output please.

              P Offline
              P Offline
              PJPorch
              wrote on last edited by
              #33

              @OutagesIO_Support Both the HTTP & HTTPS links successfully download the file. I am able to get the version following your commands as well.

              a2bf31b7-5b37-4a5c-bdb2-e8f04d83e8f2-image.png

              P 1 Reply Last reply
              0
              • P PJPorch

                @OutagesIO_Support Both the HTTP & HTTPS links successfully download the file. I am able to get the version following your commands as well.

                a2bf31b7-5b37-4a5c-bdb2-e8f04d83e8f2-image.png

                P Offline
                P Offline
                PJPorch
                wrote on last edited by
                #34

                @PJPorch In looking at the script I notice the URL you gave to directly download the file is from outagesio.com, but the script goes to foxymon.com. Could there be an issue with this foxymon.com URL?

                BINARY_LOCATION=$(curl -m 20 -s -u $USERNAME:$PASSWORD --connect-timeout 10 -X POST https://www.foxymon.com/receiver/receiver2.php -F function=receive_binary_location)
                
                1 Reply Last reply
                0
                • OutagesIO_SupportO Offline
                  OutagesIO_SupportO Offline
                  OutagesIO_Support
                  wrote on last edited by OutagesIO_Support
                  #35

                  Yes, it's correct. Foxymon.com is a domain we started with years ago and never got around to changing it since it would require a ton of programming so we just use it in the background.

                  The script checks a function which tells it what the download URL is based on the credentials you enter into /etc/agentid.

                  I'm not sure if you shared this before but can you share the agent ID for this install as well please.

                  I see three which seem to be yours. 128600 which is active, 128588 which is also active and 128593 which is deleted.

                  Regards,
                  OutagesIO Support

                  Search engines favor deep pockets making it difficult to find services like OutagesIO.
                  To help us, you could leave a Google review, or share your reports in forums, or social media.
                  You could mention us in articles, and perhaps someone would review us.
                  We count on satisfied members spreading the word!

                  P 1 Reply Last reply
                  0
                  • OutagesIO_SupportO OutagesIO_Support

                    Yes, it's correct. Foxymon.com is a domain we started with years ago and never got around to changing it since it would require a ton of programming so we just use it in the background.

                    The script checks a function which tells it what the download URL is based on the credentials you enter into /etc/agentid.

                    I'm not sure if you shared this before but can you share the agent ID for this install as well please.

                    I see three which seem to be yours. 128600 which is active, 128588 which is also active and 128593 which is deleted.

                    P Offline
                    P Offline
                    PJPorch
                    wrote on last edited by
                    #36

                    @OutagesIO_Support
                    Agent 128588 is working without any issues.
                    This post is regarding Agent 128600.
                    The 3rd must have been one I created during testing then deleted.

                    OutagesIO_SupportO 1 Reply Last reply
                    0
                    • P PJPorch

                      @OutagesIO_Support
                      Agent 128588 is working without any issues.
                      This post is regarding Agent 128600.
                      The 3rd must have been one I created during testing then deleted.

                      OutagesIO_SupportO Offline
                      OutagesIO_SupportO Offline
                      OutagesIO_Support
                      wrote on last edited by
                      #37

                      @PJPorch said in Install infintie loop:

                      This post is regarding Agent 128600.

                      This agent is currently running, it's in Active status.

                      Regards,
                      OutagesIO Support

                      Search engines favor deep pockets making it difficult to find services like OutagesIO.
                      To help us, you could leave a Google review, or share your reports in forums, or social media.
                      You could mention us in articles, and perhaps someone would review us.
                      We count on satisfied members spreading the word!

                      P 1 Reply Last reply
                      0
                      • OutagesIO_SupportO OutagesIO_Support

                        @PJPorch said in Install infintie loop:

                        This post is regarding Agent 128600.

                        This agent is currently running, it's in Active status.

                        P Offline
                        P Offline
                        PJPorch
                        wrote on last edited by
                        #38

                        @OutagesIO_Support

                        • Nothing is being populated in the ping field or recent events.
                        • The public IP is not updated to the correct address.
                        • The service on the Ubuntu machine shows it is running, but I cannot tell if it was able to download the agent or not. Manually downloading might have helped this get started.

                        55b6bf7f-e099-46e4-bc79-3e119cf279d6-image.png

                        1 Reply Last reply
                        0
                        • OutagesIO_SupportO Offline
                          OutagesIO_SupportO Offline
                          OutagesIO_Support
                          wrote on last edited by
                          #39

                          Wait now, one thing at a time. We need to be in sync.
                          You said that you were not able to run the agent at all, that it kept downloading but that's all.

                          The script shows you can use this to see if the agent is running.

                          ps cax | grep otm_linux

                          Can you check so we can see if there are one or more instances running.

                          Since we see it running, kill it so we have a starting point.

                          The first thing is to download the agent on it's own, without using the script, make it executable then start it then run the above command to confirm it is running and only one is.

                          If you see it running, then kill the process and we'll do this next.

                          Next, try this.

                          curl -m 20 -s -u xxxx:xxxxxxxxxxxxxxxxxx --connect-timeout 10 -X POST https://www.foxymon.com/receiver/receiver2.php -F function=receive_binary_location

                          The above is from the script. You replace the xxxx:xxxxxxxxxxxxxxxxxx with the credentials you have /etc/agent. Note the semicolon.

                          What this does is to query your account for the new agent you've created so it can give you the latest version of the agent for that particular OS. Show me the output of this please.

                          We'll deal with the rest one thing at a time to prevent confusing each other.

                          Regards,
                          OutagesIO Support

                          Search engines favor deep pockets making it difficult to find services like OutagesIO.
                          To help us, you could leave a Google review, or share your reports in forums, or social media.
                          You could mention us in articles, and perhaps someone would review us.
                          We count on satisfied members spreading the word!

                          P 1 Reply Last reply
                          0
                          • OutagesIO_SupportO OutagesIO_Support

                            Wait now, one thing at a time. We need to be in sync.
                            You said that you were not able to run the agent at all, that it kept downloading but that's all.

                            The script shows you can use this to see if the agent is running.

                            ps cax | grep otm_linux

                            Can you check so we can see if there are one or more instances running.

                            Since we see it running, kill it so we have a starting point.

                            The first thing is to download the agent on it's own, without using the script, make it executable then start it then run the above command to confirm it is running and only one is.

                            If you see it running, then kill the process and we'll do this next.

                            Next, try this.

                            curl -m 20 -s -u xxxx:xxxxxxxxxxxxxxxxxx --connect-timeout 10 -X POST https://www.foxymon.com/receiver/receiver2.php -F function=receive_binary_location

                            The above is from the script. You replace the xxxx:xxxxxxxxxxxxxxxxxx with the credentials you have /etc/agent. Note the semicolon.

                            What this does is to query your account for the new agent you've created so it can give you the latest version of the agent for that particular OS. Show me the output of this please.

                            We'll deal with the rest one thing at a time to prevent confusing each other.

                            P Offline
                            P Offline
                            PJPorch
                            wrote on last edited by
                            #40

                            @OutagesIO_Support
                            Sorry...I guess I was jumping ahead when you said you showed the agent as active.

                            I have stopped the service from running.

                            sudo service otm status
                            

                            4803f4b9-a1a4-4e14-a21d-ccc7127b818d-image.png

                            If I search for the running process with your script I get nothing.

                            ps cax | grep otm_linux
                            

                            b289daaf-f78f-4164-bf8a-f25709f4be3b-image.png

                            If I search for the name of the script I do get some results, so I manually have killed all processes running the script,

                            ps -aux | grep 'starter_linux_ocp'
                            

                            f07c0bc7-50f3-4013-b5bf-34186b497024-image.png

                            When I run the curl command with my credentials I get a response of
                            "https://downloads.outagesio.com/otm/otm_1.67.2104_linux" which looks like it exactly matches the URL I was able to manually download from, so that part of the script seems to be working correctly.

                            1 Reply Last reply
                            0
                            • OutagesIO_SupportO Offline
                              OutagesIO_SupportO Offline
                              OutagesIO_Support
                              wrote on last edited by
                              #41

                              I think the first thing would be to kill everything that's been left over from your testing so you are starting from scratch. make sure the service is stopped, all 'starter' scripts processes are killed.

                              Then check your dashboard until the agent is Inactive. Once you know there is no agent or anything else related running, start your agent manually, not using systemd and check if the agent becomes active.

                              Once sure there is nothing else running and the agent goes active, then kill that process and start the agent using your systemd start command. I don't know for sure but it looks like that part was working, only there were other instances running too which could have caused conflicts maybe. Let's get to the point of the agent running and we'll look into the other stuff after.

                              Regards,
                              OutagesIO Support

                              Search engines favor deep pockets making it difficult to find services like OutagesIO.
                              To help us, you could leave a Google review, or share your reports in forums, or social media.
                              You could mention us in articles, and perhaps someone would review us.
                              We count on satisfied members spreading the word!

                              P 1 Reply Last reply
                              0
                              • OutagesIO_SupportO OutagesIO_Support

                                I think the first thing would be to kill everything that's been left over from your testing so you are starting from scratch. make sure the service is stopped, all 'starter' scripts processes are killed.

                                Then check your dashboard until the agent is Inactive. Once you know there is no agent or anything else related running, start your agent manually, not using systemd and check if the agent becomes active.

                                Once sure there is nothing else running and the agent goes active, then kill that process and start the agent using your systemd start command. I don't know for sure but it looks like that part was working, only there were other instances running too which could have caused conflicts maybe. Let's get to the point of the agent running and we'll look into the other stuff after.

                                P Offline
                                P Offline
                                PJPorch
                                wrote on last edited by
                                #42

                                @OutagesIO_Support

                                • Disabled the service
                                • Killed all running processes
                                • Agent shows as "Inactive"
                                • Edited the script to run manually.
                                # exec $start/otm_linux &
                                $start/otm_linux &
                                
                                • Run the script manually and I'm right back at the beginning where it won't download the file. There are no apparent errors with credentials, permission to download the file, or anything indicating why it can't download the file.

                                b68ebf3d-385e-47e5-8aab-5345f3a9dbe5-image.png

                                1 Reply Last reply
                                0
                                • OutagesIO_SupportO Offline
                                  OutagesIO_SupportO Offline
                                  OutagesIO_Support
                                  wrote on last edited by EchoMin
                                  #43

                                  You seem to be doing all the right things. It's a little perplexing to say the least. It must be something small and so obvious that it's not obvious.

                                  We will dig deeper into this tomorrow because it really isn't making sense and must be something on our end.

                                  Regards,
                                  OutagesIO Support

                                  Search engines favor deep pockets making it difficult to find services like OutagesIO.
                                  To help us, you could leave a Google review, or share your reports in forums, or social media.
                                  You could mention us in articles, and perhaps someone would review us.
                                  We count on satisfied members spreading the word!

                                  1 Reply Last reply
                                  0
                                  • OutagesIO_SupportO Offline
                                    OutagesIO_SupportO Offline
                                    OutagesIO_Support
                                    wrote on last edited by
                                    #44

                                    Ok, some good news for you. The problem should be resolved now.
                                    Just create a new agent then download the updated script, version 1.0.5. You can let that new agent get deleted automatically by the system in 24hrs. Use that script and as before, make sure to upgrade the path's of course.

                                    It should work now.

                                    Also made a small change in the systemd if you're using it. Still have to solve why it's echo'ing out the text from the script but it works.

                                    [Unit]
                                    Description=Startup of the OutagesIO Internet monitor agent
                                    After=network.target

                                    [Install]
                                    WantedBy=multi-user.target

                                    [Service]
                                    Type=simple
                                    ExecStartPre=/otm/starter.sh
                                    ExecStart=/otm/otm_binary
                                    WorkingDirectory=/otm
                                    Restart=always
                                    RestartSec=5
                                    StandardError=syslog
                                    SyslogIdentifier=%n

                                    Give it a try, let us know how it goes.

                                    Regards,
                                    OutagesIO Support

                                    Search engines favor deep pockets making it difficult to find services like OutagesIO.
                                    To help us, you could leave a Google review, or share your reports in forums, or social media.
                                    You could mention us in articles, and perhaps someone would review us.
                                    We count on satisfied members spreading the word!

                                    P 1 Reply Last reply
                                    0
                                    • OutagesIO_SupportO OutagesIO_Support

                                      Ok, some good news for you. The problem should be resolved now.
                                      Just create a new agent then download the updated script, version 1.0.5. You can let that new agent get deleted automatically by the system in 24hrs. Use that script and as before, make sure to upgrade the path's of course.

                                      It should work now.

                                      Also made a small change in the systemd if you're using it. Still have to solve why it's echo'ing out the text from the script but it works.

                                      [Unit]
                                      Description=Startup of the OutagesIO Internet monitor agent
                                      After=network.target

                                      [Install]
                                      WantedBy=multi-user.target

                                      [Service]
                                      Type=simple
                                      ExecStartPre=/otm/starter.sh
                                      ExecStart=/otm/otm_binary
                                      WorkingDirectory=/otm
                                      Restart=always
                                      RestartSec=5
                                      StandardError=syslog
                                      SyslogIdentifier=%n

                                      Give it a try, let us know how it goes.

                                      P Offline
                                      P Offline
                                      PJPorch
                                      wrote on last edited by
                                      #45

                                      @EchoMin
                                      Whatever changes you made to the script seems to have fixed it. I deleted everything, reinstalled with the new scripts, and everything seems to be downloading and running properly.

                                      Thanks for all the help.
                                      Josh

                                      1 Reply Last reply
                                      0
                                      • OutagesIO_SupportO Offline
                                        OutagesIO_SupportO Offline
                                        OutagesIO_Support
                                        wrote on last edited by
                                        #46

                                        Nice to hear.

                                        Which one is your most important agent ID? One that you'll keep going without deleting? We'll keep an eye on that for a bit too.

                                        Regards,
                                        OutagesIO Support

                                        Search engines favor deep pockets making it difficult to find services like OutagesIO.
                                        To help us, you could leave a Google review, or share your reports in forums, or social media.
                                        You could mention us in articles, and perhaps someone would review us.
                                        We count on satisfied members spreading the word!

                                        P 1 Reply Last reply
                                        0
                                        • OutagesIO_SupportO OutagesIO_Support

                                          Nice to hear.

                                          Which one is your most important agent ID? One that you'll keep going without deleting? We'll keep an eye on that for a bit too.

                                          P Offline
                                          P Offline
                                          PJPorch
                                          wrote on last edited by
                                          #47

                                          @OutagesIO_Support The new agent is 128834. This was the site with all the issues that seems to be running well now.

                                          Agent 128600 can be deleted.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups