Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When using the aggregate_max function to perform 95th percentile aggregation on two eth-trunk ports, the graph does not display converted values. #5803

Open
maojianyou opened this issue Aug 19, 2024 · 8 comments
Labels
aggregate Aggregate related issue environment Install environment releted and not a Cacti bug
Milestone

Comments

@maojianyou
Copy link

1、basic environment:

Dependency Cacti 1.2.27
Operating System CentOS7.9 kernel 3.10.0-1160.71.1.el7.x86_64
MySQL 8.0.38
PHP 7.3.33
RRDtool 1.8.0
Net-SNMP 5.7.3

I have a switch with two interfaces, eth-trunk20 and eth-trunk44, and I'm using a separate 95th percentile template. However, the default template is set to "max," which includes the parameters HRULE: |95:bits:0:max:2| and COMMENT: |95:bits:9:max:2| G


.

Now, I'm trying to create an aggregate graph by adding eth-trunk20 and eth-trunk44 to it. However, I noticed that the items in the aggregate graph cannot be modified, and both eth-trunk20 and eth-trunk44 carry the same parameters, which are HRULE: |95:bits:0:max:2| and COMMENT: |95:bits:9:max:2| G


.

The issue I'm encountering is that the graph is summing the in and out values to calculate the 95th percentile, which is resulting in inaccurate data.
02ecaabc2fb41ff548636420e0560ca

This approach essentially sums the inbound and outbound traffic at the same time point before calculating the maximum value, which is not what I want. Instead, I need to sum the outbound traffic separately and the inbound traffic separately, and then calculate the maximum value for each at the same time point.

To achieve this, I thought of changing max to aggregate_max, resulting in HRULE: |95:bits:0:aggregate_max:2| and COMMENT: |95:bits:9:aggregate_max:2| G


. For the individual interfaces, eth-trunk20 and eth-trunk44, the data collection works fine, but when aggregating eth-trunk20 and eth-trunk44, the 95th percentile graph shows abnormal values.
aggregating config
image

bug1
image

bug2
image
After enabling the forced rule in the legend and then disabling it to revert the changes, the 95th percentile red line in the graph disappears. Does this mean that the front end can only perform this operation once?
image
The 95th percentile red line is missing from the graph.

In contrast, the graph below, which is similar, does have the 95th percentile red line.
image

@maojianyou maojianyou added bug Undesired behaviour unverified Some days we don't have a clue labels Aug 19, 2024
@TheWitness
Copy link
Member

I've been waiting on a proposed pull request from multiple users. But, so far, no takers.

@TheWitness
Copy link
Member

This bug is duplicate. It must be too early in the morning as I can not find the duplicate bug.

@TheWitness
Copy link
Member

There is a lot going on here. It seems that Aggregate May need a few enhancements around 95th percentile. Something like these aggregators maybe:

  • total_in - Total the inbound interfaces
  • total_out - Total the outbound interfaces

To achieve this goal. It seems to be we need something like a drop-down to determine how to interpret the nth percentile data then replace the values in from the Graph with the interpreted data.

I suspect that if you only included inbound or just outbound, the

The aggregate_sum aggregator would work perfectly. Problem it has to work with normal graphs too, which is why I'm leaning towards a drop-down.

That kind of makes this an enhancement. Maybe I'll put this into the 1.3 release.

@TheWitness TheWitness added environment Install environment releted and not a Cacti bug and removed bug Undesired behaviour unverified Some days we don't have a clue labels Aug 25, 2024
@TheWitness TheWitness added this to the v1.3.0 milestone Aug 25, 2024
@maojianyou
Copy link
Author

There is a lot going on here. It seems that Aggregate May need a few enhancements around 95th percentile. Something like these aggregators maybe:

  • total_in - Total the inbound interfaces
  • total_out - Total the outbound interfaces

To achieve this goal. It seems to be we need something like a drop-down to determine how to interpret the nth percentile data then replace the values in from the Graph with the interpreted data.

I suspect that if you only included inbound or just outbound, the

The aggregate_sum aggregator would work perfectly. Problem it has to work with normal graphs too, which is why I'm leaning towards a drop-down.

That kind of makes this an enhancement. Maybe I'll put this into the 1.3 release.

Since older versions like Cacti 0.8.7 supported this function, it feels like a bug in the newer version 1.2.27 for not being compatible with previous versions.

image
[对象 # 1] eth-trunk21 in
[对象 # 2] eth-trunk21 out
[对象 # 3] eth-trunk44 in
[对象 # 4] eth-trunk44 out

@iskandarbasman
Copy link

There is a lot going on here. It seems that Aggregate May need a few enhancements around 95th percentile. Something like these aggregators maybe:

* `total_in` - Total the inbound interfaces

* `total_out` - Total the outbound interfaces

To achieve this goal. It seems to be we need something like a drop-down to determine how to interpret the nth percentile data then replace the values in from the Graph with the interpreted data.

I suspect that if you only included inbound or just outbound, the

The aggregate_sum aggregator would work perfectly. Problem it has to work with normal graphs too, which is why I'm leaning towards a drop-down.

That kind of makes this an enhancement. Maybe I'll put this into the 1.3 release.

Plan is show 'total_in' and 'total_out' 95th separately in an aggregated graph ?
If that makes things more simply why not.
The user can manually pick out the aggregated 95th which is the largest value of the two.

@maojianyou
Copy link
Author

There is a lot going on here. It seems that Aggregate May need a few enhancements around 95th percentile. Something like these aggregators maybe:

* `total_in` - Total the inbound interfaces

* `total_out` - Total the outbound interfaces

To achieve this goal. It seems to be we need something like a drop-down to determine how to interpret the nth percentile data then replace the values in from the Graph with the interpreted data.
I suspect that if you only included inbound or just outbound, the
The aggregate_sum aggregator would work perfectly. Problem it has to work with normal graphs too, which is why I'm leaning towards a drop-down.
That kind of makes this an enhancement. Maybe I'll put this into the 1.3 release.

Plan is show 'total_in' and 'total_out' 95th separately in an aggregated graph ? If that makes things more simply why not. The user can manually pick out the aggregated 95th which is the largest value of the two.

Version 0.8.7 of Cacti already supports the aggregate_sum function, and it allows categorizing inbound and outbound traffic to select the maximum value separately.

@akqzx
Copy link

akqzx commented Oct 8, 2024

Same problem, specifically need the 95th of the larger value, is there any way to solve this problem first? Thank you very much.

@TheWitness TheWitness added the aggregate Aggregate related issue label Oct 13, 2024
@maojianyou
Copy link
Author

Same problem, specifically need the 95th of the larger value, is there any way to solve this problem first? Thank you very much.

Currently, I am experiencing this problem, but the new version hasn't solved it. I am using the new version only for experimental testing, and it hasn't been deployed in production due to too many bugs. I'm still using the old 0.8.7 version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aggregate Aggregate related issue environment Install environment releted and not a Cacti bug
Projects
None yet
Development

No branches or pull requests

4 participants