This is actually a couple of different errors. First, the "No such file or directory", is that looking for a particular page on the Apache server (eg. index.html)? If so, make sure it's pointing to the correct page and it's accessible from the NR machine. Second, the "Connection Refused" error is being caused by your NR machine not having access to check itself on whatever port that you're using (default is 7). Make sure you don't have a host-based firewall on the machine blocking access to that port, or change the port to something else. If you still have trouble, let me know.
--Brad Fears
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm kinda confused at what you mean ?
index.html ? There is only an index.php which is fine. Definately accessible by the webserver.
The web interface is working fine.
Connection refused error, so NR listens on port 7 ?
Btw when all nodes and servers are up and responding, there is no issue, only when something goes down it has those errors.
Thanks again ! :)
ross@day3.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Do you have the 'index.php' specified for that particular node (the Apache one)? There is an option in the web interface called "URL to Query", which can point to a specific file in order to check web accessibility and page load times. You can always leave that blank to just poll the web server port itself, similar to the configuration for non-web servers. I was just trying to determine if you had something defined in that field...
On the issue of the Connection Refused, Node Runner will connnect to itself on any port you specify, and yes, the default port is 7. Most default firewall configurations block that port nowadays, so pick one that's open or create a special rule to allow connections from NR to itself. You can probably set it to port 80 or whatever, but it has to be able to connect to that port or NR will end up dying in an endless loop trying to query itself after something else has failed.
--Brad Fears
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Still getting Connection refused.
I tried changing the port in mysql for noderunner, same issue.
Error: 111 Connection refused
Attempt 1
Error: 111 Connection refused
NODE RUNNER unreachable, trying dependency...
It doesn't make sense though.
Is node runner always listening on that port ?
Or only when it's run ?
Excuse my stupid questions :)
ross@day3.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Node Runner itself doesn't listen on any port, it just queries services on other servers via assigned ports. A typical web server [service] listens on port 80 for incoming connections. NR just queries port 80 to make sure it's really listening - if not, the remote server is probably down. When it sees that a server is down, it tries to query whatever dependency is defined for that server, based on the configuration that you set up in the NR web interface.
For example, if you only ever added one server for NR to query, it would still have the NR machine (localhost) as it's dependency within the NR web interface. The logic behind that being that if the network card on the NR machine isn't responding, there is no need to blame the remote server for failure. The localhost machine will never be queried, though, unless the remote server doesn't respond. The idea is to check all the nodes in the network chain to find the real culprit.
NR connects to itself just as it would a remote server. It queries whatever port you specify through the web interface. If you are running a web server from the same machine, you must be able to bring up web pages by using http://127.0.0.1/whatever.html from the NR machine itself. If that doesn't work, NR will fail too, since that's essentially what it tries to do.
--Brad Fears
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My goodness, I'm so sorry for wasting your time, it makes perfect sense now :)
For some unknown reason I thought it was trying to query NR itself, not the actual machine it's running on.
I just checked port 7 is not available on this machine, but port 9 discard is accepting connections, so I'm just using that.
Awesome stuff, thanks again !!
P.S. How many people have asked you to include PINGS ? Can you add me to the list ? ;)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm glad you got everything working. As for pings, PHP has no built-in socket functions for ICMP, (only TCP and UDP), so I'd have to call an external "ping" command via the operating system, which is potentially hazardous. I have a note in the README explaining in detail why I opted not to include ICMP queries.
Did you ever resolve the "No such file or directory" error message from your debugging logs?
--Brad Fears
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My goodness, I'm so sorry for wasting your time, it makes perfect sense now :)
For some unknown reason I thought it was trying to query NR itself, not the actual machine it's running on.
I just checked port 7 is not available on this machine, but port 9 discard is accepting connections, so I'm just using that.
Awesome stuff, thanks again !!
P.S. How many people have asked you to include PINGS ? Can you add me to the list ? ;)
ross@day3.com.au
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi there,
I just setup NR and it worked just fine when I had 2 or 3 servers on it.
I've added about 20 and I'm running it every 5 mins via cron.
The box is a 2.8ghz p4.
I'm getting these errors in debug.
Attempt 0
Error: 0
DNS1 - APACHE UP
Attempt 0
Error: 0
DNS2 - APACHE UP
Attempt 0
Error: 0
PSX-QMAIL - WEB UP
Attempt 0
Error: 0
PSX-QMAIL - WEB-SSL UP
Attempt 0
Error: 0
PSX-QMAIL - SMTP UP
Attempt 0
Error: 0
PSX-QMAIL - POP3 UP
Attempt 0
Error: 2 No such file or directory
Attempt 1
Error: 2 No such file or directory
PSX-APACHE - APACHE unreachable, trying dependency...
Attempt 0
Error: 111 Connection refused
Attempt 1
Error: 111 Connection refused
NODE RUNNER unreachable, trying dependency...
<br />
<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>/etc/node-runner/etc/mysql.inc</b> on line <b>17</b><br />
Any ideas what that could be ?
Thanks :)
ross@day3.com.au
This is actually a couple of different errors. First, the "No such file or directory", is that looking for a particular page on the Apache server (eg. index.html)? If so, make sure it's pointing to the correct page and it's accessible from the NR machine. Second, the "Connection Refused" error is being caused by your NR machine not having access to check itself on whatever port that you're using (default is 7). Make sure you don't have a host-based firewall on the machine blocking access to that port, or change the port to something else. If you still have trouble, let me know.
--Brad Fears
I love the way you respond so fast :)
I'm kinda confused at what you mean ?
index.html ? There is only an index.php which is fine. Definately accessible by the webserver.
The web interface is working fine.
Connection refused error, so NR listens on port 7 ?
Btw when all nodes and servers are up and responding, there is no issue, only when something goes down it has those errors.
Thanks again ! :)
ross@day3.com.au
Do you have the 'index.php' specified for that particular node (the Apache one)? There is an option in the web interface called "URL to Query", which can point to a specific file in order to check web accessibility and page load times. You can always leave that blank to just poll the web server port itself, similar to the configuration for non-web servers. I was just trying to determine if you had something defined in that field...
On the issue of the Connection Refused, Node Runner will connnect to itself on any port you specify, and yes, the default port is 7. Most default firewall configurations block that port nowadays, so pick one that's open or create a special rule to allow connections from NR to itself. You can probably set it to port 80 or whatever, but it has to be able to connect to that port or NR will end up dying in an endless loop trying to query itself after something else has failed.
--Brad Fears
Yep I leave that blank, just querying the port.
Still getting Connection refused.
I tried changing the port in mysql for noderunner, same issue.
Error: 111 Connection refused
Attempt 1
Error: 111 Connection refused
NODE RUNNER unreachable, trying dependency...
It doesn't make sense though.
Is node runner always listening on that port ?
Or only when it's run ?
Excuse my stupid questions :)
ross@day3.com.au
Node Runner itself doesn't listen on any port, it just queries services on other servers via assigned ports. A typical web server [service] listens on port 80 for incoming connections. NR just queries port 80 to make sure it's really listening - if not, the remote server is probably down. When it sees that a server is down, it tries to query whatever dependency is defined for that server, based on the configuration that you set up in the NR web interface.
For example, if you only ever added one server for NR to query, it would still have the NR machine (localhost) as it's dependency within the NR web interface. The logic behind that being that if the network card on the NR machine isn't responding, there is no need to blame the remote server for failure. The localhost machine will never be queried, though, unless the remote server doesn't respond. The idea is to check all the nodes in the network chain to find the real culprit.
NR connects to itself just as it would a remote server. It queries whatever port you specify through the web interface. If you are running a web server from the same machine, you must be able to bring up web pages by using http://127.0.0.1/whatever.html from the NR machine itself. If that doesn't work, NR will fail too, since that's essentially what it tries to do.
--Brad Fears
My goodness, I'm so sorry for wasting your time, it makes perfect sense now :)
For some unknown reason I thought it was trying to query NR itself, not the actual machine it's running on.
I just checked port 7 is not available on this machine, but port 9 discard is accepting connections, so I'm just using that.
Awesome stuff, thanks again !!
P.S. How many people have asked you to include PINGS ? Can you add me to the list ? ;)
I'm glad you got everything working. As for pings, PHP has no built-in socket functions for ICMP, (only TCP and UDP), so I'd have to call an external "ping" command via the operating system, which is potentially hazardous. I have a note in the README explaining in detail why I opted not to include ICMP queries.
Did you ever resolve the "No such file or directory" error message from your debugging logs?
--Brad Fears
My goodness, I'm so sorry for wasting your time, it makes perfect sense now :)
For some unknown reason I thought it was trying to query NR itself, not the actual machine it's running on.
I just checked port 7 is not available on this machine, but port 9 discard is accepting connections, so I'm just using that.
Awesome stuff, thanks again !!
P.S. How many people have asked you to include PINGS ? Can you add me to the list ? ;)
ross@day3.com.au
"Did you ever resolve the "No such file or directory" error message from your debugging logs?"
The error went away once NR could connect to itself (machine it's on).
ross@day3.com.au