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
-
Hi,
That script might have been overlooked when we made some network changes.
I think it's supposed to be this.
ARM based agentCan you show me where you got the script so I can see what it needs for updating. Is it a post, on the app site, somewhere else?
-
@SBK Here is the script I am using
# starter_aarch64_ocp.sh #!/bin/bash #Version 1.0.3 # Enter the full path where you will be placing the starter_aarch64.sh script into. # Our example shows '/agent', change this to what ever your path is. start="/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_aarch64_ocp.sh" DATE=`date +%d-%m-%y` OTM_COMMAND="otm_aarch64" USERNAME=`awk 'NR==1' /etc/agentid` PASSWORD=`awk 'NR==2' /etc/agentid` ### OTM section # Get rid of any old version rm -f $start/otm_aarch64 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_aarch64 sleep 2 OTM_LOCAL_LENGTH=$( ls -l $start/otm_aarch64 | 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_aarch64 ## exec $start/otm_aarch64 & # Comment out the following line if using systemd to start the agent. To manually run the script, leave it uncommented. #$start/otm_aarch64 & ps cax | grep otm_aarch64 > /dev/null if [ $? -eq 0 ]; then echo "" echo "Congratulations, your agent is now monitoring your Internet connectivity." echo "Type 'ps cax | grep otm_aarch64' to see the process number" else echo "Something didn't work, your agent is not running." fi fi fi
Here is the starter script that I used according to the instructions Here
When I run the script it outputs the following:
I am by far an expert with linux and all I can do is follow instructions and try to google what the code segments mean. I am a hardware person and can build a data center but I don't have an idea how to use one.
-
@beeglej
The script is OKIf you check the instructions, for instance, of your agent 128755 (PI4)
https://app.outagesio.com/agent/checkList/id/128755
you have to create a file in the /etc directory named agentid which will contain the credentials to accessDid you do that?
-
So to summarize...
You did the following:
- created the agent with the correct device type (lets stick to PI4 128755)
- went to the confirmation page to get the correct credentials and the script
- created the /etc/agentid with the mentioned credentials
- ran the script
And what you get is what you shared in the image you shared meaning the download is not happening which I can confirm since i can see that the agent is trying over and over to download the file...
Do you have any limitation imposed by your ISP or do have some firewall rules not allowing to download files from some sites?
Sorry for all these questions but the process is quite straightforward so I need to confirm the steps
-
@SBK I shouldn't have any limitations imposed by my isp.
As far as a firewall, I don't really have one active for this device. The router has a firewall but this device is exempt. This device is a raspberry pi 4 and is also used to run Pi-Hole. I disabled the filtering to download the script and it still won't work. I am wondering now if the Pi-Hole cannot provide DNS for itself. I will readjust the network settings so the device is not asking itself for DNS.
My other question is the script seems to be trying to download the otm from foxymon.com. In the post above it
@OutagesIO_Support said in Install infintie loop:I think it's supposed to be this.
ARM based agentthe website in his post is downloads.outagesio.com/otm/otm_1.62.206_arm which isn't the same. Unless the foxymon website is just forwarding a new file. But, when i navigate to the address in the script it loads an empty page when I inspect the page.
-
I try to explain but I really need to know if you can download that file from a normal browser .
In the script you will see the requests made to foxymon.com which is a factory of servers answering requests from all the agents.
The file I am sending you is the file that the your PI is trying to download so eventually you can try with a wget and see if the file is downloaded onto the pi4 device
-
"hold the phone!" :-)
If you can download the file from the PI4 using wget then the issue must be different.In the script you can see there is a variable at the very beginning called start which says where the script and all the rest will be placed
Is it where you put the script? or is it another folder?
Can you double check that?And one more thing can you run the otm file you just downloaded?
-
Ok, we found a lead by doing an install on a pi device. Give us a little time to debug this and we'll give you a solution.
Thanks.
-
@OutagesIO_Support Sounds like a plan. Even though its not great that it is broken right now, I'm glad I am not totally crazy
-
Here's how you should proceed at this point.
All of those agents that you have in Created status, just let them expire. The will expire from your dashboard after 24hrs.
The site automatically does this to prevent confusion by leaving a bunch of non fully installed in the dashboard.
Create a new one, go through the process and it should work now. It's too bad people don't report problems more often so we can fix them. They just tend to find a problem and leave so it can be a while before we are even aware of any issues otherwise, we jump on them pretty quickly.
Just keep one thing in mind. There is a note that will show up saying that you have to comment out a line IF you are going to use systemd to start/stop your agent. If you don't, you'll end up with multiple instances running for no good reason.
You should be good to go now. let us know how things go.
-
@OutagesIO_Support I finally got it to work. Now I just have to troubleshoot getting the systemctl service up and going.
-
Nice to hear you got it. The problem was a simple case sensitivity in the script.
Remember, if you go with the systemd control, be sure to comment out the line mentioned in the script.
Thanks for bringing this to our attention glad it's working now.
-
Now while trying to start the service I get the following output in the terminal after following the instructions and commenting out the line in the script:
ā otm.service - Startup of the OutagesIO monitoring agent
Loaded: loaded (/etc/systemd/system/otm.service; enabled; vendor preset: enab
Active: activating (auto-restart) (Result: exit-code) since Thu 2022-02-17 23
Process: 9592 ExecStartPre=/agent/starter_aarch64_ocp.sh (code=exited, status=
lines 1-4/4 (END)...skipping...
ā otm.service - Startup of the OutagesIO monitoring agent
Loaded: loaded (/etc/systemd/system/otm.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Thu 2022-02-17 23:14:25 GMT; 2s ago
Process: 9592 ExecStartPre=/agent/starter_aarch64_ocp.sh (code=exited, status=203/EXEC)any ideas?