How can I view journalctl logs by unit and identifier with one command?
Clash Royale CLAN TAG#URR8PPP
I have a vpn service unit for which I can view the logs with...
journalctl -u vpn
I also have a script that interacts with the vpn manually and is logged to journal with...
exec > >(systemd-cat -t vpn.sh) 2>&1
and I can view the logs with...
journalctl -t vpn.sh
I tried viewing both logs with...
journalctl -u vpn -t vpn.sh
but it didn't work.
Is there a way to view both logs at the same time? Or is it possible to set the identifier (-t vpn.sh
) in the vpn service unit file to match the identifier of my script (vpn.sh
).
systemd systemd-journald systemd-unit
add a comment |
I have a vpn service unit for which I can view the logs with...
journalctl -u vpn
I also have a script that interacts with the vpn manually and is logged to journal with...
exec > >(systemd-cat -t vpn.sh) 2>&1
and I can view the logs with...
journalctl -t vpn.sh
I tried viewing both logs with...
journalctl -u vpn -t vpn.sh
but it didn't work.
Is there a way to view both logs at the same time? Or is it possible to set the identifier (-t vpn.sh
) in the vpn service unit file to match the identifier of my script (vpn.sh
).
systemd systemd-journald systemd-unit
add a comment |
I have a vpn service unit for which I can view the logs with...
journalctl -u vpn
I also have a script that interacts with the vpn manually and is logged to journal with...
exec > >(systemd-cat -t vpn.sh) 2>&1
and I can view the logs with...
journalctl -t vpn.sh
I tried viewing both logs with...
journalctl -u vpn -t vpn.sh
but it didn't work.
Is there a way to view both logs at the same time? Or is it possible to set the identifier (-t vpn.sh
) in the vpn service unit file to match the identifier of my script (vpn.sh
).
systemd systemd-journald systemd-unit
I have a vpn service unit for which I can view the logs with...
journalctl -u vpn
I also have a script that interacts with the vpn manually and is logged to journal with...
exec > >(systemd-cat -t vpn.sh) 2>&1
and I can view the logs with...
journalctl -t vpn.sh
I tried viewing both logs with...
journalctl -u vpn -t vpn.sh
but it didn't work.
Is there a way to view both logs at the same time? Or is it possible to set the identifier (-t vpn.sh
) in the vpn service unit file to match the identifier of my script (vpn.sh
).
systemd systemd-journald systemd-unit
systemd systemd-journald systemd-unit
asked Feb 7 at 2:26
deanresindeanresin
11811
11811
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
TL;DR: This will work:
$ journalctl _SYSTEMD_UNIT=vpn.service + SYSLOG_IDENTIFIER=vpn.sh
You can use +
to connect two sets of connections and look for journal log lines that match either expression. (This is documented in the man page of journalctl.)
In order to do that, you need to refer to them by their proper field names (the flags -u
and -t
are shortcuts for those.)
You can look at systemd.journal-fields(5) for the documentation of the field names. (That page will also explain why one of them has a leading underscore and the other one doesn't.)
For _SYSTEMD_UNIT
you will need an exact match, including the .service
suffix (the -u
shortcut is smart and will find the exact unit name when translating it to a query by field.)
Putting it all together, you'll get the command above.
add a comment |
I found an alternate solution I wanted to post. Some people my find it useful. I can set the SyslogIdentifier
under [Service]
in the Unit file so that it matches the identifier in my script.
So
[Unit]
Description=vpn management service
[Service]
SyslogIdentifier=vpn.sh
Type=simple
ExecStart=/bin/bash /home/myusername/scripts/vpn.sh
So the identifier will now match that set in vpn.sh when I call the script manually. At the top of the script it is set with..
exec > >(systemd-cat -t vpn.sh) 2>&1
Now to see the logs from both systemd call to vpn.sh and manual call to vpn.sh..
journalctl -t vpn.sh --since today
or
journalctl SYSLOG_IDENTIFIER=vpn.sh --since today
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f499203%2fhow-can-i-view-journalctl-logs-by-unit-and-identifier-with-one-command%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
TL;DR: This will work:
$ journalctl _SYSTEMD_UNIT=vpn.service + SYSLOG_IDENTIFIER=vpn.sh
You can use +
to connect two sets of connections and look for journal log lines that match either expression. (This is documented in the man page of journalctl.)
In order to do that, you need to refer to them by their proper field names (the flags -u
and -t
are shortcuts for those.)
You can look at systemd.journal-fields(5) for the documentation of the field names. (That page will also explain why one of them has a leading underscore and the other one doesn't.)
For _SYSTEMD_UNIT
you will need an exact match, including the .service
suffix (the -u
shortcut is smart and will find the exact unit name when translating it to a query by field.)
Putting it all together, you'll get the command above.
add a comment |
TL;DR: This will work:
$ journalctl _SYSTEMD_UNIT=vpn.service + SYSLOG_IDENTIFIER=vpn.sh
You can use +
to connect two sets of connections and look for journal log lines that match either expression. (This is documented in the man page of journalctl.)
In order to do that, you need to refer to them by their proper field names (the flags -u
and -t
are shortcuts for those.)
You can look at systemd.journal-fields(5) for the documentation of the field names. (That page will also explain why one of them has a leading underscore and the other one doesn't.)
For _SYSTEMD_UNIT
you will need an exact match, including the .service
suffix (the -u
shortcut is smart and will find the exact unit name when translating it to a query by field.)
Putting it all together, you'll get the command above.
add a comment |
TL;DR: This will work:
$ journalctl _SYSTEMD_UNIT=vpn.service + SYSLOG_IDENTIFIER=vpn.sh
You can use +
to connect two sets of connections and look for journal log lines that match either expression. (This is documented in the man page of journalctl.)
In order to do that, you need to refer to them by their proper field names (the flags -u
and -t
are shortcuts for those.)
You can look at systemd.journal-fields(5) for the documentation of the field names. (That page will also explain why one of them has a leading underscore and the other one doesn't.)
For _SYSTEMD_UNIT
you will need an exact match, including the .service
suffix (the -u
shortcut is smart and will find the exact unit name when translating it to a query by field.)
Putting it all together, you'll get the command above.
TL;DR: This will work:
$ journalctl _SYSTEMD_UNIT=vpn.service + SYSLOG_IDENTIFIER=vpn.sh
You can use +
to connect two sets of connections and look for journal log lines that match either expression. (This is documented in the man page of journalctl.)
In order to do that, you need to refer to them by their proper field names (the flags -u
and -t
are shortcuts for those.)
You can look at systemd.journal-fields(5) for the documentation of the field names. (That page will also explain why one of them has a leading underscore and the other one doesn't.)
For _SYSTEMD_UNIT
you will need an exact match, including the .service
suffix (the -u
shortcut is smart and will find the exact unit name when translating it to a query by field.)
Putting it all together, you'll get the command above.
edited Feb 7 at 5:42
answered Feb 7 at 4:18
filbrandenfilbranden
10k21645
10k21645
add a comment |
add a comment |
I found an alternate solution I wanted to post. Some people my find it useful. I can set the SyslogIdentifier
under [Service]
in the Unit file so that it matches the identifier in my script.
So
[Unit]
Description=vpn management service
[Service]
SyslogIdentifier=vpn.sh
Type=simple
ExecStart=/bin/bash /home/myusername/scripts/vpn.sh
So the identifier will now match that set in vpn.sh when I call the script manually. At the top of the script it is set with..
exec > >(systemd-cat -t vpn.sh) 2>&1
Now to see the logs from both systemd call to vpn.sh and manual call to vpn.sh..
journalctl -t vpn.sh --since today
or
journalctl SYSLOG_IDENTIFIER=vpn.sh --since today
add a comment |
I found an alternate solution I wanted to post. Some people my find it useful. I can set the SyslogIdentifier
under [Service]
in the Unit file so that it matches the identifier in my script.
So
[Unit]
Description=vpn management service
[Service]
SyslogIdentifier=vpn.sh
Type=simple
ExecStart=/bin/bash /home/myusername/scripts/vpn.sh
So the identifier will now match that set in vpn.sh when I call the script manually. At the top of the script it is set with..
exec > >(systemd-cat -t vpn.sh) 2>&1
Now to see the logs from both systemd call to vpn.sh and manual call to vpn.sh..
journalctl -t vpn.sh --since today
or
journalctl SYSLOG_IDENTIFIER=vpn.sh --since today
add a comment |
I found an alternate solution I wanted to post. Some people my find it useful. I can set the SyslogIdentifier
under [Service]
in the Unit file so that it matches the identifier in my script.
So
[Unit]
Description=vpn management service
[Service]
SyslogIdentifier=vpn.sh
Type=simple
ExecStart=/bin/bash /home/myusername/scripts/vpn.sh
So the identifier will now match that set in vpn.sh when I call the script manually. At the top of the script it is set with..
exec > >(systemd-cat -t vpn.sh) 2>&1
Now to see the logs from both systemd call to vpn.sh and manual call to vpn.sh..
journalctl -t vpn.sh --since today
or
journalctl SYSLOG_IDENTIFIER=vpn.sh --since today
I found an alternate solution I wanted to post. Some people my find it useful. I can set the SyslogIdentifier
under [Service]
in the Unit file so that it matches the identifier in my script.
So
[Unit]
Description=vpn management service
[Service]
SyslogIdentifier=vpn.sh
Type=simple
ExecStart=/bin/bash /home/myusername/scripts/vpn.sh
So the identifier will now match that set in vpn.sh when I call the script manually. At the top of the script it is set with..
exec > >(systemd-cat -t vpn.sh) 2>&1
Now to see the logs from both systemd call to vpn.sh and manual call to vpn.sh..
journalctl -t vpn.sh --since today
or
journalctl SYSLOG_IDENTIFIER=vpn.sh --since today
answered Feb 8 at 6:38
deanresindeanresin
11811
11811
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f499203%2fhow-can-i-view-journalctl-logs-by-unit-and-identifier-with-one-command%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown