![]() |
![]() |
Subject: | Small measured values are stored in RRD rounded to 0.0 |
Author: | [Not Specified] |
Posted: | 2015-01-22 12:59 |
Hi All,
I have a strange problem with two templates: LDAPServer and DnsMonitor. I am trying to measure times for LDAP and DNS servers residing in the same LAN as the Zenoss server itself. The measurement seems to work fine and provides really short times for queries to my servers. The problem is that those values are rounded. As a result the value stored in RRD is 0.0:
2015-01-22 18:59:10,832 DEBUG zen.zencommand: Datasource: DnsMonitor Received exit code: 0 Output:
'DNS OK: 0,007 seconds response time. www.ajtp.hu returns 195.228.189.226|time=0,006902s;;;0,000000\n'
2015-01-22 18:59:10,832 DEBUG zen.zencommand: Process DnsMonitor/DnsMonitor stopped (0), 0.01 seconds elapsed
2015-01-22 18:59:10,832 DEBUG zen.collector.scheduler: Task tsoft-util-01.tsoft-intra.hu 900 Local changing state from FETCH_DATA to PARSING_DATA
2015-01-22 18:59:10,836 DEBUG zen.collector.scheduler: Task tsoft-util-01.tsoft-intra.hu 900 Local changing state from PARSING_DATA to STORE_PERF_DATA
2015-01-22 18:59:10,851 DEBUG zen.RRDUtil: /opt/zenoss/perf/Devices/tsoft-util-01.tsoft-intra.hu/DnsMonitor_time.rrd: 0.0, @ N
As you may see, the real value is 0,007 but 0.0 is stored in RRD. As a result, I have an "empty" graph (all values are zeros).
Is there any way to avoid this rounding
Subject: | One way to do this would be |
Author: | [Not Specified] |
Posted: | 2015-01-22 13:37 |
I was going to say...
One way to do this would be to change the scale of the data point (e.g. Multiply by 1000). Go to Graph Definitions -> Manage Graph Points -> pick the point -> Edit Graph Point -> in the RPN box enter an RPN arithmetic expression e.g. 1000,*
But I don't think that is going to modify the way it is stored in RRD. Can you multiply it before it gets stored by modifying the data collection
Subject: | Could you post config |
Author: | Jan Garaj |
Posted: | 2015-01-22 16:36 |
Could you post config (printscreen) of your datapoint, please What is your default rrd create command How often do you collect this metric
Some doc: http://www.vandenbogaerdt.nl/rrdtool/process.php
Devops Monitoring Expert advice:
Dockerize/automate/monitor all the things.
DevOps stack:
Docker / Kubernetes / Mesos / Zabbix / Zenoss / Grafana / Puppet / Ansible / Vagrant / Terraform /
Elasticsearch
Subject: | Config is relevant :-) Who is |
Author: | Jan Garaj |
Posted: | 2015-01-23 02:21 |
Config is relevant :-) Who is parsing data (PARSING_DATA process) in the zenoss Parser. Where is parser defined In the datasource in this case. So please show your config of datasource/datapoint. Which version of Zenoss is it
It works in my test case:
2015-01-23 08:12:31,965 DEBUG zen.collector.scheduler: Task jangaraj.com 1 Local changing state from PARSING_DATA to STORE_PERF_DATA
2015-01-23 08:12:31,966 DEBUG zen.RRDUtil: /opt/zenoss/perf/Devices/jangaraj.com/x_metric_x_metric.rrd: 0.005, @ N
Devops Monitoring Expert advice:
Dockerize/automate/monitor all the things.
DevOps stack:
Docker / Kubernetes / Mesos / Zabbix / Zenoss / Grafana / Puppet / Ansible / Vagrant / Terraform /
Elasticsearch
Subject: | I want to see your datasource |
Author: | Jan Garaj |
Posted: | 2015-01-23 05:17 |
I want to see your datasource/datapoint config. Printscreens. Yes, I known, this forum is not image/format friendly. Use some image hosting and post only img url to the image hosting.
Which Zenoss version are you using
Devops Monitoring Expert advice:
Dockerize/automate/monitor all the things.
DevOps stack:
Docker / Kubernetes / Mesos / Zabbix / Zenoss / Grafana / Puppet / Ansible / Vagrant / Terraform /
Elasticsearch
Subject: | Parser is not defined for |
Author: | Jan Garaj |
Posted: | 2015-01-31 16:04 |
Parser is not defined for datasource so IMHO default - nagios parser is used. But I was not able to find any rounding there. I've tested DNSmonitor on 4.1.1/4.2.5, but original value was always saved:
'DNS OK: 0.006 seconds response time. localhost returns 127.0.0.1|time=0.005934s;;;0.000000\n'
2015-01-31 16:32:59,019 DEBUG zen.RRDUtil: /opt/zenoss/perf/Devices/localhost/DnsMonitor_time.rrd: 0.005934, @ N
Use:
import pdb; pdb.set_trace()
in the right place (nagios parser,...) and you can debug what is responsible for value rounding. Sorry - I can't replicate your problem.
Devops Monitoring Expert advice:
Dockerize/automate/monitor all the things.
DevOps stack:
Docker / Kubernetes / Mesos / Zabbix / Zenoss / Grafana / Puppet / Ansible / Vagrant / Terraform /
Elasticsearch
Subject: | Figured out! |
Author: | [Not Specified] |
Posted: | 2015-02-02 14:43 |
Hi Jan,
Lastly I figured out what caused my problem. Initially my Zenoss server used hu_HU as the default locale. As a result, I had comma as a separator for decimal places. (0,04 for example) Results of the LDAP and DNS query time commands were passed to the parser in that form while the parser expected numbers in the form defined in the en_US locale (0.04 dot instead of the comma). Of course, the parser did not understand that number format.
Changing the default locate on my system to en_US solved the problem:
DEBUG zen.RRDUtil: /opt/zenoss/perf/Devices/masrv.tsoft-intra.hu/ldap_time.rrd: 0.008494, @ N
Lessons learned:
Never install and use Zenoss on a system with locale other than en_US!
Your thoughts helped me to come to this solution. Thanks!
< |
Previous Zenoss at mulitple physical locations |
Next Event transform - change severity based on message text |
> |