Skip to content

When creating a Data Source Profile, allow additional choices for Heartbeat #4631

@riversdev0

Description

@riversdev0

Feature Request

Is your feature request related to a problem? Please describe

Consider for a moment that you're using Cacti's out-of-the-box functionality to graph ping latency. To that aim, let's assume you create a Data Source Profile where the PDP (or step) should be 1 minute. Furthermore, let's assume that your polling interval is set to 1 minute and that you wish for gaps to appear in the graph on every polling interval where the data is Unknown, that is to say you don't wish for RRDTool to natively fill in Unknowns; you'd rather see a gap). Now, let's assume that your poller runs on a machine where the cron is slightly delayed by other processes (or, perhaps, where you have tons of far-away devices and the Polling Time of the Data Collector varies).

In the above scenario, when data is inserted into the RRD within 60 seconds, everything works great. But in situations where data is inserted at 61 seconds since the last data, the result is a gap in the graph despite all systems functioning properly. This undesirable trait would persuade the Cacti admin/user to change the Heartbeat to the next higher interval, which is 2 minutes. But, then, if the poller is running efficiently at exactly 60 seconds, and the poller inserts an Unknown in at 60 seconds (because the ping timed out), and subsequently a valid value 60 seconds after that, a gap will not appear in the graph because it was filled in by RRDTool's native capabilities. Thus, the actual failure of the ping will be masked by the native functionality of RRDTool.

Therefore, it seems impossible to build a configuration where gaps are not filled in, yet still avoiding gaps when the poller is 1 second late upon inserting.

Describe the solution you'd like

In light of the above situation, I propose that some additional values be added for Heartbeat. I think some proper values could be identified by adding [step interval] / 2 to some existing options. As a prime example, I would suggest 90 seconds as a valid choice for Heartbeat. Also, perhaps 330 seconds, which is 5-and-one-half polling intervals.

Describe alternatives you've considered

I modified Cacti's database directly to achieve a Heartbeat of 90 seconds. In this situation, the GUI does not understand the value of 90 and does not convert it to a friendly display of 90 Seconds.

Additional context

No additional context.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementGeneral tag for an enhancementresolvedA fixed issue

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions