Recently I have a problem with “Oxidized node refresh” button. Oxidized integration is working, device configs are syncing. But there is an error when I want to refresh the configuration for just one specific node.
The popup screen says:
“An error occured while queuing refresh for an oxidized node (hostname: xy)”
In librenms.log:
[2020-08-15 02:56:24] production.ERROR: cURL error 28: Operation timed out after 10001 milliseconds with 0 out of -1 bytes received {“userId”:2,"exception
“:”[object] (Requests_Exception(code: 0): cURL error 28: Operation timed out after 10001 milliseconds with 0 out of -1 bytes received at /opt/librenms/ven
dor/rmccue/requests/library/Requests/Transport/cURL.php:422)
If I remember correctly this function worked earlier. Any help is appreciated!
I’ve already reinstalled the whole ruby-2.3.8 environment and Oxidized too (built from git) but it’s not working.
I’ve also noticed that “reload node list when adding new device” also doesn’t work. I have to get manually reload it every time a new device is added to Librenms.
I don’t know what could be the problem… This whole thing worked before…
The only error message I could find is this:
[2020-10-01 22:52:08] production.ERROR: cURL error 28: Operation timed out after 10002 milliseconds with 0 out of -1 bytes received {“userId”:2,"exception
“:”[object] (Requests_Exception(code: 0): cURL error 28: Operation timed out after 10002 milliseconds with 0 out of -1 bytes received at /opt/librenms/ven
dor/rmccue/requests/library/Requests/Transport/cURL.php:422)
[stacktrace] #0 /opt/librenms/vendor/rmccue/requests/library/Requests/Transport/cURL.php(177): Requests_Transport_cURL->process_response(’’, Array) #1 /opt/librenms/vendor/rmccue/requests/library/Requests.php(379): Requests_Transport_cURL->request(‘http://10.42.35…’, Array, ‘{“user”:"Prazsm…’,
Array) #2 /opt/librenms/vendor/rmccue/requests/library/Requests.php(706): Requests::request(‘http://10.42.35…’, Array, ‘{“user”:"Prazsm…’, ‘PUT’, Array) #3 /opt/librenms/vendor/rmccue/requests/library/Requests.php(383): Requests::parse_response(Array, ‘http://127.0.0…’, Array, ‘{“user”:"Prazsm…’, A
rray) #4 /opt/librenms/vendor/rmccue/requests/library/Requests.php(274): Requests::request(‘http://127.0.0…’, Array, ‘{“user”:"Prazsm…’, ‘PUT’, Array) #5 /opt/librenms/includes/functions.php(2557): Requests::put(‘http://127.0.0…’, Array, ‘{“user”:"Prazsm…’, Array) #6 /opt/librenms/includes/html/forms/refresh-oxidized-node.inc.php(17): oxidized_node_update(‘10.160.63.232’, ‘LibreNMS GUI re…’, ‘PrazsmaryM’) #7 /opt/librenms/html/ajax_form.php(26): include_once(’/opt/librenms/i…’) #8 {main}
"}
[2020-10-02 10:29:57] production.ERROR: cURL error 28: Operation timed out after 10001 milliseconds with 0 out of -1 bytes received {“userId”:2,“exception”:"[object] (Requests_Exception(
code: 0): cURL error 28: Operation timed out after 10001 milliseconds with 0 out of -1 bytes received at /opt/librenms/vendor/rmccue/requests/library/Requests/Transport/cURL.php:422)
[stacktrace]
Really strange because basically the integration is working. LibreNSM is feeding Oxidized. LibreNMS can view stored configs, versions, etc.
I’ve also checked Oxidized API request manually. It works. I don’t think theres a problem with Oxidized.
I always had http_proxy environment variable because this is the only way for me to keep LibreNMS updated.
But recently I’ve configured http_proxy in GUI also…
I never thought this could be wrong because API calls are going to 172.0.0.1. But as it seems that was the problem.
So I found commenting out the proxy configs works to manually pull a new config from oxidized, but we need the libre proxy enabled to be able to send our notifications out to Opsgenie. Is there any way to refresh the config in the UI without going through the proxy?
EDIT: Ok I fixed this by removing the proxy from around line 2363 includes/functions.php: