openvpn3-admin-journal(8)

πŸ“¦
version 27.1 Β· 3 versions
, in nixpkgs unstable, ubuntu stonking

πŸ’– openvpn3-admin-journal β€” the OpenVPN 3 Linux systemd-journald log viewer, bestie edition πŸ’–

okay so this is openvpn3-admin-journal(8), part of the OpenVPN 3 Linux manual crew, and it's genuinely one of the most useful little guys in the whole toolset. let's get into it 🫢


✨ NAME ✨

openvpn3-admin-journal β€” OpenVPN 3 Linux's very own systemd-journald log viewer. it's giving "peek behind the curtain" energy, no cap. πŸ‘‘


πŸŽ€ SYNOPSIS πŸŽ€

openvpn3-admin journal [OPTIONS]
openvpn3-admin journal -h | --help

see how it's spaces not dashes? it's openvpn3-admin journal, a sub-command situation. the hyphenated name up top is just the manpage's government name πŸ’…


🌸 DESCRIPTION 🌸

so this is a convenience helper command, and its whole job is making it easy to grab log entries out of the OpenVPN 3 Linux stack. lowkey a lifesaver when something's acting up and you're like "bestie what is HAPPENING" 😭

one thing tho, and it matters: this command depends on the net.openvpn.v3.log service being configured to use the systemd-journald(8) service for logging. if that's not set up, this whole thing is not going to do the thing. vibe check failed, sorry. πŸ™ˆ

also bestie, real talk: the log entries you see here are only the ones from the OpenVPN 3 Linux backend D-Bus services. it's a curated feed, not the whole system's diary. iconic behavior honestly.


πŸ’… OPTIONS πŸ’…

one bullet per option, all of them, zero skips. let's gooo πŸƒβ™€οΈ

  • -h, --help β€” prints usage + help details straight to your terminal. when in doubt, ask for help, that's literally what it's for πŸ’œ
  • --json β€” by default your extracted log comes out in traditional plain text format. slap this flag on and the output switches to a more verbose JSON format, which includes far more details for each log entry. it's giving over-share and we love that for us ✨
  • --since TIMESTAMP β€” if you don't provide this, it'll just retrieve all the log entries available in the systemd-journal. the TIMESTAMP format is not strict, but the order of the values matters, okay? also the keywords today and yesterday are valid values too. so valid, so chic.

these are all totally valid time-stamp values:

--since 2022
--since 2022-11
--since 2022-12-05
--since "2022-12-05 15:00"
--since "2022-12-05 15:00:40"
--since today
--since yesterday

ok let's break those down because they're actually so satisfying:

  • the first line extracts all log entries available starting with January 1, 2022.
  • the second example takes all entries starting from November 1.
  • the third one takes all log lines after December 5, 2022.

using today hits the same as using today's date, and yesterday uses the date before today. both retrieve all entries from midnight of that day. midnight to midnight, main character energy πŸŒ™

ngl the quoting situation when you've got a space in there? keep the quotes. trust. πŸŽ€

  • --path DBUS_PATH β€” every OpenVPN 3 service, configuration profile and VPN session uses its own unique D-Bus object path. that info gets stored in the systemd-journald, so you can pull log entries for just one specific service, configuration or VPN session. very "get specific" of you:
--path /net/openvpn/v3/configuration/....
--path /net/openvpn/v3/sessions/....

the paths that currently exist can be found using the openvpn3 configs-list(1) and openvpn3 sessions-list(1) commands. and older paths work too, as long as they're still hanging around in the systemd-journald. oh and these paths also show up when you retrieve things with JSON formatting β€” handy!! πŸ¦‹

  • --sender DBUS_NAME β€” this one's similar to the D-Bus path situation: every D-Bus service gets its own unique bus name. heads up tho, the bus name counter resets when the host is rebooted πŸ’€ so don't go memorizing these forever. the currently available bus names related to OpenVPN 3 Linux can be found by running:
openvpn3-admin log-service --list-subscriptions

cute, right? 🌸

  • --pid PROCESS_ID β€” in OpenVPN 3 Linux v27 and newer, the process ID (pid) of the process sending log events is preserved in the journal meta data section. so hand this option a PID value belonging to a service in the OpenVPN 3 Linux stack and it'll extract only those log records. precision, bestie. 🎯
  • --interface DBUS_INTERFACE β€” yet another approach to filtering out specific D-Bus services, but this one is less specific. it'll grab all records for a service, regardless of time, D-Bus path or bus name. the "give me everything from this whole department" option, honestly.

some commonly used D-Bus interfaces:

net.openvpn.v3.backends
net.openvpn.v3.configuration
net.openvpn.v3.log
net.openvpn.v3.netcfg
net.openvpn.v3.sessions
  • --logtag LOGTAG β€” every OpenVPN 3 Linux backend service that wants to send log events gets assigned a LogTag value. it's a fairly unique value, so it's a pretty great filter. the currently used LogTag values can be extracted by running:
openvpn3-admin log-service --list-subscriptions

older values can also be extracted, as long as they can still be found in the systemd-journald. the journal remembers, and honestly? slay. 🧚

  • --session-token TOKEN β€” this one is specific to pulling log events for a specific VPN session. the TOKEN value is the value given to the openvpn3-service-client process. and listen: this will only extract log entries for the VPN client process itself, and no other support services (such as openvpn3-service-netcfg). so don't be surprised when the support crew isn't in the chat πŸ™ˆ

🌈 THE COMBO MOVE 🌈

all of these filters can be combined to narrow down the amount of log data. stack 'em, mix 'em, be the main character of your own log query. periodt. πŸ‘‘


🫢 SEE ALSO 🫢


that's the whole page, bestie β€” go forth and journal πŸ’–

openvpn3-admin-journal(8) ✨ this one's part of the OpenVPN 3 Linux manual pages, so that's your source/version vibe right there β€” treat it as your little timestamp on this whole log-reading journey 🌸 thanks for reading, ilysm, bye!! πŸŽ€πŸ’…

πŸ“¦ where this page comes from