---
title: "Notes on reading kernel messages"
url: "https://axoflow.com/docs/axosyslog-core/4.28/chapter-sources/configuring-sources-file/kernel-messages/"
last_modified: "2023-07-02T20:37:04+02:00"
---

> For the complete documentation index, see [llms.txt](https://axoflow.com/docs/axosyslog-core/4.28/llms.txt).

# Notes on reading kernel messages

Note the following points when reading kernel messages on various platforms.

- The kernel usually sends log messages to a special file (`/dev/kmsg` on BSDs, `/proc/kmsg` on Linux). The `file()` driver reads log messages from such files. The AxoSyslog application can periodically check the file for new log messages if the `follow-freq()` option is set.
- On Linux, the `klogd` daemon can be used in addition to AxoSyslog to read kernel messages and forward them to `syslog-ng`. `klogd` used to preprocess kernel messages to resolve symbols and so on, but as this is deprecated by `ksymoops` there is really no point in running both `klogd` and AxoSyslog in parallel. Also note that running two processes reading `/proc/kmsg` at the same time might result in dead-locks.
- When using AxoSyslog to read messages from the `/proc/kmsg` file, AxoSyslog automatically disables the `follow-freq()` parameter to avoid blocking the file.
- To read the kernel messages on HP-UX platforms, use the following options in the source statement:

  ```shell
      file("/dev/klog" program-override("kernel") flags(kernel) follow-freq(0));
  ```

Last modified July 2, 2023: [Change highlight mode of code examples (2f8a9593)](https://github.com/axoflow/axosyslog-core-docs/commit/2f8a95937c6498193e7168ce8b0dc831e9f0f8ad)
