Description

This article provides a workaround to resolve an error condition that prevents the VPN Monitoring page from displaying data.

Symptoms

  • VPN Monitoring page does not display any data.

  • The following error is shown: “Error while requesting data.”

Solution

The following procedure will helps you resolve the mentioned error

 

Step 1:  Review VPN monitoring web server log for errors:

A) # tail -f /var/log/vpn-monitor/webserver.log

You may see the following error, indicating the system is unable to read the Python Makefile:
IOError: invalid Python installation: unable to open /usr/local/vpn-monitor/lib/python2.7/config/Makefile (Too many levels of symbolic links)

B) Further verification shows the Makefile is pointing to itself, causing a symbolic link loop.
[root@space-005056aea67f run]# cd /usr/local/vpn-monitor/lib/python2.7/config [root@space-005056aea67f config]# ll -rth total 0 lrwxrwxrwx 1 jboss jboss 43 Mar 15 2022 Makefile -> /opt/python27/lib/python2.7/config/Makefile [root@space-005056aea67f config]# cat Makefile | wc -l cat: Makefile: Too many levels of symbolic links 0 [root@space-005056aea67f config]# pwd /opt/python27/lib/python2.7/config [root@space-005056aea67f config]# ll -rth | grep Makefile lrwxrwxrwx 1 jboss space  43 Mar 15 2022 Makefile -> /opt/python27/lib/python2.7/config/Makefile [root@space-005056aea67f config]# cat /opt/python27/lib/python2.7/config/Makefile cat: /opt/python27/lib/python2.7/config/Makefile: Too many levels of symbolic links

 

Step 2: Replace the Invalid Makefile

  • Obtain a valid Makefile from a lab device/system running the same release and hotpatch.

  • Replace the existing Makefile with the correct version.

  • Ensure the ownership and permissions match those from the lab device/system.

After replacing the Makefile, the original error will be resolved; however, a new error may appear.


Step 3:
Verify webserver.log once again if the issue is still persist. 

[root@space-005056aea67f config]# tail -f /var/log/vpn-monitor/webserver.log

You may see the following error
Traceback (most recent call last):  File "/usr/local/vpn-monitor/src/juniper/WebServer.py", line 22, in <module>    with open('/tmp/sd-vpnmonitor/vpnwebserver.pid', 'wb') as f: IOError: [Errno 2] No such file or directory: '/tmp/sd-vpnmonitor/vpnwebserver.pid'

 

Step 4: Create the Required Directory and Restart Services. Run the following commands to resolve the issue:

# mkdir /tmp/sd-vpnmonitor
# chmod 755 /tmp/sd-vpnmonitor
# chown jboss:jboss /tmp/sd-vpnmonitor
# systemctl stop vpnwebserver
# systemctl start vpnwebserver

After that VPN monitoring page will start working without any issue.

 

Note: If the issue persists after following this procedure, collect the relevant logs and engage JUNIPER JTAC Support for further assistance.

Modification History

2024-02-05 : Article Created