- Python >= 2.6 and Python < 3
- Python modules are in requirements.txt
- Known to work with NS12.1
- System user account that has appropriate access
- Depending on your use case, you might only need a system user that has read-only permissions
Notes
Don't forget to modify /etc/netscalertool.conf after installation
sudo pip install netscaler-tool sudo mkdir -p /var/log/netscaler-tool sudo touch /var/log/netscaler-tool/netscaler-tool.log sudo chown <user>:<group> /var/log/netscaler-tool/netscaler-tool.log sudo chmod <mode> /var/log/netscaler-tool/netscaler-tool.log sudo wget -O /etc/netscalertool.conf https://github.com/tagged/netscaler-tool/blob/master/netscalertool.conf.example
Notes
- Please replace <tag> with the version you wish to use
- The rpm will create:
- A sample /etc/netscalertool.conf that needs to be modified
- Directory /var/log/netscaler-tool. It is up to you to create /var/log/netscaler-tool/netscaler-tool.log with the correct permissions
- Download tar.gz specific version of the repo
https://github.com/tagged/netscaler-tool/releases/tag/v<tag>.tar.gz
- Use included rpm spec (python-netscalertool.spec) file and newly
downloaded tar.gz file to build a rpm
tar xzvf netscaler-tool-\<tag\>.tar.gz netscaler-tool-\<tag\>/python-netscalertool.spec- http://wiki.centos.org/HowTos/SetupRpmBuildEnvironment
- git clone https://github.com/tagged/netscaler-tool.git
- cd netscaler-tool
- sudo python setup.py install
- sudo mkdir -p /var/log/netscaler-tool
- sudo touch /var/log/netscaler-tool/netscaler-tool.log
- sudo chown <user>:<group> /var/log/netscaler-tool/netscaler-tool.log
- sudo chmod <mode> /var/log/netscaler-tool/netscaler-tool.log
- sudo cp netscalertool.conf.example /etc/netscalertool.conf
- Modify /etc/netscalertool.conf
- Update user to a NetScaler system user
- Update passwd for the NetScaler system user
- (Optional)
- Update manage_vservers with a list of vserver you want to manage
- Update external_nodes with a script that returns a newline separated list of nodes that are allowed to be managed. If not set, all nodes are manageable
The netscaler-tool is really just a wrapper around netscalerapi.py. If you would like to write your own tool, but not have to worry about interacting with the NetScaler Nitro API, you can use netscalerapi.py.
The netscaler-tool can take -h or --help optional argument at anytime:
./netscalertool.py --help
usage: netscalertool.py [-h] [--user USER] [--passwd PASSWD] [--nodns]
[--debug] [--dryrun]
NETSCALER {show,stat,compare,enable,disable,bounce}
...
positional arguments:
NETSCALER IP or name of NetScaler.
{show,stat,compare,enable,disable,bounce}
show sub-command for showing objects
stat sub-command for showing object stats
compare sub-command for comparing objects
enable sub-command for enable objects
disable sub-command for disabling objects
bounce sub-command for bouncing objects
optional arguments:
-h, --help show this help message and exit
--user USER NetScaler user account.
--passwd PASSWD Password for user. Default is to fetch from
/etc/netscalertool.conf
--nodns Won't try to resolve any NetScaler objects
--debug Shows what's going on
--dryrun Dryrun
./netscalertool.py 192.168.1.10 show --help
usage: netscalertool.py NETSCALER show [-h]
{lb-vservers,lb-vserver,cs-vservers,server,servers,services,primary-node,ssl-certs,saved-config,running-config,system}
...
positional arguments:
{lb-vservers,lb-vserver,cs-vservers,server,servers,services,primary-node,ssl-certs,saved-config,running-config,system}
lb-vservers Shows all lb vservers
lb-vserver Shows stat(s) of a specified lb vserver
cs-vservers Shows all cs vservers
server Shows server info
servers Shows all servers
services Shows all services
primary-node Shows which of the two nodes is primary
ssl-certs Shows ssl certs and days until expiring
saved-config Shows saved ns config
running-config Shows running ns config
system Shows system counters
optional arguments:
-h, --help show this help message and exit