Place Your Feature Requests & Bug Reports Here
Moderators: Developers, Moderators
- TheWitness
- Developer
- Posts: 17007
- Joined: Tue May 14, 2002 5:08 pm
- Location: MI, USA
- Contact:
Tramjoe,
Send me complete files, not patches. I run Microsoft.
TheWitness
Send me complete files, not patches. I run Microsoft.
TheWitness
True understanding begins only when we realize how little we truly understand...
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
OK, here are the files.
But I don't really see the link between using windows and not being able to use patches ? You are worrying me a bit on that one ... Besides, how do you handle the cacti "official patches " ?
Anyway, I'm just really curious to understand why you can't use diff/patch under windows (not to mention WHY you are using windows, but that would be trolling ).
Please find attatched the modified files (modified against r246) :
- database_upgrade.php, mactrack.sql : replaced HEAP by MyISAM to solve memory-tables-related problems (i.e. temp_ports emptied before copy occurs).
- mactrack_device_types.php : fixed wrong argument count in a call to api_mactrack_device_type_save (serial_number_oid was missing, preventing proper save of device_type form)
- setup.php : in this file, the site_info (as it is called everywhere else) site edit form field name was called site_information in two place. This prevented proper save of an edited site.
But I don't really see the link between using windows and not being able to use patches ? You are worrying me a bit on that one ... Besides, how do you handle the cacti "official patches " ?
Anyway, I'm just really curious to understand why you can't use diff/patch under windows (not to mention WHY you are using windows, but that would be trolling ).
Please find attatched the modified files (modified against r246) :
- database_upgrade.php, mactrack.sql : replaced HEAP by MyISAM to solve memory-tables-related problems (i.e. temp_ports emptied before copy occurs).
- mactrack_device_types.php : fixed wrong argument count in a call to api_mactrack_device_type_save (serial_number_oid was missing, preventing proper save of device_type form)
- setup.php : in this file, the site_info (as it is called everywhere else) site edit form field name was called site_information in two place. This prevented proper save of an edited site.
- Attachments
-
- modified_files_against_r246_jerome.tgz
- (18.73 KiB) Downloaded 371 times
- TheWitness
- Developer
- Posts: 17007
- Joined: Tue May 14, 2002 5:08 pm
- Location: MI, USA
- Contact:
I use ExamDiff Pro as my diff viewer, it provides such a good interface at comparing changes that I prefer to operate on full files. Besides, diff is not always 100% as I may be in the middle of performing changes prior to another SVN push and this gives me an excellent 50k foot view of your changes.
TheWitness
TheWitness
True understanding begins only when we realize how little we truly understand...
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
- TheWitness
- Developer
- Posts: 17007
- Joined: Tue May 14, 2002 5:08 pm
- Location: MI, USA
- Contact:
Tramjoe,
Looks like I messed up 1 API call for device types and a form issue for sites. The memory stuff may just be because you do not have MySQL configured to handle a big enough Heap table.
Thanks for the patches!! If you find more, don't be shy.
TheWitness
max_heap_table_size = 256M
That setting in your my.cnf (my.ini) file should address any issues with running as Heap tables.
Looks like I messed up 1 API call for device types and a form issue for sites. The memory stuff may just be because you do not have MySQL configured to handle a big enough Heap table.
Thanks for the patches!! If you find more, don't be shy.
TheWitness
max_heap_table_size = 256M
That setting in your my.cnf (my.ini) file should address any issues with running as Heap tables.
True understanding begins only when we realize how little we truly understand...
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Yep. Those were minor and trivial to fix though.TheWitness wrote:Tramjoe,
Looks like I messed up 1 API call for device types and a form issue for sites.
I'll try that. Thanks.TheWitness wrote: The memory stuff may just be because you do not have MySQL configured to handle a big enough Heap table.
max_heap_table_size = 256M
That setting in your my.cnf (my.ini) file should address any issues with running as Heap tables.
About supporting VLANs, trunk et al. for my 3Com superstackII switches, do you have any pointer in the code where I should look at to implement this ? Is the genericdot1q poller function supposed to do this already ?
- TheWitness
- Developer
- Posts: 17007
- Joined: Tue May 14, 2002 5:08 pm
- Location: MI, USA
- Contact:
I would have to look at the code. I suspect that (cause it's just been a long time since I have looked at the code) that the generic only provide the port mappings. Based on some earlier posts, there simply needs to be a xform_generic_vlans function that pulls the vlan out of the OID as described and then returns an array of VLANS keyed off of the ifIndex similar to what I do today.
TheWitness
TheWitness
True understanding begins only when we realize how little we truly understand...
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
I'll take a look at that this weekend. However this is a nightmare for me, beacause of past work on CatOS indexes that almost made me become allergic to everything SNMP !TheWitness wrote:Based on some earlier posts, there simply needs to be a xform_generic_vlans function that pulls the vlan out of the OID as described and then returns an array of VLANS keyed off of the ifIndex similar to what I do today.
TheWitness
- TheWitness
- Developer
- Posts: 17007
- Joined: Tue May 14, 2002 5:08 pm
- Location: MI, USA
- Contact:
That's funny. I was thinking the same thing prior to finding out that you have to use
snmpread_string@vlanid
What a mess. But it works... You will find similar functions like "xform_standard_xxx" to be pretty easy to interpret. Just review "mactrack/lib/mactrack_functions.php" for more details.
Regards,
Larry
snmpread_string@vlanid
What a mess. But it works... You will find similar functions like "xform_standard_xxx" to be pretty easy to interpret. Just review "mactrack/lib/mactrack_functions.php" for more details.
Regards,
Larry
True understanding begins only when we realize how little we truly understand...
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Yeah, having the actual information stored INSIDE the OID, with the actual OID leaf content being an index to ifIndex is .. well ... not as intuitive and simple as the "S" in SNMP suggestsTheWitness wrote:That's funny. I was thinking the same thing prior to finding out that you have to use
snmpread_string@vlanid
What a mess. But it works... You will find similar functions like "xform_standard_xxx" to be pretty easy to interpret. Just review "mactrack/lib/mactrack_functions.php" for more details.
Regards,
Larry
_S_NMP ... what a joke
- TheWitness
- Developer
- Posts: 17007
- Joined: Tue May 14, 2002 5:08 pm
- Location: MI, USA
- Contact:
It's sort of like Bill Gates. I envision a meeting in some board room many years ago (I was just getting into computers at the time) and someone complained that there was no such thing as a "directory" object in DOS.
Then someone in another part of the room, who knew as much as Bill did about computers, but maybe a little more, said "you know the UNIX guys use the backslash "\" for directories, why don't we use that chacter to create the hierarchy". The rest of the story is history. And if you understand the impact of that 1 mistake, you know the history well.
Now with SNMP, I think the "S" should have stood for "S"uper fast on the network, because it is sooo compact. Everything is numeric and therefore, you will not find anything faster out there. I don't care if it's the Hot HTML standard "SOAP" or the CIM standard "Open Pegasus". None will ever match the speed of SNMP.
TheWitness
Then someone in another part of the room, who knew as much as Bill did about computers, but maybe a little more, said "you know the UNIX guys use the backslash "\" for directories, why don't we use that chacter to create the hierarchy". The rest of the story is history. And if you understand the impact of that 1 mistake, you know the history well.
Now with SNMP, I think the "S" should have stood for "S"uper fast on the network, because it is sooo compact. Everything is numeric and therefore, you will not find anything faster out there. I don't care if it's the Hot HTML standard "SOAP" or the CIM standard "Open Pegasus". None will ever match the speed of SNMP.
TheWitness
True understanding begins only when we realize how little we truly understand...
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
About slashes and backslashes, well, that's right :-/ (or should I say :-\).
About SNMP, I tend to agree, but what you're referring to is not SNMP per se but ASN.1
The main problem I see with SNMP, what makes it difficult to use at full capacity, is that the possibilities are huge but noone uses them (well, I guess patrol/HP-OV do it partly, but those are such big fat bastards that I don't really care).
Think about this : having an SNMP backend that not only fetches OIDs, but also actually USES the provided units (and for that units like "minutes", "hundredth of volts" - those a actual units returned by my ups's serial SNMP controller - and BTW cacti + php-snmp is choking on those, I had to patch 0.8.6.j so it uses net-snmp external binary to get it right), is able to import and compile MIBs, and basically actually USES SNMP possibilities. But this is almost never the case in various NMS packages because to do it right, you need a long phase of planning and engineering, because this _is_ really complex.
So we hack the things up, we just reinvent the wheel because it is easier, simpler (like parsing manually in code loops what should be mapped to a table object - as intended by the actual SNMP standard, etc.).
For me, the joke comes from here : SNMP is a _very_ powerfull standard, not deprecated at all, still top-notch and cutting-edge, and around for years. But we (as in open-source code contributors) _never_ managed to get it right, to actually implement the full range of possibilities the clean way. What we do is like writing an HTTP parser in script shell doing stuff like cat $site_dir/$(ngrep -q host $client | grep 'GET' | awk '{print $2}') | socat -o $mysocket ... see what I mean ?
But don't get me wrong, I'm not saying we are wrong doing this, just that the "S" in SNMP is a joke, proof being that a community capable of doing unix kernels, complex NMS systems (and BTW the onmy open source NMS that at least tries to get it right is a pachyderm, namely openNMS), compilers and stuff never managed to use it to full potential.
About SNMP, I tend to agree, but what you're referring to is not SNMP per se but ASN.1
The main problem I see with SNMP, what makes it difficult to use at full capacity, is that the possibilities are huge but noone uses them (well, I guess patrol/HP-OV do it partly, but those are such big fat bastards that I don't really care).
Think about this : having an SNMP backend that not only fetches OIDs, but also actually USES the provided units (and for that units like "minutes", "hundredth of volts" - those a actual units returned by my ups's serial SNMP controller - and BTW cacti + php-snmp is choking on those, I had to patch 0.8.6.j so it uses net-snmp external binary to get it right), is able to import and compile MIBs, and basically actually USES SNMP possibilities. But this is almost never the case in various NMS packages because to do it right, you need a long phase of planning and engineering, because this _is_ really complex.
So we hack the things up, we just reinvent the wheel because it is easier, simpler (like parsing manually in code loops what should be mapped to a table object - as intended by the actual SNMP standard, etc.).
For me, the joke comes from here : SNMP is a _very_ powerfull standard, not deprecated at all, still top-notch and cutting-edge, and around for years. But we (as in open-source code contributors) _never_ managed to get it right, to actually implement the full range of possibilities the clean way. What we do is like writing an HTTP parser in script shell doing stuff like cat $site_dir/$(ngrep -q host $client | grep 'GET' | awk '{print $2}') | socat -o $mysocket ... see what I mean ?
But don't get me wrong, I'm not saying we are wrong doing this, just that the "S" in SNMP is a joke, proof being that a community capable of doing unix kernels, complex NMS systems (and BTW the onmy open source NMS that at least tries to get it right is a pachyderm, namely openNMS), compilers and stuff never managed to use it to full potential.
- TheWitness
- Developer
- Posts: 17007
- Joined: Tue May 14, 2002 5:08 pm
- Location: MI, USA
- Contact:
You need to provide more details on this (like a patch), today, we operate on purely numeric OID's for a reason, 'speed'. The template designer is the one who needs to be knowledgable about the tree and how to decompose. As far as units are concerned, that again is the responsibility of the developer to 'get it right' on their respective graphs.and BTW cacti + php-snmp is choking on those, I had to patch 0.8.6.j so it uses net-snmp external binary to get it right), is able to import and compile MIBs, and basically actually USES SNMP possibilities.
The real battle we have is that net-snmp has changed the game from version to version, the compilation of it from platform to platform and from distribution to distribution changes the defaults. (oh, and that really sucks).
So, I take particular (and costly steps) to remove all units from snmp responses, again because the templates take care of restoring that information.
I totaly agree there. I recently did an audit of Spectrum and found that it claimed all these features. Quite powerful, but when I went beyond the sales literature and started evaluating all the specific UI's I saw a trend. There was inconsistency between interfaces, duplicated data, no common design.But this is almost never the case in various NMS packages because to do it right, you need a long phase of planning and engineering, because this _is_ really complex.
The problem that those companies have is that the monitoring space is so broad that they can never get funding approval for a rewrite. And, in the event that they do get funding, by the time the design is done, it's obsolete or the product manager is fired because it took to long...
Hey, now there's a thought. In the recent releases of net-snmp, they have implemented snmptable. But it's not in the PHP version. I'm sure it does exactly what you are saying though. Yes and I am a hack...So we hack the things up, we just reinvent the wheel because it is easier, simpler (like parsing manually in code loops what should be mapped to a table object - as intended by the actual SNMP standard, etc.).
Ok, I am very interested in "what" openNMS is doing right. I want Cacti to be better as do others. So, although opinions are like assholes. In other words, we all have them and they all stink, I want to hear yours and one day, if we meet, my dog will take care of the restBut don't get me wrong, I'm not saying we are wrong doing this, just that the "S" in SNMP is a joke, proof being that a community capable of doing unix kernels, complex NMS systems (and BTW the onmy open source NMS that at least tries to get it right is a pachyderm, namely openNMS), compilers and stuff never managed to use it to full potential.
TheWitness
True understanding begins only when we realize how little we truly understand...
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Witness,
Can we get a option when we add a device. The option that would be handy would be to force snmpwalk for slow/overloaded devices. I know that would considerably help me. I just have no idea where to start in all of your code to do that.
Secondly,
I think it would be a huge help if we took the time and created an installer for the database, version checking, etc. That way it will save time in the trouble shooting phase too. I don't think this should be too hard to do. There are install packages we could use to accomplish the pretty interface and common look among the plugins, and the SQL statements create,insert,update,etc could be forumlated in a if/else fashion that way we all end up with the same end result, even if we have never installed it before. If you can give me a export of the database structure I will be happy to start down this path if you want.
-Lance
Can we get a option when we add a device. The option that would be handy would be to force snmpwalk for slow/overloaded devices. I know that would considerably help me. I just have no idea where to start in all of your code to do that.
Secondly,
I think it would be a huge help if we took the time and created an installer for the database, version checking, etc. That way it will save time in the trouble shooting phase too. I don't think this should be too hard to do. There are install packages we could use to accomplish the pretty interface and common look among the plugins, and the SQL statements create,insert,update,etc could be forumlated in a if/else fashion that way we all end up with the same end result, even if we have never installed it before. If you can give me a export of the database structure I will be happy to start down this path if you want.
-Lance
- TheWitness
- Developer
- Posts: 17007
- Joined: Tue May 14, 2002 5:08 pm
- Location: MI, USA
- Contact:
Lance,
If you don't want bulk, simply set the snmp version to 1. V1 does not support bulk walks.
Secondly, the installer will be automatic when I finally release this thing.
TheWitness
If you don't want bulk, simply set the snmp version to 1. V1 does not support bulk walks.
Secondly, the installer will be automatic when I finally release this thing.
TheWitness
True understanding begins only when we realize how little we truly understand...
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
Life is an adventure, let yours begin with Cacti!
Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages
For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
juinper router support
I'd love to see some templates for Juniper routers...
Thanks!
Thanks!
Who is online
Users browsing this forum: No registered users and 0 guests