-
-
Notifications
You must be signed in to change notification settings - Fork 734
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
Some data gaps in collector and graphs, NaNs in rrd files #1157
Comments
The logs above show http calls to fetch data which are sometimes 8 minutes after the previous call or sometimes 5 minutes after the previous calls. javamelody uses jrobin for graphs which are stored as RRD files or Round Robin Databases. And Round Robin Databases use a xff or “x-files factor”: If we are trying to consolidate a number of samples into one, there is a chance that there could be gaps where a value wasn’t collected (the device was down, etc.). In that case, the value would be UNKNOWN. This factor determines how many of the samples can be UNKNOWN for the consolidated sample is considered UNKNOWN. So there should be more http calls to have more values to aggregate without gaps. Default in collector server is one http call per monitored app every 60 seconds. It can be configured with the parameter Have you changed that parameter ? |
Thanks for your answer @evernat
We use this command for running the collector instance, and we have it here Yes, we know that we can see the javamelody monitoring page from each app, but we want to use javamelody collector because we want use some autoscaling in our app, so using one centralized point is much more comfortable. Now we see if we go the app instance Few other app logs are collected together at the same time, same interval and there are lines about them in the logs, we just skipped them to show that the logs are collected with the different intervals than we set it with '-Djavamelody.resolution-seconds=60' One more interesting/strange issue - if we open an empty graph
XML value - no NaNs at all So I suspect maybe it's a conversion/formatting issue? Java version BTW how to enable DEBUG log for the collector? To see a possible reasons for such behavior /WEB-INF/classes/log4j2.xml As I understand, I should modify this file in the war, right? No env variables? |
ok.
That's normal with a collector server.
You can copy /WEB-INF/classes/log4j2.xml from the war file to the file system. Then modify it and add the following to your java command line : Log4J2 manual : https://logging.apache.org/log4j/2.x/manual/configuration.html |
I don't think so, because we see in the logs that there are not enough http calls. Do you have checked cpu usage on the collector server ? Maybe the cpu cores (or memory) are just too weak to run faster. How many other apps are monitored in the collector server ? The http calls in the collector server for the other apps take about 500 ms like for the first app ? (The collector server has 10 parallel threads max to do the http calls.) Otherwise, stop and restart the collect server and then copy all logs for a few minutes in this issue (all http calls are fast every 60 seconds ? no app is missing in the http calls ?) |
any news? |
Hello, we have JavaMelody 1.92, a few apps, and a collector
Very often, we see some data gaps in graphs
https://ibb.co/7ghth6X
https://ibb.co/ZWgXwvs
In the logs collector gathers the logs
And everything looks fine, with no exceptions (or very rare)
But when I am trying to transform the rrd files into XML (with help of JRobin libs)
Is see NaNs
Could you please give me the advice how/where can I locate the problem?
The text was updated successfully, but these errors were encountered: