maxs outputs for input method?
Moderators: Developers, Moderators
maxs outputs for input method?
I'm having issues with my cacti graphs. They used to work fine. I've since added outputs to my data input method, added a few new data sources, and a few new graphs. This worked fine as well. Then I added even more of the above (all using the same data input method) and now nothing works at all. We have graphs, but rrd files aren't creating or anything. There are no errors or warnings in the logs.
Did I reach some maximum something? The only thing I can assume I would have maxed out are the outputs for the data input method. There are hundreds of them at this point. However, the perl script I have the cmd.php calling will only return some sub-set of the possible outputs.
Any ideas?
Did I reach some maximum something? The only thing I can assume I would have maxed out are the outputs for the data input method. There are hundreds of them at this point. However, the perl script I have the cmd.php calling will only return some sub-set of the possible outputs.
Any ideas?
A single script is returning hundreds of values?? IMO, you seriously need to rethink how the script is working and break down/aggregate the data.
With the cacti.log in debugging logging, do you see the script run? return all the fields? multi-field parsing? rrdtool update commands?
With the cacti.log in debugging logging, do you see the script run? return all the fields? multi-field parsing? rrdtool update commands?
| Scripts: Monitor processes | RFC1213 MIB | DOCSIS Stats | Dell PowerEdge | Speedfan | APC UPS | DOCSIS CMTS | 3ware | Motorola Canopy |
| Guides: Windows Install | [HOWTO] Debug Windows NTFS permission problems |
| Tools: Windows All-in-one Installer |
Not quite like that. A single script has potential to return hundreds of values, but each graph depends on different arguments for the script. So running the script any 1 time will only return about 20 values.
example:
so these are all using 1 single data input method. with 6 different outputs, but calling the script with the different arguments only provides 3 at a time.
So, should I split my data input method into multiple input methods? or is this an okay way to design my cacti stuff?[/code]
example:
Code: Select all
[user@server scripts]# perl myscript.pl vegetableCount
carrot:1 potato:5 sprout:3
[user@server scripts]# perl myscript.pl fruitCount
apple:3 banana:2 richardsimmons:1
So, should I split my data input method into multiple input methods? or is this an okay way to design my cacti stuff?[/code]
Ah. Well, a graph template (front end) is tied to the data template (back end) which has the fields (aka data sources) defined. The data template layout is what is used when the rrdtool rrd file(s) are created. As you can see, this process isn't flexible in terms of dynamic number of data entry points.
That all being said, sounds like you're going to need to rethink how the script/query works.
That all being said, sounds like you're going to need to rethink how the script/query works.
| Scripts: Monitor processes | RFC1213 MIB | DOCSIS Stats | Dell PowerEdge | Speedfan | APC UPS | DOCSIS CMTS | 3ware | Motorola Canopy |
| Guides: Windows Install | [HOWTO] Debug Windows NTFS permission problems |
| Tools: Windows All-in-one Installer |
So what I'm trying now is creating a separate Data Input Method for each version of the script.
For example, if I was going to run the same script that I used before with the vegetableCount option then I would have a single Data Input Method for calling the script in that way. Then a second Data Input Method for calling the script with the fruitCount option. This way the Data Input Method is only being referenced by a single Data Template.
Hopefully this will solve the issue. If it doesn't them I'm afraid I don't know what's wrong with these graphs. They used to work, I added some more outputs to my input method, a couple more graphs, then they just stopped working.
For example, if I was going to run the same script that I used before with the vegetableCount option then I would have a single Data Input Method for calling the script in that way. Then a second Data Input Method for calling the script with the fruitCount option. This way the Data Input Method is only being referenced by a single Data Template.
Hopefully this will solve the issue. If it doesn't them I'm afraid I don't know what's wrong with these graphs. They used to work, I added some more outputs to my input method, a couple more graphs, then they just stopped working.
Find out why: http://docs.cacti.net/manual:087:4_help ... #debuggingHolland wrote: They used to work, I added some more outputs to my input method, a couple more graphs, then they just stopped working.
The cacti.log in debug mode is the key.
| Scripts: Monitor processes | RFC1213 MIB | DOCSIS Stats | Dell PowerEdge | Speedfan | APC UPS | DOCSIS CMTS | 3ware | Motorola Canopy |
| Guides: Windows Install | [HOWTO] Debug Windows NTFS permission problems |
| Tools: Windows All-in-one Installer |
Update: So I got as far as running the rrdtool info <rrd file> and noticed it's full of this
So now I'm left assuming my perl script is taking too long to return. This script taps a server multiple times before it spits out the output values.
Could the scripts taking too long cause this? If so, is there a way to increase the timeout or whatever on that? Because there is no way to speed up the script. It sends HTTP requests to servers, waits for a response, and loops through 3 more times...so I can't speed that up at all.
Code: Select all
rra[7].rows = 700
rra[7].cur_row = 491
rra[7].pdp_per_row = 10
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = NaN
rra[7].cdp_prep[0].unknown_datapoints = 0
rra[7].cdp_prep[1].value = NaN
rra[7].cdp_prep[1].unknown_datapoints = 0
rra[7].cdp_prep[2].value = NaN
rra[7].cdp_prep[2].unknown_datapoints = 0
rra[7].cdp_prep[3].value = NaN
rra[7].cdp_prep[3].unknown_datapoints = 0
rra[7].cdp_prep[4].value = NaN
rra[7].cdp_prep[4].unknown_datapoints = 0
rra[7].cdp_prep[5].value = NaN
rra[7].cdp_prep[5].unknown_datapoints = 0
rra[7].cdp_prep[6].value = NaN
rra[7].cdp_prep[6].unknown_datapoints = 0
rra[7].cdp_prep[7].value = NaN
rra[7].cdp_prep[7].unknown_datapoints = 0
rra[7].cdp_prep[8].value = NaN
rra[7].cdp_prep[8].unknown_datapoints = 0
rra[7].cdp_prep[9].value = NaN
rra[7].cdp_prep[9].unknown_datapoints = 0
rra[7].cdp_prep[10].value = NaN
rra[7].cdp_prep[10].unknown_datapoints = 0
rra[7].cdp_prep[11].value = NaN
rra[7].cdp_prep[11].unknown_datapoints = 0
rra[7].cdp_prep[12].value = NaN
rra[7].cdp_prep[12].unknown_datapoints = 0
rra[7].cdp_prep[13].value = NaN
rra[7].cdp_prep[13].unknown_datapoints = 0
rra[7].cdp_prep[14].value = NaN
rra[7].cdp_prep[14].unknown_datapoints = 0
rra[7].cdp_prep[15].value = NaN
rra[7].cdp_prep[15].unknown_datapoints = 0
rra[8].cf = "MAX"
rra[8].rows = 775
rra[8].cur_row = 117
rra[8].pdp_per_row = 20
rra[8].xff = 5.0000000000e-01
Could the scripts taking too long cause this? If so, is there a way to increase the timeout or whatever on that? Because there is no way to speed up the script. It sends HTTP requests to servers, waits for a response, and loops through 3 more times...so I can't speed that up at all.
This could be done asynchronously by something else. Then your script would then only have to read in the file the data was previously written to.Holland wrote: It sends HTTP requests to servers, waits for a response, and loops through 3 more times...so I can't speed that up at all.
| Scripts: Monitor processes | RFC1213 MIB | DOCSIS Stats | Dell PowerEdge | Speedfan | APC UPS | DOCSIS CMTS | 3ware | Motorola Canopy |
| Guides: Windows Install | [HOWTO] Debug Windows NTFS permission problems |
| Tools: Windows All-in-one Installer |
If the script taking a while is the cause of the issue, then I can change it to work like that no problem. I just didn't know there was going to be some timeout or something. I didn't know the script had to return immediately, I just assumed it had to eventually return something.BSOD2600 wrote:This could be done asynchronously by something else. Then your script would then only have to read in the file the data was previously written to.Holland wrote: It sends HTTP requests to servers, waits for a response, and loops through 3 more times...so I can't speed that up at all.
I don't mind changing it to work asynchronously, but do you suspect that to be the actual cause of the graphs not working?
Not yet.Holland wrote:I don't mind changing it to work asynchronously, but do you suspect that to be the actual cause of the graphs not working?
When you followed the debugging guide, was your script running and returning data at all? Sometimes returning data? You need to trace the flow of data and where it's breaking down in the process.
| Scripts: Monitor processes | RFC1213 MIB | DOCSIS Stats | Dell PowerEdge | Speedfan | APC UPS | DOCSIS CMTS | 3ware | Motorola Canopy |
| Guides: Windows Install | [HOWTO] Debug Windows NTFS permission problems |
| Tools: Windows All-in-one Installer |
Who is online
Users browsing this forum: No registered users and 1 guest