Cacti / cacti

Cacti ™
http://www.cacti.net
GNU General Public License v2.0
1.62k stars 403 forks source link

Add some additional templates to base install #3421

Open bmfmancini opened 4 years ago

bmfmancini commented 4 years ago

Hey Guys

would you be able to add these templates to the base install

Cisco BGP Cisco Envriomental Cisco ASA template

I can supply the templates to you I have tested them right up to 1.2.11 without issues and I think these are pretty popular and would be nice to be included right out of the box

Thanks!

TheWitness commented 4 years ago

@bmfmancini, would you volunteer to create the packages if we provide you a copy of the plugin? @netniv could create a "packages" repo so they can be uploaded and version controlled. What do you think Mark?

bmfmancini commented 4 years ago

Sure!

If I have something to follow that would be great

On Mon., Apr. 6, 2020, 11:56 a.m. South Park Neo, notifications@github.com wrote:

@bmfmancini https://github.com/bmfmancini, would you volunteer to create the packages if we provide you a copy of the plugin? @netniV https://github.com/netniV could create a "packages" repo so they can be uploaded and version controlled. What do you think Mark?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Cacti/cacti/issues/3421#issuecomment-609881109, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADGEXTFT45VOFDELOM33Z2DRLH3UFANCNFSM4MCJF6MQ .

bmfmancini commented 4 years ago

This would be great if we did this we could start vetting and updating the community templates to be included in the core install which would greatly extend the out of the box functions of cacti I am super pumped to do this

TheWitness commented 4 years ago

Let's let Mark Chime in. If you would like to formally join the team and take on that responsibility, I'd give you my vote.

bmfmancini commented 4 years ago

That would be great I am up for it

TheWitness commented 4 years ago

Sean,

Send a request Email to developers@cacti.net then, requesting to become a part of the team.

Larry

TheWitness commented 4 years ago

I would also like you to work with @eschoeller, as he has a truck load of Environmental Templates.

bmfmancini commented 4 years ago

Email sent !

netniV commented 4 years ago

OK, give me some time to ponder it. Really this relates to work we had wanted to do for automating templates within v1.3. If it is going to be part of all that, some initial work will need to be done to decide on formats, locations and security ahead of any actual work.

bmfmancini commented 4 years ago

Sounds good to me

Are you talking a complete overhaul or could we use the same way templates are installed now i.e the Cisco template then add a Cisco ASA template , Procurve template etc ?

eschoeller commented 4 years ago

Yep, I have a bunch of templates. Always working on new ones. Sorry I've been MIA, I hope to get back to focusing on Cacti soon.

TheWitness commented 4 years ago

So, guys this is what I'm thinking, and I've been talking to @ronytomen, @netniV, @browniebraun, and @cigamit about.

1) We have an existing packaging plugin. We will add a column to it to allow you to specify a 'Class' of monitoring it is. Things like: Firewall, Environmental, Services, etc. If you guys can think of what Static list of classes we should have and append them here, that would be good. 2) We would provide you guys copies to the packaging plugin so that you can easily build the packages as they are elsewhere. 3) What we would ask of you is to create pull requests including, at least at first 'Device Packages', though other types would be supported. 4) In those pull requests, we would ask you to upload the package, and the resource and script files that come with the package. This will allow the team to quickly audit the scripts for quality before merging them. 5) More long term, we would like to have an image of each Graph Template inside the package, but that will have to wait a while.

The the basic directory structure in the 'packages' repository would be:

(root directory)

We might separate the (packages) directory or have a directory per class. That's something still up for debate.

Another thing more long term, and I personally am real busy right now, would be a way for you to simply pick the graphs that you want uploaded, anonymize the title and watermark, and create a pull request on the fly from within the plugin. That way you simply have to select the Device Package, assign a class, author, title, name, and version, pick the images that you want to upload and push not the "Package" button, but the "Package and Pull Request" button.

Now this would require each of you to have a locally forked version of the packages repo. But again, this is likely a ways out.

