Remove NetworkManager Log Junk

Some versions of NetworkManager produce a lot of log junk. Sometimes, the spurious logs are the main thing jogging the disk.

Keep the useful logs, get rid of the junk. Set CORE:ERR in [logging]. How? Read on...

The Problem - a lot of useless error messages # ↑

Some versions of NetworkManager fill logs with useless error messages

$ sudo tail -F /var/log/syslog 	# quit with ctrl-C

Oct 29 12:46:57 terokarvinencom NetworkManager[1620]: <warn>  [123456.789] error requesting auth for org.freedesktop.NetworkManager.enable-disable-connectivity-check: Authorization check failed: Failed to open file “/proc/7388/status”: No such file or directory

Not only do they obscure the imporant messages, but sometimes they are the main user of the disk. You can check the situation with

$ sudo iotop -oa

The Fix - only log useful info # ↑

Luckily, you can change NetworkManager logging level by domain. This means you can get rid of the useless messages and keep the others.

Let's create a new snippet of configuration

$ sudoedit /etc/NetworkManager/conf.d/no-log-junk.conf

Contents of the file. The change is CORE:ERR, everything else just repeats the defaults.

[logging]	domains=PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,IP4,IP6,AUTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,TEAM,DCB,DISPATCH,AUDIT,SYSTEMD,PROXY,CONCHECK:ERR,FIREWALL,ADSL,BOND,VLAN,BRIDGE,OLPC,INFINIBAND,DEVICE,CORE:ERR
# See https://terokarvinen.com/2022/network-manager-log-junk/

Restart the daemon for changes to take effect

$ sudo systemctl restart NetworkManager

Enjoy # ↑

To verify that it worked, simply follow the log for a while.

$ sudo tail -F /var/log/syslog 	# quit with ctrl-C

The useless messages are gone, the important ones are still there.

If it worked, well done, you're done here.

How did you know what to write, Tero? # ↑

I checked the current logging settings

$ nmcli general logging
LEVEL  DOMAINS
INFO  PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,IP4,IP6,AUTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE:ERR,DEVICE,OLPC,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,TEAM,CONCHECK:ERR,DCB,DISPATCH,AUDIT,SYSTEMD,PROXY 

I modified NetworkManager.conf to first disable my best guess, CONCHECK, but it was not that. Then disabled half of them. Then iterated until I found the culprit. It was CORE.

Finally, I modified the logging level of just CORE. The spurious CORE errors were of level WARN, so I raised it to ERR.

Finally, I separated my configuration to a dot-dee config snippet.

Troubleshooting # ↑

Did you amke a typo? Just check syslog when restarting NetworkManager, it will tell you exactly what the problem is.

CORE:ERR did not get rid of the spurious error messages? Just follow my procedure to get rid of almost any type of useless error message produced by NetworkManager.

Literature # ↑

man NetworkManager.conf

Product Documentation for Red Hat Enterprise Linux 8: Configuring and managing networking: Chapter 44. Introduction to NetworkManager Debugging

Arch Wiki: NetworkManager

Adminstrivia # ↑

Tested on Ubuntu. NetworkManager logo is the property of it's owner. This article has been updated after publishing.