Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enhancing plugin, adding Icinga2 examples #19

Merged
merged 31 commits into from
Aug 12, 2017
Merged

enhancing plugin, adding Icinga2 examples #19

merged 31 commits into from
Aug 12, 2017

Conversation

bb-Ricardo
Copy link
Contributor

This pull request adds a few commands and Icinga2 config examples.

This pull request doesn't break any current plugin behaviors!

New commands:

  • server -> check status of Load Balancing Servers
  • hwinfo -> just print information about the Netscaler itself
  • interfaces -> check state of all interfaces and add performance data for each interface
  • performancedata -> to query stats and counters to forward them to a performance tool of your choice
  • servicegroup -> check the state of a servicegroup and its members (set warning and critical values for member quorum)

New CLI option

  • -x | urlopts : add extra url options to your NITRO URL query (ONLY AVAILABLE IN DEBUG)

New examples

Added examples to add Netscaler checks to Icinga2

Other changes

  • merged check_string and check_string_not into one function
  • merged both threshold functions into one
  • removed trailing white spaces
  • added Authors & Contributors sections to README.md
  • added version information to file header (make it easier for the admin to spot the file version and date)
  • bumped plugin version to 1.2.0

I know it's a huge pull request. I usually like them more atomic.

I hope this is ok and you'll like it.

Cheers
Ricardo

Added Icinga2 command definition
Added following commands:
* server -> check status of Load Balancing Servers
* hwinfo -> just print information about the Netscaler itself
* interfaces -> check state of all interfaces and add performance data for each interface
added option "performancedata" to query stats and counters to forward them to a performance tool of your choice
* examples:
 * cache
    -C performancedata -o ns -n cachetothits,cachetotmisses
 * tcp connections
    -C performancedata -o ns -n tcpcurclientconn,tcpcurclientconnestablished,tcpcurserverconn,tcpcurserverconnestablished
 * http requests
    -C performancedata -o ns -n httprxrequestbytesrate,httprxresponsebytesrate,httptotrequests,httptotresponses,httptotrxrequestbytes,httptotrxresponsebytes
Now it is possible to get performance data from arrays like Interface.
* identifier and field name need to be separated by '.'
* example Interface endpoint:
 -C performancedata -o Interface -n id.tottxbytes,id.totrxbytes
check the state of a servicegroup and its members
now you can define (in percent) how many servicegroup members can go DOWN until you get a WARNING or CRITICAL output
I like the name of the function
Adding command line option -x / --urlopts to set NITRO URL options for further filtering in debug mode
@slauger slauger self-assigned this Aug 11, 2017
@slauger slauger changed the base branch from master to development August 12, 2017 12:57
@slauger
Copy link
Owner

slauger commented Aug 12, 2017

Hi Ricardo,

thank you for this awesome Pull request. Great work. Seems like you put a lot of time into this. ;)

I really love the idea of your performancedata check. All your other changes and improvements makes sense as well.

I will merge this into the development branch first. I would like to add a few improvements to the documentation. After that i'll merge this into the master branch and create a new tag.

Keep up the good work!

@slauger slauger merged commit 0fbf038 into slauger:development Aug 12, 2017
This was referenced Aug 12, 2017
@bb-Ricardo
Copy link
Contributor Author

bb-Ricardo commented Aug 14, 2017

thank you.

it's seems you were quite busy over the weekend as well. Great job.

I will the new version to our enviroment and do some test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants