--- title: "Obtaining logs from a VXs system" slug: "obtaining-logs-from-a-vxs-system" updated: 2024-12-19T06:50:57Z published: 2024-12-19T06:50:57Z canonical: "docs.telosalliance.com/obtaining-logs-from-a-vxs-system" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.telosalliance.com/llms.txt > Use this file to discover all available pages before exploring further. # Obtaining logs from a VXs system ## Scope Telos VXs phone systems run on user supplied servers running Ubuntu Server operating system. VXs software itself runs within Docker containers on the Ubuntu server host. This overall architecture changes how we acquire logging insights from the VXs applications. We take advantage of the Linux operating systems built-in logging system "[Journalctl](http://manpages.ubuntu.com/manpages/focal/man1/journalctl.1.html)" which is part of [Systemd](https://en.wikipedia.org/wiki/Systemd) to access logs from VXs. Journalctl itself provides filtering options, alongside with GREP we can quickly find logging to relevant VXs modules The user must have SSH ( or local console access to the Ubuntu Server. #### Examples in how to use Journalctl to retrieve VXs related log messages > [!CAUTION] > If multiple VXs containers are running, logging will contain messages from all VXs containers, without unique ID's **Example 1:** Show the last 5000 events for VXs call_control and vx_dsp_engine at log level debug with `journalctl -n 5000 -p debug -o short-precise _CMDLINE=call_control + _CMDLINE=vx_dsp_engine` **Example 2:** Extra filtering to only show call_control logging messages by sub type CPSIP: `journalctl -n 5000 -p debug -o short-precise _CMDLINE=call_control | grep CPSIP` LWCP: `journalctl -n 5000 -p debug -o short-precise _CMDLINE=call_control | grep LWCP` AIF: `journalctl -n 5000 -p debug -o short-precise _CMDLINE=call_control | grep AIF` SIP: `journalctl -n 5000 -p debug -o short-precise _CMDLINE=call_control | grep SIP` Config: `journalctl -n 5000 -p debug -o short-precise _CMDLINE=call_control | grep config` HTTPServer: `journalctl -n 5000 -p debug -o short-precise _CMDLINE=call_control | grep HTTPServer` **Example 3:** Show logging since January 1st, 2022 (yyyy-dd-mm) `journalctl -S "2022-1-20" -p debug -o short-precise _CMDLINE=call_control + _CMDLINE=vx_dsp_engine` **Example 4:** Show logging from the past 8 hours `journalctl -S "8 hours ago" -p debug -o short-precise _CMDLINE=call_control + _CMDLINE=vx_dsp_engine` **Example 5:** Save log output to a file in the user home directory `journalctl -n 5000 -p debug -o short-precise _CMDLINE=call_control + _CMDLINE=vx_dsp_engine > ~/VXslast500.log` > [!NOTE] > Example 5, could also include filtering used in Example 4, 3, 2 and 1 to further refine what gets saved **Example 6:** Watch output of logging in real time `journalctl -f -p debug -o short-precise _CMDLINE=call_control + _CMDLINE=vx_dsp_engine` > [!NOTE] > As of writing this helpdoc, VXs utilizes PTP4L for syncing the host to PTP time. PTP4L runs within its own docker container. Rolling PTP sync stats can be viewed in a similar way **Example 7:** Observe PTP4L stats for last 5000 lines `journalctl -n 5000 -p debug -o short-precise | grep ptp4l` #### Retrieving saved log files to send to support If using Example 4 and saving the log to a file, the log file itself will get saved to the user's home directory on the Ubuntu Server OS Using an application like [WinSCP](https://winscp.net/eng/index.php) - the user can connect to the file system of the Ubuntu Server and copy the log file to their own PC. ### Let us know how we can help If you have further questions on this topic or have ideas about how we can improve this document, please [contact us](https://www.telosalliance.com/support-request).