What's the difference in all the "Data Input Methods"?
Moderators: Developers, Moderators
What's the difference in all the "Data Input Methods"?
I've Googled this till I'm blue in the face, but I can't find any definitive documentation as to the differences between all of these:
Data Input Methods
---------------------------
SNMP
SNMP Query
Script/Command
Script Query
Script - Script Server
Script Query - Script Server
Data Queries
---------------------------
Script Data
Script Server Data
SNMP Data
I suppose the biggest hindrance to my being able to understand this situation is that, out of the 3 types of "Data Queries", there are two types of examples out of the box, and out of the SIX types of "Data Input Methods", there is only ONE type of example. What are the differences between them? A good example for each one would be awesome. How does adding "query" to the end of "snmp" and "script" change them? I think I understand the concept of a "script server," but I can't get my head around a good reason why I'd want to use one.
I understand that this has been asked several times before. The best I can come up with is a pointer back to the documentation. I've read all of that. I still don't understand. The only really good example in there is about an SNMP Data Query (which I've used to great effect). There must be a reason that someone took the time to make each of these other options in the program, and respond differently to each one in the code. The best way I can ask the question is this:
WHAT PROBLEM ARE EACH OF THESE DESIGNED TO SOLVE?
OTOH, if someone just wants to cut to the chase, my problem is this: I need to grab a half dozen SNMP OID's (NON-indexed) from a piece of equipment, and I'd like to chart them all on the same graph. (Specifically, I want to grab voltage and current from all 3 phases of a PDU.) What's the best way to go about this? I'm sorry I'm stupid, but I've been searching for hours, and I still can't figure out which method I should use!
Data Input Methods
---------------------------
SNMP
SNMP Query
Script/Command
Script Query
Script - Script Server
Script Query - Script Server
Data Queries
---------------------------
Script Data
Script Server Data
SNMP Data
I suppose the biggest hindrance to my being able to understand this situation is that, out of the 3 types of "Data Queries", there are two types of examples out of the box, and out of the SIX types of "Data Input Methods", there is only ONE type of example. What are the differences between them? A good example for each one would be awesome. How does adding "query" to the end of "snmp" and "script" change them? I think I understand the concept of a "script server," but I can't get my head around a good reason why I'd want to use one.
I understand that this has been asked several times before. The best I can come up with is a pointer back to the documentation. I've read all of that. I still don't understand. The only really good example in there is about an SNMP Data Query (which I've used to great effect). There must be a reason that someone took the time to make each of these other options in the program, and respond differently to each one in the code. The best way I can ask the question is this:
WHAT PROBLEM ARE EACH OF THESE DESIGNED TO SOLVE?
OTOH, if someone just wants to cut to the chase, my problem is this: I need to grab a half dozen SNMP OID's (NON-indexed) from a piece of equipment, and I'd like to chart them all on the same graph. (Specifically, I want to grab voltage and current from all 3 phases of a PDU.) What's the best way to go about this? I'm sorry I'm stupid, but I've been searching for hours, and I still can't figure out which method I should use!
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Re: What's the difference in all the "Data Input Methods"?
Please see 1st link of my sig for some explanations. Briefly:
Data Input Method == Scrip/Command = your script fetches the data
Script Server = script based, like the above. But script server "caches" the code and preloads php. This way, it gives you faster execution.
SNMP = uses SNMP to fetch the data. Pure SNMP fetches a single OID
SNMP Query = uses SNMP, like the above, but this is used for fetching data from an SNMP table (this situation applies e.g. to standard interface traffic which fetches data from the SNMP interface table)
Script Query = uses your script, but like SNMP Queries applies to data structured organized like SNMP tables
Script Server Query = uses your script, runs under script server and applies to table structures
Reinhard
Data Input Method == Scrip/Command = your script fetches the data
Script Server = script based, like the above. But script server "caches" the code and preloads php. This way, it gives you faster execution.
SNMP = uses SNMP to fetch the data. Pure SNMP fetches a single OID
SNMP Query = uses SNMP, like the above, but this is used for fetching data from an SNMP table (this situation applies e.g. to standard interface traffic which fetches data from the SNMP interface table)
Script Query = uses your script, but like SNMP Queries applies to data structured organized like SNMP tables
Script Server Query = uses your script, runs under script server and applies to table structures
Reinhard
Re: What's the difference in all the "Data Input Methods"?
Thanks so much for a quick and helpful reply! It sounds like I need a script query for my next task. I'll go ahead and give this a whirl!
Re: What's the difference in all the "Data Input Methods"?
Again, I just need to grab a half dozen OID's from a piece of equipment. They are NOT indexed. From your post, I was thinking that I needed a "Script Query." However, when I read http://docs.cacti.net/manual:087:3a_adv ... alkthrough, it's clear that "Script Queries" are designed -- again -- for INDEXED data.
So, again, I'm confused as to the difference between a "Script Query" and an "SNMP Query". Can you speak to this?
I guess what I need is just a "Script/Command"? That's what I'll investigate next...
So, again, I'm confused as to the difference between a "Script Query" and an "SNMP Query". Can you speak to this?
I guess what I need is just a "Script/Command"? That's what I'll investigate next...
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Re: What's the difference in all the "Data Input Methods"?
Queries always refer to sth that is indexed like a table.
SNMP will access that data by using SNMP requests. No programming required. Quite easy stuff.
Scripts will access that data by using some script (a program written in your favorite programming language). You may even use a Script in case you need some postprocessing on data you originally fetched via an SNMP call.
If you are NOT accessing a table, all types of QUERIES won't help!
If you e.g. want to fetch multiple values that are NOT part of a table, a SCRIPT is required that spits out e.g.
name1:1234 name 2:2345 name3:3456
R.
SNMP will access that data by using SNMP requests. No programming required. Quite easy stuff.
Scripts will access that data by using some script (a program written in your favorite programming language). You may even use a Script in case you need some postprocessing on data you originally fetched via an SNMP call.
If you are NOT accessing a table, all types of QUERIES won't help!
If you e.g. want to fetch multiple values that are NOT part of a table, a SCRIPT is required that spits out e.g.
name1:1234 name 2:2345 name3:3456
R.
Re: What's the difference in all the "Data Input Methods"?
Excellent! I don't mean to clutter the board with "thanks," but that's exactly the sort of disambiguation I needed.
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Re: What's the difference in all the "Data Input Methods"?
Oh, I'm satisfied with "excellent" as wellDunkirk wrote:Excellent! I don't mean to clutter the board with "thanks,"
R.
Re: What's the difference in all the "Data Input Methods"?
Dunkirk, so, what was your tactics to achieve a graph with different non-indexed OID's? I'm on the same problem now, and cursing Cacti developers, for not creating another XML-driven data input, where it doesn't need any index, it just reads given OID's and ready!
So, as I understood, I need to use some script, that generates some sort of output. What that output should be? Like the one from SNMP-walk?
Why is it so, that it is not documented, if that is mentioned as "There are different ways for Cacti to retrieve data, the most popular being through an external script or from SNMP. " (link). If I'm looking in wrong section, please, give me a pointer to correct documentation part. Thanks!
So, as I understood, I need to use some script, that generates some sort of output. What that output should be? Like the one from SNMP-walk?
Code: Select all
SNMPv2-SMI::mib-2.33.1.4.4.1.2.1 = INTEGER: 233
SNMPv2-SMI::mib-2.33.1.4.4.1.2.2 = INTEGER: 233
SNMPv2-SMI::mib-2.33.1.4.4.1.2.3 = INTEGER: 233
SNMPv2-SMI::mib-2.33.1.2.5.0 = INTEGER: 2720
SNMPv2-SMI::mib-2.33.1.4.4.1.5.1 = INTEGER: 1
SNMPv2-SMI::mib-2.33.1.4.4.1.5.2 = INTEGER: 1
SNMPv2-SMI::mib-2.33.1.4.4.1.5.3 = INTEGER: 2
SNMPv2-SMI::mib-2.33.1.3.3.1.2.1 = INTEGER: 500
SNMPv2-SMI::mib-2.33.1.3.3.1.2.2 = INTEGER: 500
SNMPv2-SMI::mib-2.33.1.3.3.1.2.3 = INTEGER: 500
- gandalf
- Developer
- Posts: 22383
- Joined: Thu Dec 02, 2004 2:46 am
- Location: Muenster, Germany
- Contact:
Re: What's the difference in all the "Data Input Methods"?
You can do this through a script, yes.
But the preferred and faster method is using the "generic SNMP OID" template as a copy, see e.g. http://docs.cacti.net/manual:087:3_temp ... a_template
You will have to use a copy for each OID
R.
But the preferred and faster method is using the "generic SNMP OID" template as a copy, see e.g. http://docs.cacti.net/manual:087:3_temp ... a_template
You will have to use a copy for each OID
R.
Who is online
Users browsing this forum: No registered users and 1 guest