No reports or missing reports for nodes on the Rudder server

When one or many nodes are in "No reports" status on the Rudder server, there can be several issues causing these status. To correct the issue, it is first necessary to check if reports were received by Rudder server.


For the impacted node, first check the last report time (called Last seen) in List Nodes page. If you see:

  • Never: the Node is down, misconfigured or has a communication issue with the server,
  • A date far (more than 15 minutes) from current time: You may have to synchronize server and node time, or correct a communication issue
  • A recent date: Ensure that node policies are up to date

Ensure that node policies are up to date

      Most often, the cause is non up-to-date policies on the Node. Maybe the Node could not update its policies anymore, even if the reporting looks ok and Rules seems to be applied but compliance stays in ‘No report’.

      To check if a node can update its policies, run (on the Node) the command rudder agent update.

      If you have any error messages, like the following one, it means that the Node cannot get up to date policies:

      *********************************************************************************
      * rudder-agent could not get an updated configuration from the policy server.   *
      * This can be caused by a network issue, an unavailable server, or if this      *
      * node was deleted from the Rudder root server.                                 *
      * Any existing configuration policy will continue to be applied without change. *
      *********************************************************************************
      

      To update its policies, a Node needs to get a directory from the Rudder Server (/var/rudder/share/node_uuid), and Rudder checks if the node is authorized to access that directory. The communication is encrypted in TLS, and the Rudder server checks the Node key (and vice-versa) (see https://docs.rudder.io/history/4.3/_security_considerations.html#_node_server_communication_security )

      If the Node cannot get its policy, then you need to ensure that port 5309 is open from the Node to the Rudder Server, that the Node is accepted within Rudder, and that this Node keys did not change.

      If the Node could get its policy from the Rudder Server, then it is most likely either a syslog or firewall issue.

      Check node configuration and network

      Reports are sent to the Rudder Server via syslog. You need to ensure that syslog port is open (see https://docs.rudder.io/reference/5.0/installation/requirements.html#configure-the-network for the required ports).

      If the firewall configuration is correct, you need to check that rsyslog, syslog-ng or syslogd service (depending on your OS) is running on the node, and start it if necessary. (Note: it may be necessary to restart it, even if it was correctly running, for its configuration to be taken into account)

      Please note that message are sent by default in UDP, and some networks misconfiguration may cause dropped frame - causing incomplete compliance.

      Check syslog configuration

      Rudder edits the syslog configuration, on both Nodes and Rudder Server to send reports from the Node to the Server, using the local6 facility. If you have any custom rules impacting this facility, it may prevent messages from being correctly sent to the Rudder Server

      Is this article helpful for you?