So, let me know what you think, and what 'Classes' you would like added to the plugin....

bmfmancini commented 4 years ago

Sounds great and I like the structure

Some of the classes I can think of are

On Tue, Apr 7, 2020 at 10:34 PM South Park Neo notifications@github.com wrote:

So, guys this is what I'm thinking, and I've been talking to @ronytomen https://github.com/ronytomen, @netniV https://github.com/netniV, @browniebraun https://github.com/browniebraun, and @cigamit https://github.com/cigamit about.

  1. We have an existing packaging plugin. We will add a column to it to allow you to specify a 'Class' of monitoring it is. Things like: Firewall, Environmental, Services, etc. If you guys can think of what Static list of classes we should have and append them here, that would be good.
  2. We would provide you guys copies to the packaging plugin so that you can easily build the packages as they are elsewhere.
  3. What we would ask of you is to create pull requests including, at least at first 'Device Packages', though other types would be supported.
  4. In those pull requests, we would ask you to upload the package, and the resource and script files that come with the package. This will allow the team to quickly audit the scripts for quality before merging them.
  5. More long term, we would like to have an image of each Graph Template inside the package, but that will have to wait a while.

The the basic directory structure in the 'packages' repository would be:

(root directory)

  • (scripts directory)
  • (resource directory)
  • (images directory - later)
  • (packages directory)

We might separate the (packages) directory or have a directory per class. That's something still up for debate.

Another thing more long term, and I personally am real busy right now, would be a way for you to simply pick the graphs that you want uploaded, anonymize the title and watermark, and create a pull request on the fly from within the plugin. That way you simply have to select the Device Package, assign a class, author, title, name, and version, pick the images that you want to upload and push not the "Package" button, but the "Package and Pull Request" button.

Now this would require each of you to have a locally forked version of the packages repo. But again, this is likely a ways out.

So, let me know what you think, and what 'Classes' you would like added to the plugin....

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Cacti/cacti/issues/3421#issuecomment-610718286, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADGEXTF4T5CKLKFQTXIMPMLRLPPEZANCNFSM4MCJF6MQ .

-- Thank you

Sean Mancini,LBBIT Owner/Principal Engineer www.seanmancini.com

“Companies spend millions of dollars on firewalls, encryption, and secure access devices, and it’s money wasted because none of these measures address the weakest link in the security chain.”

– Kevin Mitnick

eschoeller commented 4 years ago

Most of the work I do these days is in Data Centers, but I have developed templates for a myriad of other IT related devices over the years. You could simply say that everything I have these days would fall under a generic category like "Environmental" which is similar to how it works with the Nagios Plugins classification structure. Could we simply borrow the Nagios Plugin classification structure? Probably. I see the two tools as extremely similar in their audience. It would make things easy and inter-operable for users (yes, I have a few nagios plugins to match up with my cacti templates).

I think it depends on how "wide" you want this classification system to go. And certainly how many plugins there would be. It doesn't make a lot of sense to have just one plugin under a class. And I think this could change over time as more plugins are added, so it really wouldn't need to be set in stone from the outset. And it also depends if we would have nested classes or not.

Here's a summary of what I've developed (or contributed significantly to)

Some of these are "good" templates. Others are "terrible". Even some of the good ones likely need better optimization. I have been stuck using script based templates for years and never cracked the magic behind the 'script server' option which would likely be a huge improvement for some of these. Plus, a bunch of these haven't been tested in many years. As the hardware aged out of our infrastructure and my job changed, I have no idea if some of these would even work anymore against more modern versions of the same equipment. aka ... they're not actively maintained :)

TheWitness commented 1 year ago

Making this note if @eschoeller you want to jump in.

https://github.com/Cacti/cacti/issues/4957

I can reliably make the Packaging plugin available to you this week if you want to do a bunch of packaging. Or, you can just dump your DB, scripts and resources directory and I'll take a crack at it.

Otherwise, if you want to add Device Template classes, just update that other ticket.