NS Admin Guide
NS Admin Guide
NS Admin Guide
Copyright and Trademark Notice CITRIX SYSTEMS, INC., 2009. ALL RIGHTS RESERVED. NO PART OF THIS DOCUMENT MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS OR USED TO MAKE DERIVATIVE WORK (SUCH AS TRANSLATION, TRANSFORMATION, OR ADAPTATION) WITHOUT THE EXPRESS WRITTEN PERMISSION OF CITRIX SYSTEMS, INC. ALTHOUGH THE MATERIAL PRESENTED IN THIS DOCUMENT IS BELIEVED TO BE ACCURATE, IT IS PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE ALL RESPONSIBILITY FOR THE USE OR APPLICATION OF THE PRODUCT(S) DESCRIBED IN THIS MANUAL. CITRIX SYSTEMS, INC. OR ITS SUPPLIERS DO NOT ASSUME ANY LIABILITY THAT MAY OCCUR DUE TO THE USE OR APPLICATION OF THE PRODUCT(S) DESCRIBED IN THIS DOCUMENT. INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. COMPANIES, NAMES, AND DATA USED IN EXAMPLES ARE FICTITIOUS UNLESS OTHERWISE NOTED. The following information is for FCC compliance of Class A devices: This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the FCC rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment generates, uses, and can radiate radiofrequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference, in which case users will be required to correct the interference at their own expense. Modifying the equipment without Citrix' written authorization may result in the equipment no longer complying with FCC requirements for Class A digital devices. In that event, your right to use the equipment may be limited by FCC regulations, and you may be required to correct any interference to radio or television communications at your own expense. You can determine whether your equipment is causing interference by turning it off. If the interference stops, it was probably caused by the NetScaler Request Switch 9000 Series equipment. If the NetScaler equipment causes interference, try to correct the interference by using one or more of the following measures: Move the NetScaler equipment to one side or the other of your equipment. Move the NetScaler equipment farther away from your equipment. Plug the NetScaler equipment into an outlet on a different circuit from your equipment. (Make sure the NetScaler equipment and your equipment are on circuits controlled by different circuit breakers or fuses.) Modifications to this product not authorized by Citrix Systems, Inc., could void the FCC approval and negate your authority to operate the product. BroadCom is a registered trademark of BroadCom Corporation. Fast Ramp, NetScaler, WANScaler, Citrix XenApp, and NetScaler Request Switch are trademarks of Citrix Systems, Inc. Linux is a registered trademark of Linus Torvalds. Internet Explorer, Microsoft, PowerPoint, Windows and Windows product names such as Windows NT are trademarks or registered trademarks of the Microsoft Corporation. NetScape is a registered trademark of Netscape Communications Corporation. Red Hat is a trademark of Red Hat, Inc. Sun and Sun Microsystems are registered trademarks of Sun Microsystems, Inc. Other brand and product names may be registered trademarks or trademarks of their respective holders. Software covered by the following third party copyrights may be included with this product and will also be subject to the software license agreement: Copyright 1998 Carnegie Mellon University. All rights reserved. Copyright David L. Mills 1993, 1994. Copyright 1992, 1993, 1994, 1997 Henry Spencer. Copyright Jean-loup Gailly and Mark Adler. Copyright 1999, 2000 by Jef Poskanzer. All rights reserved. Copyright Markus Friedl, Theo de Raadt, Niels Provos, Dug Song, Aaron Campbell, Damien Miller, Kevin Steves. All rights reserved. Copyright 1982, 1985, 1986, 1988-1991, 1993 Regents of the University of California. All rights reserved. Copyright 1995 Tatu Ylonen, Espoo, Finland. All rights reserved. Copyright UNIX System Laboratories, Inc. Copyright 2001 Mark R V Murray. Copyright 1995-1998 Eric Young. Copyright 1995,1996,1997,1998. Lars Fenneberg. Copyright 1992. Livingston Enterprises, Inc. Copyright 1992, 1993, 1994, 1995. The Regents of the University of Michigan and Merit Network, Inc. Copyright 1991-2, RSA Data Security, Inc. Created 1991. Copyright 1998 Juniper Networks, Inc. All rights reserved. Copyright 2001, 2002 Networks Associates Technology, Inc. All rights reserved. Copyright (c) 2002 Networks Associates Technology, Inc. Copyright 19992001 The Open LDAP Foundation. All Rights Reserved. Copyright 1999 Andrzej Bialecki. All rights reserved. Copyright 2000 The Apache Software Foundation. All rights reserved. Copyright (C) 2001-2003 Robert A. van Engelen, Genivia inc. All Rights Reserved. Copyright (c) 1997-2004 University of Cambridge. All rights reserved. Copyright (c) 1995. David Greenman. Copyright (c) 2001 Jonathan Lemon. All rights reserved. Copyright (c) 1997, 1998, 1999. Bill Paul. All rights reserved. Copyright (c) 1994-1997 Matt Thomas. All rights reserved. Copyright 2000 Jason L. Wright. Copyright 2000 Theo de Raadt. Copyright 2001 Patrik Lindergren. All rights reserved. Last Updated: June 2009
C ONTENTS
Contents
Preface
About This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i New in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii Formatting Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii Related Documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Getting Service and Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Knowledge Center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv Silver and Gold Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv Education and Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .v Documentation Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .v
Chapter 1
Chapter 2
SNMP
Importing MIB Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Defining SNMP Managers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 Configuring SNMP V1 and V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 Adding an SNMP Community . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Removing an SNMP Community . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21 Configuring SNMP Traps and Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 Configuring SNMP V3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 Salient Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 SNMPv3 Security Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 Configuring SNMP V3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31
iv
Chapter 3
Chapter 4
Contents
Installing the NSWL files on the Logging System . . . . . . . . . . . . . . . . . . . . . . . . .63 Installing NSWL on a Solaris Operating System . . . . . . . . . . . . . . . . . . . . . . . .63 Installing NSWL on a Linux Operating System. . . . . . . . . . . . . . . . . . . . . . . . .64 Installing NSWL on a FreeBSD Operating System . . . . . . . . . . . . . . . . . . . . . .64 Installing NSWL on a MAC Operating System . . . . . . . . . . . . . . . . . . . . . . . . .65 Installing NSWL on a Windows Operating System. . . . . . . . . . . . . . . . . . . . . .66 Installing NSWL on an AIX Operating System . . . . . . . . . . . . . . . . . . . . . . . . .67 NSWL Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Configuring Web Server Logging on the Logging System . . . . . . . . . . . . . . . . . . .68 Modifying the Web Server Log Configuration File . . . . . . . . . . . . . . . . . . . . . .69 Defining Log Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Adding the IP Addresses of the NetScaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 Verifying the Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 Starting Web Server Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Stopping Web Server Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Sample Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75 Log File Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78 Custom Log Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 Apache Log Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88 Checklist for Configuring Web Server Logging . . . . . . . . . . . . . . . . . . . . . . . . . . .88
Chapter 5
Advanced Configurations
Configuring Clock Synchronization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89 Configuring Clock Synchronization Manually. . . . . . . . . . . . . . . . . . . . . . . . . .89 Configuring Clock Synchronization Using the Configuration Utility or the CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91 Path Maximum Transmission Unit Discovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . .94 The NetScaler in Transparent Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94 The NetScaler in End-Point Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94 Enabling or Disabling PMTU Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 Configuring TCP Window Scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 Configuring Selective Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97 Clearing the Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
Chapter 6
Reporting Tool
Using the Reporting Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 Working with Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103 Working with Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108
vi
How Data Collection Works. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 Stopping and Starting the Data Collection Utility . . . . . . . . . . . . . . . . . . . . . .110 Importing Data from the newnslog File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111
P REFACE
Preface
Before you begin to manage and monitor your Citrix NetScaler, take a few minutes to review this chapter and learn about related documentation, other support options, and ways to send us feedback. In This Preface About This Guide New in This Release Audience Formatting Conventions Related Documentation Getting Service and Support Documentation Feedback
ii
Chapter 4, Web Server Logging. Configure web server log to maintain a history of the page requests that originate from the NetScaler. Chapter 5, Advanced Configurations. Learn how to set advanced configurations, such as NTP, PMTU, and autodetected services, on the NetScaler. Chapter 6, Reporting Tool. Learn how to use the Reporting tool to view performance statistics as reports with graphs that are based on statistics collected by the nscollect utility.
Audience
This guide is intended for the following audience: system administrators network administrators
The concepts and tasks described in this guide require you to have a basic understanding of network design, operation, and terminology.
Formatting Conventions
This documentation uses the following formatting conventions. Formatting Conventions
Convention Boldface Italics Meaning Information that you type exactly as shown (user input); elements in the user interface. Placeholders for information or parameters that you provide. For example, FileName in a command means you type the actual name of a file. Also, new terms, and words referred to as words (which would otherwise be enclosed in quotation marks).
Preface
iii
Formatting Conventions
Convention
Monospace
Meaning System output or characters in a command line. User input and placeholders also are formatted using monspace text. Optional items in command statements. For example, in the following command, [-range positiveInteger] means that you have the option of entering a range, but it is not required:
add lb vserver name serviceType IPAddress port [-range positiveInteger]
[ brackets ]
Do not type the brackets themselves. | (vertical bar) A separator between options in braces or brackets in command statements. For example, the following indicates that you choose one of the following load balancing methods:
lbMethod = ( ROUNDROBIN | LEASTCONNECTION | LEASTRESPONSETIME | URLHASH | DOMAINHASH | DESTINATIONIPHASH | SOURCEIPHASH | SRCIPDESTIPHASH | LEASTBANDWIDTH | LEASTPACKETS | TOKEN | SRCIPSRCPORTHASH | LRTM | CALLIDHASH | CUSTOMLOAD )
Related Documentation
A complete set of documentation is available on the Documentation tab of your NetScaler and from http://support.citrix.com/. (Most of the documents require Adobe Reader, available at http://adobe.com/.)
To view the documentation
1. 2. 3.
From a Web browser, log on to the NetScaler. Click the Documentation tab. To view a short description of each document, hover your cursor over the title. To open a document, click the title.
iv
You can also get support from Citrix Customer Service at http://citrix.com/. On the Support menu, click Customer Service.
Knowledge Center
The Knowledge Center offers a variety of self-service, Web-based technical support tools at http://support.citrix.com/. Knowledge Center features include: A knowledge base containing thousands of technical solutions to support your Citrix environment An online product documentation library Interactive support forums for every Citrix product Access to the latest hotfixes and service packs Knowledge Center Alerts that notify you when a topic is updated Note: To set up an alert, sign in at http://support.citrix.com/ and, under Products, select a specific product. In the upper-right section of the screen, under Tools, click Add to your Hotfix Alerts. To remove an alert, go to the Knowledge Center product and, under Tools, click Remove from your Hotfix Alerts. Security bulletins Online problem reporting and tracking (for organizations with valid support contracts)
Preface
North America, Latin America, and the Caribbean: 8 A.M. to 9 P.M. U.S. Eastern Time, Monday through Friday Asia (excluding Japan): 8 A.M. to 6 P.M. Hong Kong Time, Monday through Friday Australia and New Zealand: 8 A.M. to 6 P.M. Australian Eastern Standard Time (AEST), Monday through Friday Europe, Middle East, and Africa: 8 A.M. to 6 P.M. Coordinated Universal Time (Greenwich Mean Time), Monday through Friday
Documentation Feedback
You are encouraged to provide feedback and suggestions so that we can enhance the documentation. You can send email to the following alias or aliases, as appropriate. In the subject line, specify Documentation Feedback. Be sure to include the document name, page number, and product release version. For NetScaler documentation, send email to nsdocs_feedback@citrix.com. For Command Center documentation, send email to ccdocs_feedback@citrix.com. For Access Gateway documentation, send email to agdocs_feedback@citrix.com.
vi
You can also provide feedback from the Knowledge Center at http:// support.citrix.com/.
To provide feedback from the Knowledge Center home page
1. 2.
Go to the Knowledge Center home page at http://support.citrix.com/. On the Knowledge Center home page, under Products, click NetScaler Application Delivery, and click NetScaler Application Delivery Software 9.1. On the Documentation tab, click the guide name, and then click Article Feedback. On the Documentation Feedback page, complete the form, and then click Submit.
3. 4.
C HAPTER 1
NetScaler authentication and authorization functions are of two basic types.The users and groups functions allow you to define who has access to the NetScaler. Command policies allow you to define what parts of the NetScaler configuration a user or group is permitted to access and modify. In other words, command policies regulate which commands, command groups, and other elements NetScaler users and groups are permitted to use. To configure authentication and authorization, you first define the users who have access to the NetScaler. After you have defined the users, you can organize them into groups. You then configure command policies to define the types of access, and assign the policies to users and/or groups. In This Chapter Defining Users Defining Groups Command Policies Resetting the Default Administrator (nsroot) Password Examples of User Scenarios
Defining Users
Once you have changed the default password, no user can access the NetScaler until you create an account for that user. After you have defined your users by creating accounts for them, you might have to change passwords or remove user accounts.
Specifies Name that the user enters to request access. Password that the user enters to request access.
1. 2. 3. 4. 5. 6.
In the navigation pane, expand System and click Users. On the System Users page, Click Add. In the Create System User dialog box, in the User Name text box, type a name for the user (for example, johnd). In the Password text box, type a password to assign to the user. In the Confirm Password text box, again type the password that you have typed in the Password text box. Click Create and click Close.
Example
add system user johnd
Parameter Password
Chapter 1
1. 2. 3. 4. 5.
In the navigation pane, expand System and click Users. On the System Users page, select the user account for which you want to change the password (for example, johnd) and click Change Password. In the Password text box, type the new password. In the Confirm Password text box, type the new password again. Click OK.
Example
set system user johnd johnd1
1. 2. 3. 4.
In the navigation pane, expand System and click Users. On the System Users page, select the user account that you want to remove. For example, johnd. Click Remove. The Remove pop-up window appears. Click Yes.
Example
rm system user johnd
Defining Groups
To define a group, you first create the group, then bind users to the group.
Adding Groups
The following table describes the parameter you set to create a group.
1. 2. 3. 4.
In the navigation pane, expand System and click Groups. On the System Groups page, click Add. In the Create System Group dialog box, in the Group Name text box, type a name for the group (for example, Managers). Click Create, and click Close.
Example
add system group
Managers
Chapter 1
1. 2. 3.
In the navigation pane, expand System and click Groups. On the System Groups page, select a group and click Open. In the Configure System Group dialog box, under Members section, select a user you want to bind to the group, from the Available Users list and click Add.
Example
bind system group Managers johnd
Removing Groups
All the users and command policies that are currently bound to the group should be unbound before removing a group.
To remove a group using the configuration utility
1. 2. 3. 4.
In the navigation pane, expand System and click Groups. On the System Groups page, select the group that you want to remove. (for example, Managers). Click Remove. In the Remove pop-up, click Yes.
Example
rm system group Managers
Command Policies
Command policies regulate which commands, command groups, vservers, and other elements NetScaler users and user groups are permitted to use. The NetScaler provides a set of built-in command policies, and you can configure custom policies. To apply the policies, you bind them to user and/or groups.
Here are the key points to keep in mind when defining and applying command policies. No global command policies may be created on the NetScaler. Command policies must be bound directly to NetScaler users and groups. Users or groups with no associated command policies are subject to the default DENY -ALL command policy, and will therefore be unable to execute any commands until the proper command policies are bound their accounts. All users inherit the policies of the groups to which they belong. You must assign a priority to a command policy when you bind it to a user account or group account. This enables the NetScaler to determine which policy has priority when two or more conflicting policies apply to the same user or group. The following commands are available by default to any any user and are unaffected by any command policies you specify: help cli, show cli attribute, clear cli prompt, alias, unalias, batch, source, help, history, man, quit, exit, whoami, config, set cli mode, unset cli mode, show cli mode, set cli prompt, and show cli prompt.
Policy Name
Allows Read-only access to all show commands except show runningconfig, show ns.conf, and the show commands for the NetScaler command group. Read-only access and access to commands to enable and disable services and servers or place them in ACCESSDOWN mode. Full access except to NetScaler commands, the shell command, and the show ns.conf and sh runningconfig commands. Full access. Same privileges as the nsroot user.
read-only
Chapter 1
If you want to create a command policy that includes all commands that being with rm, you should type the following:
DENY ^rm .*$
Command Specification
^rm\s+.*$
Matches these Commands All remove actions, because all remove actions begin with the rm string, followed by a space and additional parameters and flags. All show commands, because all show actions begin with the show string, followed by a space and additional parameters and flags. The shell command alone, but not combined with any other parameters or flags. All create a vserver actions, which consist of the add vserver command followed by a space and additional parameters and flags.
^show\s+.*$
^shell$ ^add\s+vserver\s+.*$
^add\s+(lb\s+vserver)\s+ All create an lb vserver actions, which consist of the add lb vserver command followed by a space and .*
All commands that configure load balancing settings at the command group level.
The following table shows the command specifications for each of the built-in command policies:
network superuser
The following table describes the parameters you set to create a command policy.
Specifies Name of the command policy. Rule expression that the policy uses to pattern match. The action the policy need to apply when the command specification pattern matches. Possible values: ALLOW and DENY
1. 2. 3. 4. 5.
In the navigation pane, expand System and click Command Policies. On the Command Policies page, click Add. In the Create Command Policy dialog box, in the Policy Name text box, type a name for the command policy (for example, read_all). In the Action list, select the action (for example, Allow). In the Command Spec text box, enter a command, such as (^show\s+(?!system)(?!ns ns.conf)(?!ns runningConfig).*)|(^stat.*) (you can use the Policy Components to expedite entry). Click Create.
6.
Chapter 1
Example
add system cmdPolicy read_all ALLOW (^show\s+(?!system)(?!ns ns.conf)(?!ns runningConfig).*)|(^stat.*)
Specifies The user account Name of the command policy bind to the user.
1. 2.
In the navigation pane, expand System and click Users. On the System Users page, select a user (for example, johnd)
10
3. 4.
Click Open. In the Configure System User dialog box, under Command Policies, in the Active column, select one or more check boxes for policies to bind to this user. In the Priority list box, for each active policy, enter a priority number for the policy (for example, 1), or adjust the number. Click OK.
5. 6.
Example
bind system user johnd johnd_pol 1
group.
Parameter Group Name Policy Name Specifies Name of the group. Name of the command policy to bind to the user group.
1. 2. 3. 4.
In the navigation pane, expand System and click Groups. On the System Groups page, select a group (for example, Managers) Click Open. In the Configure System Group dialog box, under Command Policies, in the Active column, select one or more check boxes for policies to bind to this group. In the Priority list box, for each active policy, enter a priority number for the policy (for example, 2), or adjust the number. Click OK.
5. 6.
Chapter 1
11
Example
bind system group Managers -policyName Managers_pol 2
1. 2. 3. 4.
In the navigation pane, expand System and click Command Policies. On the Command Policies page, select the command policy to be removed (for example, Managers_pol). Click Remove. In the Remove pop-up window, click Yes.
Example
rm system cmdPolicy Managers_pol
12
1.
Note: You cannot log on via ssh to perform this procedure; you must connect directly to the NetScaler. As the operating system starts, it displays the following message: Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in # seconds. 2. Press CTRL+C. The following message appears: Type ? for a list of commands, help for more detailed help. ok 3. Type boot -s, and press the Enter key to start the NetScaler in single user mode. After the NetScaler boots, it displays the following message: Enter full pathname of shell or RETURN for /bin/sh: 4. Press the Enter key to display the # prompt, and type the following commands to mount the file systems: fsck /dev/ad0s1a mount /dev/ad0s1a /flash Using a text editor of your choice, edit the /flash/nsconfig/ ns.conf file and remove the set system user nsroot entry. Save the file and exit the text editor. Type reboot and press the Enter key to reboot the NetScaler. When the NetScaler completes rebooting, it prompts for username and password. 8. Log on as nsroot, with the password nsroot. Once logged in to the NetScaler, you will be required to enter a new nsroot user password. 9. 10. Follow the prompts to change the password. Exit the config ns menu.
5. 6. 7.
Chapter 1
13
The following table shows the breakdown of network information, user account names, group names, and command policies for the sample company:
Value ns01.example.net johnd mariar michaelb Managers SysOps read_all modify_lb modify_all
Note
John Doe, IT manager Maria Ramirez, IT administrator Michael Baldrock, IT administrator All managers All IT administrators Allow complete read-only access Allow modify access to load balancing Allow nearly complete modify access
The following description walks you through the process of creating a complete set of user accounts, groups, and command policies on the NetScaler ns01.example.net. The description includes procedures for binding the appropriate user accounts and groups to one another, and binding appropriate command policies to the user accounts and groups. This example illustrates how you can use prioritization to grant precise access and privileges to each user in the IT department.
14
The example assumes that initial installation and configuration have already been performed on the NetScaler.
To create johnd, mariar, and michaelb user accounts
1. 2. 3. 4. 5. 6. 7.
In the navigation pane, expand System and click Users. On the System Users page, Click Add. In the Create System User dialog box, in the User Name text box, type johnd. In the Password text box, type a password to assign to the user. In the Confirm Password text box, again type the password that you have typed in the Password text box. Click Create. Repeat steps 26 to create user accounts and passwords for Maria Ramirez and Michael Baldrock.
1. 2. 3. 4. 5.
In the navigation pane, expand System and click Groups. On the System Groups page, click Add. In the Create System Group dialog box, in the Group Name text box, type Managers. Click Create, and click Close. Repeat steps 14 to create a group named SysOps.
1. 2. 3. 4. 5. 6.
In the navigation pane, expand System and click Groups. On System Groups page, select the Managers group and click Open. In the Configure System Group dialog box, under Members, select johnd in the Available Users list. Click Add to move johnd to the Configured Users list. Click OK, and click Close. Repeat steps 14 to bind users mariar and michaelb to the group SysOps.
1. 2.
In the navigation pane, expand System and click Command Policies. On the Command Policies page, click Add.
Chapter 1
15
3. 4. 5.
In the Create Command Policy dialog box, in the Policy Name text box, type read_all. In the Action list, select Allow. In the Command Spec text box, enter (^show\s+(?!system)(?!ns ns.conf)(?!ns runningConfig).*)|(^stat.*) (you can use the Policy Components to expedite entry). Click Create. Repeat steps 16, to create a command policy named modify_lb with action as Allow and the command spec ^set\s+lb\s+.*$ Repeat steps 16, to create a command policy named modify_all with action as Allow and the command spec ^\S+\s+(?!system).*
6. 7. 8.
1. 2. 3. 4.
In the navigation pane, expand System and click Groups. On the System Groups page, select the Managers group. Click Open. In the Configure System Group dialog box, under Command Policies, in the Active column, select the read_all policy and change the Priority list box to 1. Click OK. Repeat steps 15 to bind the read_all command policy to the SysOps group, also assigning it a priority of 1.
5. 6.
1. 2. 3. 4.
In the navigation pane, expand System and click Users. On the System Users page, select the michaelb user account. Click Open. In the Configure System User dialog box, under Command Policies, in the Active column, select the modify_lb policy and change the Priority list box to 5. Click OK.
5.
The configuration you've just created results in the following: John Doe, the IT manager, has read-only access to the entire NetScaler, but cannot make modifications.
16
Maria Ramirez, the IT lead, has near-complete access to all areas of the NetScaler configuration, having to log on only to perform NetScaler-level commands. Michael Baldrock, the IT administrator responsible for load balancing, has read-only access to the NetScaler configuration, and can modify the configuration options for load balancing.
As mentioned earlier, the set of command policies that applies to a specific user is a combination of command policies applied directly to the user's account and command policies applied to the group(s) of which the user is a member. Each time a user enters a command, the operating system searches the command policies for that user until it finds a policy with an explicit ALLOW or DENY action that matches the command. When it finds a match, the operating system stops its command policy search and allows or denies access to the command. If the operating system finds no matching command policy, it denies the user access to the command, in accordance with the NetScalers default deny policy. Note: When placing a user into multiple groups, take care not to cause unintended user command restrictions or privileges. To avoid these conflicts, when organizing your users in groups, it's good to bear in mind the NetScaler's command policy search procedure and policy ordering rules.
C HAPTER 2
SNMP
The NetScaler supports Simple Network Management Protocol (SNMP) functionality, as illustrated in the following diagram. This diagram shows a network with a NetScaler that has SNMP enabled and configured. In the diagram, each SNMP network management application uses SNMP to communicate with the SNMP agent on the NetScaler. The SNMP agent searches its management information base ( MIB) to collect the data requested by the network management application, and provides the information to the application.
18
The SNMP agent on the NetScaler supports SNMP version 1 (SNMPv1), SNMP version 2 (SNMPv2), and SNMP version 3 (SNMPv3). The SNMP agent handles queries, such as SNMPv2 Get-Bulk, from the SNMP manager. The SNMP agent also sends out traps compliant with SNMPv2. It also supports SNMPv2 datatypes, such as counter64. In This Chapter Importing MIB Files Defining SNMP Managers Configuring SNMP V1 and V2 Configuring SNMP V3
Before you start configuring SNMP, you must import the appropriate SNMP MIB files to the network management application, as follows: If the HP OpenView SNMP manager is installed on your computer, copy the NS-MIB-smiv2.mib file from the NetScaler Product CD, /Utilities/ SNMP/HP_OpenView directory, or download it from the FTP site ftp.netscaler.com. If the WhatsUpGold SNMP manager is installed on your computer, copy the traps.txt and mib.txt files from the NetScaler Product CD, /Utilities/ SNMP/WhatsUpGold directory, or download it from the FTP site ftp.netscaler.com.
Note: For information about the user name and password used to connect to the FTP site, contact the NetScaler product support group.
Chapter 2
SNMP
19
Parameter IP Address
Specifies IP/Network address of the management station. Subnet of management stations. Used to grant access from entire subnets to the NetScaler.
Netmask
1. 2. 3.
In the navigation pane, expand System, click SNMP, and click Managers. In the Add SNMP Manager dialog box, click Add. In the Create Manager dialog box, in the IP Address text box, type the IP address of the computer running the management application (for example, 10.102.29.5). Click Add.
4.
Example
add snmp manager 10.102.29.5
20
1. 2. 3. 4.
In the navigation pane, expand System, click SNMP, and then click Managers. On the SNMP Managers page, select the manager which you want to remove. Click Remove. In the Remove dialog box, click Yes.
Example
rm snmp manager
10.102.29.5
Chapter 2
SNMP
21
Parameter
Access privileges. Possible values: GET, GET NEXT, GET BULK, ALL.
1. 2. 3. 4. 5.
In the navigation pane, expand System, click SNMP, and then click Community. On the SNMP Community page, click Add. In the Add SNMP Community dialog box, in the Community String text box, type a name for the community to be added (for example, Com_All). In Permission, select the ALL option. Click Create.
1. 2. 3. 4.
In the navigation pane, expand System, click SNMP, and then click Community. On the SNMP Community page, select the community that you want to remove (for example, Com_All). Click Remove. In the Remove dialog box, click Yes.
22
Indicates An SNMP management application without access privileges has attempted to access the NetScaler. An SNMP entity configured as an agent has reinitialized itself. Its configuration may have been altered. The sending protocol entity recognizes that one of the communication links represented in the agent's configuration has come up. The sending protocol entity recognizes a failure in one of the communication links represented in the agent's configuration.
linkDown
The following table describes the specific SNMP traps that the NetScaler supports.
Indicates Average CPU usage in the multi-processor NetScaler has exceeded the high threshold.
Chapter 2
SNMP
23
Indicates Average CPU usage in the multi-processor NetScaler has come back to normal after exceeding the predefined threshold . The NetScaler has become the primary node in a High Availability configuration. The NetScaler has become the secondary node in a High Availability configuration. CPU utilization has exceeded the threshold. CPU utilization has returned to normal after exceeding the threshold and generating a cpuUtilization trap. Disk usage has exceeded the threshold. Disk usage has returned to normal. State of the interface, vserver, or physical service has changed to UP. State of the interface, vserver, or physical service has changed to DOWN. A fan speed has fallen below an alarm threshold. Note: Fan speed varies from 4000 through 6500 on all platforms. An alarm threshold of 25% of the minimum is recommended.
A fan speed has returned to normal. Interface throughput has fallen below an alarm threshold. Interface throughput has returned to normal. Number of clients for a service has reached the maximum allowed for that service. Number of clients for a service has fallen below 70% of maximum number allowed for that service, after causing a maxClient trap. Memory utilization has exceeded the predefined threshold. Memory utilization has returned to normal after a memoryUtilization trap. Response time for a monitor probe has exceeded the configured threshold.
24
Indicates Response time for a monitor probe is below the threshold, indicating that response time has returned to normal. A user 's atempt to log in to the NetScaler has failed. Your NetScaler configuration has changed. Note: This trap is not generated when the configuration is restored from the ns.conf file.
netscalerLoginFailure NetScalerConfigChange
netScalerConfigSave serviceRequestRate serviceRequestRateNormal serviceRxBytesRate serviceRxBytesRateNormal serviceTxBytesRate serviceTxBytesRateNormal serviceSynfloodRate serviceSynfloodNormal sslCertificateExpiry svcGrpMemberRequestRate svcGrpMemberRequestRateNormal svcGrpMemberRxBytesRate svcGrpMemberRxBytesRateNormal svcGrpMemberTxBytesRate
The NetScaler configuration has been saved. Request rate on a service has exceeded the threshold. Request rate on a service has returned to normal. Request bytes/s of a service has exceeded a threshold value. Request bytes/s of a service has returned to normal. Response bytes/s of a service exceeded a threshold value. Response bytes/s of a service has returned to normal. The number of unacknowledged syns for a service has exceeded a threshold value. The number of unacknowledged syns for a service has returned to normal. A SSL certificate is due to expire. Request rate on a service group member has exceeded a threshold value. Request rate on a service group member has returned to normal. Request bytes per second of a service group has exceeded a threshold value. Request bytes per second of a service group has returned to normal. Response bytes per second of a service group has exceeded a threshold value.
Chapter 2
SNMP
25
Specific trap svcGrpMemberTxBytesRateNormal svcGrpMemberSynfloodRate svcGrpMemberSynfloodNormal svcGrpMemberMaxClients svcGrpMemberMaxClientsNormal synflood synfloodNormal temperatureHigh temperatureNormal vServerRequestRate vServerRequestRateNormal vserverRxBytesRate vserverRxBytesRateNormal vserverTxBytesRate vserverTxBytesRateNormal vserverSynfloodRate vserverSynfloodNormal voltageLow voltageNormal
Indicates Response bytes per second of a service group has returned to normal. Number of unacknowledged SYN packets for a service group has exceeded a threshold value. Number of unacknowledged SYN packets for a service group has returned to normal. Number of clients has reached the maxClients value for a service group member. Number of clients has fallen below 70% of maxClients value for a service group member. Rate at which unacknowledged SYN packets are received has exceeded the threshold. Rate at which unacknowledged SYN packets are received has returned to normal. Temperature has gone high. The temperature is measured in degree centigrade (0C). Temperature has returned to normal. Request rate on a vserver has exceeded the predefined threshold. Request rate on a vserver has returned to normal. Request bytes/s of a vserver has exceeded the threshold value. Request bytes/s of a vServer has returned to normal. Response bytes/s of a vserver has exceeded a threshold value. Response bytes/s of a vServer has returned to normal. Number of unacknowledged syns for a vserver has exceeded a threshold value. Number of unacknowledged syns for a vserver has returned to normal. A voltage has fallen below the threshold value. A voltage has returned to normal.
26
Indicates A voltage has exceeded the threshold value. Note: The three traps voltageLow, voltageNormal, and voltageHigh are based on v33main and v33stby (mV). The normal value ranges from 2970mV through 3630mV.
haVersionMismatch haSyncFailure haNoHeartbeats haBadSecState powerSupplyFailed powerSupplyNormal interfaceBWUseHigh interfaceBWUseNormal aggregateBWUseHigh aggregateBWUseNormal
OS versions of the NetScalers in a High Availability configuration do not match. Configuration synchronization has failed on secondary node. High Availability heartbeats are not received by the primary node from the secondary. State of the secondary node has changed to DOWN, UNKNOWN, or STAY SECONDARY . Power supply has failed. The power supply has returned to service. Bandwidth usage of any of the interfaces of the NetScaler has exceeded the threshold value. Bandwidth usage of any of the interfaces of the NetScaler has returned to normal Aggregate bandwidth usage of the NetScaler has exceeded the threshold value. Aggregate bandwidth usage of the NetScaler has returned to normal.
Note: SNMP manager to listen for traps with this community name. The default community name is public. The following table describes the parameters you set to add an SNMP trap:
Specifies The Trap type. Possible values: generic and specific. SNMP version of the trap PDU to be sent.
Chapter 2
SNMP
27
Specifies IP address of the trap destination. Destination port of the trap. Default: 162. Minimum value: 1 Source IP of the traps. Minimum severity of the alarm resulting in this trap. Default: Informational (any alarm). The community string. Default: public.
Community Name
1. 2. 3. 4. 5. 6. 7. 8. 9.
In the navigation pane, expand System, click SNMP, and click Traps. On the Traps page, click Add. In Version, select an SNMP Version (for example, V1). In the Destination IP Address text box, type the IP address that is to receive the trap (for example, 10.102.29.3). In the Destination Port text box, type the destination port (for example, 163). In the Source IP text box, type the source IP address of the trap (for example, 10.102.29.54). In Minimum Severity, select a severity option (for example, Major). In the Community Name text box, type the name of the SNMP string that you want to include in the trap (for example, com1). Click Add.
Example
add snmp trap specific 10.102.29.3 -version V2 -destPort 163 -communityName com1 -srcIP 10.102.29.54 -severity Major
28
1. 2. 3. 4.
In the navigation pane, expand System, click SNMP, and then click Traps. On the SNMP Traps page, select the trap that you want to remove. Click Remove. In the Remove dialog box, click Yes.
1. 2. 3.
In the navigation pane, expand System, expand SNMP, and click Alarms. On the SNMP Alarms page, select an alarm (for example, Login-Failure). To enable a disabled alarm, click Enable, or, to disable an enabled alarm, click Disable.
SNMP
29
1. 2. 3. 4.
In the navigation pane, expand System, expand SNMP, and click Alarms. Click Open. In the Configure SNMP Alarm dialog box, in Severity, select a severity option (for example, Major). Click Ok.
Parameter Logging
Specifies Enable logging of SNMP trap messages by Syslog. Possible values : ENABLED and DISABLED.
The following procedure includes examples for enabling or modifying the logging of trap messages for the alarm LOGIN-FAILURE. When this alarm is enabled, a trap message is generated and sent to the trap destination whenever there is a login failure on the NetScaler. This message is logged.
To enable or disable logging of SNMP traps using configuration utility
1. 2. 3.
In the navigation pane, expand System, expand SNMP, and then click Alarms. Click Open. In the Configure SNMP Alarm dialog box, in Logging, select ENABLED to enable the logging of SNMP trap messages generated or select DISABLED to disable logging of SNMP trap messages. Click Ok.
4.
To enable or disable logging of SNMP traps using the NetScaler command line
30
or
set snmp alarm LOGIN-FAILURE -logging DISABLED
Configuring SNMP V3
Simple Network Management Protocol Version 3 (SNMPv3) is based on the basic structure and architecture of SNMPv1 and SNMPv2. However, SNMPv3 enhances the basic architecture to incorporate administration and security capabilities such as authentication, access control, data integrity check, data origin verification, message timeliness check, and data confidentiality.
Salient Features
SNMPv3 provides security features such as message-level security and access control. To implement these features, SNMPv3 introduces the user-based security model (USM) and the view-based access control model (VACM).
Chapter 2
SNMP
31
SNMP Engines
SNMP engines are service providers that reside in the SNMP agent. They provide services such as sending or receiving and authenticating messages. SNMP engines are uniquely identified using engine IDs.
SNMP Views
SNMP views restrict user access to specific portions of the MIB. SNMP views are used to implement access control.
SNMP Groups
SNMP groups are logical aggregations of SNMP users.They are used to implement access control and to define the security levels. You can configure an SNMP group to set access rights for users assigned to that group, thereby restricting the users to specific views.
SNMP Users
SNMP users are the SNMP managers that the agents allow to access the MIBs. Each SNMP user is assigned to an SNMP group. These entities function together to implement the SNMPv3 security features. Views are created to allow access to subtrees of the MIB. Then, groups are created with the required security level and access to the defined views. Finally, users are created and assigned to the groups. Note: The view, group, and user configuration are synchronized and propagated to the secondary node in an HA pair. However, the engineID is neither propagated nor synchronized as it is unique to each NetScaler.
Configuring SNMP V3
To implement message authentication and access control, you need to:
32
Parameter EngineID
1. 2. 3. 4.
In the navigation pane, expand System, expand SNMP, and click Users. On the SNMP Users page, click Configure Engine ID. In the Configure Engine ID dialog box, in the Engine ID text box, type an engine ID (for example, 8000173f0300c095f80c68). Click OK.
Example
set snmp engineId 8000173f0300c095f80c68
Chapter 2
SNMP
33
The following table describes the parameters you set to add an SNMP view:
1. 2. 3. 4. 5.
In the Navigation Pane, expand System, expand SNMP, and click View. On the SNMP View page, click Add. In the Add SNMP View dialog box, in the Name text box, type a name for the SNMP view you want to add (for example, View1). In the Subtree text box, type the subtree of the MIB. Click Create.
Example
add snmp view View1
Specifies Name of the SNMP view. SNMP view to be associated with this group.
34
Citrix NetScaler Administration Guide To add an SNMP group using the configuration utility
1. 2. 3. 4.
In the navigation pane, expand System, expand SNMP, and click Group. On the SNMP Groups page, click Add. In the Add SNMP Group dialog box, in the Name text box, type a name for the SNMP group you want to add (for example, Group1). Click Create and click Close.
Example
add snmp group Group1
Specifies Name of the SNMP user. SNMP view to be associated with this user.
1. 2. 3. 4. 5.
In the navigation pane, expand System, click SNMP, and then click Users. On the SNMP Users page, click Add. In the Add SNMP User dialog box, in the Name text box, type a name for the SNMP user you want to add (for example, User1). In Group Name, select the configured SNMP group that you want the user to be part of. Click Create and click Close.
Chapter 2
SNMP
35
Example
add snmp user User1
Note: The view, group, and user configurations are synchronized and propagated to the secondary node in an HA pair. However, the engineID is neither propagated nor synchronized, because it is unique to each NetScaler.
36
C HAPTER 3
Auditing is a methodical examination or review of a condition or situation. The Audit Server Logging feature enables you to log the Citrix NetScaler states and status information collected by various modules in the kernel and in the user-level daemons. The audit server collects and stores the events history in a chronological order, so that you can review to troubleshoot problems or errors and fix them. When you configure audit server logging, you set up a log file to capture the NetScaler status information in the form of messages. These messages typically contain the following information: The source module that generates the message A time stamp The message type The predefined log levels (Critical, Error, Notice, Warning, Informational, Debug, Alert, and Emergency) The message information
To enable audit server logging, you must configure the auditing parameters on the NetScaler, set up and install the executable files on a computer from where you want to run the audit tool, and configure the parameters in the configuration file by defining the filters and filter parameters.The filters determine the type of information in the log files and the location at which to storethe files. In This Chapter Configuring the Citrix NetScaler Audit Server Log Installing the Audit Server Files Configuring Audit Server Logging on a Server system Configuring Audit Server Logging for a Commonly Used Deployment Scenario
38
Note: You can enable TCP logging on individual load balancing vservers. You must bind the audit log policy to a specific load balancing vserver that you want to log. To configure audit server logging, you must set the following parameters:
Specifies Type of audit to perform. Possible values: SYSLOG and NSLOG. IP address of the auditing server. Default: 0.0.0.0. Port to use to communicate. Default: 3023. Severity levels of messages to be logged. Possible values: ALL, NONE, or one or more of the following: EMERGENCY ALERT CRITICAL ERROR WARNING NOTICE INFORMATION DEBUG
For more information about these settings, see the table, , on page 39.
Date Format Format of the date stamp. Possible Values: MMDDYYYY and DDMMYYYY.
Chapter 3
39
Specifies Log facility, as defined in RFC3164. Uses numerical codes 0 to 7 to indicate the type of message originating from the Netscaler (for example, NS and VPN). Possible values: LOCAL0 to LOCAL7. Default: LOCAL0. Time zone for the time stamp. Possible values: GMT and Local. Default: Local. Enable or disable logging of TCP events.
The following table describes the severity levels that you can set to specify when logging is to occur.
Specifies Log errors indicating that the NetScaler is experiencing a critical problem that may make the it unusable. Log problems that are not critical to current operations but that indicate a need for immediate corrective action to prevent a critical problem. Log critical conditions, which do not restrict current operations but may escalate to a larger problem. Log messages related to failed NetScaler operations. Log issues that may result in critical errors. Log the events specified by the INFORMATION setting, but in greater detail. Log all actions taken by the NetScaler. This level is useful for troubleshooting problems. Log extensive, detailed information to help developers troubleshoot problems.
1. 2.
In the Navigation Pane, expand System, and click the Auditing node. On the Auditing page, under Settings, click global auditing parameters.
40
3. 4.
In the Configure Auditing Parameters dialog box, in the Auditing Type drop-down list, select NSLOG. In the IP Address and Port text boxes, type the IP of the server for which you want to configure logging, and the port number to use; for example, 10.102.29.1, and 3023. The default port number is 3023. Under Log Levels, either select the ALL check box or select specific loglevel check boxes. Note: Selecting NONE disables all log levels. Use this option when you want to reset log levels.
5.
6.
In the Log Facility drop-down list, select a log facility option. Note: For more information about the log facility options, see the chapter Managing the Citrix NetScaler System.
7. 8.
Select a Date Format option and a Time Zone option. Click OK.
1. 2.
In the Navigation Pane, expand System, expand Auditing, and click Policies. On the Auditing Policies and Servers page, select the Servers tab and click Add. The Create Auditing Server dialog box appears. For descriptions of the parameters in this dialog box, see the table, , on page 38.
3.
In the Create Auditing Server dialog box, in the Name text box, type a name for the auditing server, and in the Auditing Type drop-down list, select NSLOG. In the IP Address and Port text boxes, type the IP address and the port number of the auditing server. The default port is 3023. Under Log Levels, select the ALL check box or select specific log-level check boxes.
4. 5.
Chapter 3
41
6. 7. 8. 9.
In the Log Facility drop-down list, select a log facility. In TCP Logging, click the NONE or ALL option. Select a Date Format option and a Time Zone option for the time stamp. Click Create and click Close.
1. 2. 3. 4. 5. 6.
In the Navigation Pane, expand System, expand Auditing, and select Policies. On the Policies page, select the Policies tab, and click Add. In the Create Auditing Policy dialog box, in the Name text box, type a name for the policy (for example, nspol1). In the Auditing Type drop-down list, select NSLOG. In the Server drop-down list, select the server for which the policy applies. Click Create, and click Close. The policy appears on the Policies page.
1. 2. 3.
In the Navigation Pane, expand System, expand Auditing, and click Policies. On the Policies page, in the Policies tab, click Global Bindings. In the Bind/Unbind Auditing Global Policies dialog box, in the Active column, select the check box next to the policy that you want to bind. (To unbind a policy, clear the check box.) In the Priority list box, enter or adjust the priority (for example, click the down arrow until 0 appears). Click OK.
4. 5.
42
Software Requirements Windows XP Professional - Version 2002 Windows 2003 server Windows 2000/NT Red Hat Enterprise Linux AS release 4 (Nahant) - Linux version 2.6.9-5.EL Red Hat 3.4.3-9.EL4 - Linux version 2.6.9-5.ELsmp Red Hat Linux 3.2.2-5 - Linux version 2.4.20-8 FreeBSD 4.9 Hardware Requirements
Linux
FreeBSD
1.
At a command prompt, type the following command to copy the NSauditserver.rpm file to a temporary directory:
cp <path_to_cd>/Utilities/auditserver/Linux/NSauditserver.rpm /tmp
2.
This command extracts the files and installs them in: /usr/local/netscaler/etc
Chapter 3
43
/usr/local/netscaler/bin /usr/local/netscaler/samples
At a command prompt, type the following command to uninstall the audit server logging feature:
rpm -e NSauditserver
For more information about the NSauditserver RPM file, use the following command:
rpm -qpi *.rpm
To view the installed audit server files use the following command:
rpm -qpl *.rpm
1.
<path_to_cd>: Specifies the system path to the CD drive where the CD device is mounted. <target directory>: Specifies the path to the directory to which the file should be copied. 2. 3. Change to the <target directory>:
cd /<target directory>
44
pkg_add NSauditserver.tgz
This command extracts the files and installs them in: 4. /usr/local/netscaler/etc /usr/local/netscaler/bin /usr/local/netscaler/samples
At a command prompt, type the following command to check whether the package is installed:
pkg_info | grep NSauditserver
At a command prompt, type the following command to uninstall the audit server logging package:
pkg_delete NSauditserver
1.
Extract the audserver.exe file from the NSauditserver.zip compressed file into a temporary directory. When the files are extracted, the following directories are created: \NS\BIN \NS\ETC \NS\SAMPLES
2.
To install audit server logging as a service, run the following command from \NS\BIN directory:
audserver -install -f <directorypath> \auditlog.conf
Chapter 3
45
1. 2.
Type the following command to uninstall the audit server logging feature:
audserver -remove
Note: To uninstall the audit server logging application, uninstall the auditserver service and remove the directory.
Specifies Lists all the available Audit Server options Specifies the system that gathers the log transaction data. On execution of the command, you are prompted to enter the IP address of the system. Enter the Userid and Password of the system. Note: Userid and password must be valid.
Checks for syntax or semantic errors in the configuration file, for example, auditlog.conf file.
46
Specifies Starts audit server logging based on the configuration settings in the configuration file, for example, auditlog.conf file. Linux only: To start the audit server as a background process, type & at the end of the command.
audserver -stop
Linux only: Stops audit server logging when audit server is started as a background process. Alternatively, use the Ctrl+C key to stop audit server logging.
Windows Only: Installs the audit server logging client as a service on Windows.
Starts the audit server logging service, when you enter this command at a command prompt. You can also start audit server logging from Start > Control Panel > Services option. Note: Audit server logging starts by using the configuration settings in the configuration file, for example, auditlog.conf file specified in the audit server install option.
audserver -stopservice audserver -remove
Windows Only Removes the audit server logging service from the registry.
Run the audserver command from the directory in which the audit server executable is present: On Windows: \ns\bin On Solaris and Linux: \usr\local\netscaler\bin
The audit server configuration files are present in the following directories: On Windows: \ns\etc On Linux: \usr\local\netscaler\etc
Chapter 3
47
Note: You can configure the NetScaler to log integrated cache transactions using the audit server logging feature.
Defining Filters
Define filters in the configuration file (for example, auditlog.conf) to configure each Citrix NetScaler to log web transactions handled by the logging server. Define log properties for each filter. The filter applies these log properties to the transactions that match the filter definition. Note: A transaction is not recorded if a filter definition does not exist for a log transaction.
48
Creating Filters
To create a filter, type the following command in the auditlog.conf file:
filter <filterName> [IP <ip>] [NETMASK <mask>] [ON | OFF]
<filterName>, specify the name of the filter. (maximum of 64 alphanumeric characters) <ip>, specify the IP addresses <mask>, specify the subnet mask to be used on a subnet. Specify ON to enable the filter to log transactions, or specify OFF to disable the filter. If no argument is specified, the filter is ON. Examples
filter F1 IP 192.168.100.151 ON
To apply the filter F2 to IP addresses 192.250.100.1 to 192.250.100.254: filter F2 IP 192.250.100.0 NETMASK 255.255.255.0 ON Note: FilterName is a required parameter if you are defining a filter with other optional parameters such as IP address, or the combination of IP address and Netmask.
Entries in the definition can include the following: LogInterval specifies the interval at which new log files are created. Use one of the following values: Hourly - every hour Daily - every day at midnight Weekly - every Sunday at midnight
Chapter 3
49
Monthly- the first day of the month at midnight None - only once, when audit server logging starts. Size - only when the log file size limit is reached.
LogFileSizeLimit specifies the maximum size (in MB) of the log file. A new file is created when the limit is reached. Note that you can override the loginterval property by assigning size as its value. The default LogFileSizeLimit is 10 MB. Example:
LogFileSizeLimit 35
LogFilenameFormat specifies the file name format of the log file. The name of the file can be of the following types: Static: A constant string that specifies the absolute path and the file name. Dynamic: An expression that includes the following format specifiers: Date (%{format}t) % creates filename with NSIP
Note: For more information, see Checklist for Configuring Audit Server Logging, on page 53. Example:
LogFileNameFormat Ex%{%m%d%y}t.log
This creates the first file name as Exmmddyy.log. New files are named: Exmmddyy.log.0, Exmmddyy.log.1, and so on. In the following example, the new files are crated when the file size reaches 100MB. Example:
LogInterval size LogFileSize 100
50
LogFileNameFormat Ex%{%m%d%y}t
Caution: The date format %t specified in the LogFilenameFormat parameter overrides the log interval property for that filter. To prevent a new file being created every day instead of when the specified log file size is reached, do not use %t in the LogFilenameFormat parameter. logDirectory specifies the directory name format of the log file. The name of the file can be either of the following: Static: Is a constant string that specifies the absolute path and filename. Dynamic: Is an expression containing the following format specifiers: Date (%{format}t) % creates directory with NSIP
The directory separator depends on the operating system. In Windows, use the directory separator \. Example:
LogDirectory dir1\dir2\dir3
In the other operating systems (Linux, FreeBsd, Mac, etc.), use the directory separator /. Example:
LogDirectory dir1/dir2/dir3
Note: For more information, see Checklist for Configuring Audit Server Logging, on page 53.
Chapter 3
51
This creates a log file for NSIP 192.168.10.1 with the default values of the log in effect. Example 2:
Filter f1 IP 192.168.10.1 begin f1 logFilenameFormat logfiles.log end f1
This creates a log file for NSIP 192.168.10.1. Since the log file name format is specified, the default values of the other log properties are in effect.
1.
<directorypath> specifies the path to the configuration file (for example auditlog.conf.) You are prompted to enter the information for the following parameters: specifies the IP address of the Citrix NetScaler System, for example, 10.102.29.1.
NSIP Userid
specifies the username, for example, nsroot specifies the password, for example, nsroot.
Password
If you add multiple NetScaler IP addresses (NSIP), and later you do not want to log all of Citrix NetScaler System event details, you can delete the NSIPs manually by removing the NSIP statement at the end of the auditlog.conf file. During a failover setup, you must add both primary and secondary Citrix Netscaler IPs to auditlog.conf using the audserver command. Before adding the IP address, make sure the username and password exist on the system.
52
Verifying Configuration
Check the configuration file (auditlog.conf) for syntax correctness to enable logging to start and function correctly. To verify configuration, at a command prompt, type the following command:
audserver -verify -f <directorypath>\auditlog.conf
To stop audit server logging that starts as a service in Windows, use the following command:
audserver -stopservice
Chapter 3
53
# # # #
Filter default begin default logInterval Hourly logFileSizeLimit 10 logFilenameFormat auditlog%{%y%m%d}t.log end default
Verify that the IP address of the system is present in the configuration file (auditlog.conf). Verify that the Audit Server IP address is entered in the MYIP field in the auditlog.conf file.
54
Audit Server Logging Topology The following table lists the parameters that need to be set on Citrix NetScaler System to configure audit server logging. The table includes sample values. Parameters for Audit Server Logging Configuration
Parameter Name Auditing Type IP Address Port Log Level TCP Logging Date Format Log Facility Value audit1 NSLOG 10.102.1.1 3024 NOTICE ALL DDMMYYYY LOCAL0
Chapter 3
55
1. 2. 3. 4. 5. 6. 7.
In the Navigation Pane, expand System, expand Auditing, and click Policies. On the Auditing page, select the Servers tab and click Add. In the Create Auditing Server dialog box, in the Name text box, type audit1, and in the Auditing Type drop-down list, select NSLOG. In the IP Address text box, type 10.102.1.1, and in the Port text box, type 3024. Under Log Levels, select the NOTICE check box, and select the DDMMYYYY Date format option. In the Log Facility drop-down list, select LOCAL0, in TCP Logging, select the ALL option, and in Time Zone, select the Local option. Click Create and click Close.
The following procedure explains how to create a policy for the audit server action audit1.
To configure audit server policy
1. 2. 3. 4. 5.
In the Navigation Pane, expand System, expand Auditing, and click Policies. On the Policies page, click Add. In the Create Auditing Policy dialog box, in the Name text box, type a name for the policy (for example, auditpol1). In the Auditing Type drop-down list, select NSLOG, in the Server dropdown list, select audit1. Click Create, and click Close. The policy appears on the Policies page.
In the following procedure, you globally bind the audit log policy auditpol1 and set the priority to 0.
To globally bind the audit log policy
1. 2.
In the Navigation Pane, expand System, expand Auditing, and click Policies. On the Policies page, on the Policies tab, and click Global Bindings.
56
3.
In the Bind/Unbind Auditing Global Policies dialog box, in the Active column, select the check box next to auditpol1, and in the Priority list box, set the priority as 1. Click OK.
4.
1.
Extract the files from NSauditserver.zip. The following directories are created: \NS\BIN \NS\ETC \NS\SAMPLES
Note: The BIN directory contains the executable audserver.exe and the ETC directory contains the auditlog.conf file. 2. Check the version of the auditserver executable using the following command at a command prompt:
audserver -version
3.
4.
5.
Edit the auditlog.conf file located at \NS\ETC by changing the values for the following parameters as shown:
MYIP 10.102.1.1
Chapter 3
57
MYPORT 3024 Filter default begin default logInterval Hourly logFileSizeLimit 10 logFilenameFormat auditlog%{%y%m%d}t.log end default
6.
7.
Logging starts and the information is logged in the auditlog%{%y%m%d}t.log file in the \NS\BIN directory. 8. To stop audit server, at the command prompt, press Ctrl+C. The following output appears:
NSAUDIT:quitting on 2 signal!
58
C HAPTER 4
Web server logging is the process of maintaining a history of page requests that originate from Citrix NetScaler System. In This Chapter How Web Server Logging Works Configuring Web Server Logging Parameters System Requirements for Web Server Logging Installing the NSWL files on the Logging System Configuring Web Server Logging on the Logging System Checklist for Configuring Web Server Logging
60
The log format that you can use depends on the requirements to troubleshoot a problem. Custom log formats let you define only those parameters to log that you specify.
1. 2. 3.
In the navigation pane, expand System, and click Settings. In the Settings page, click advanced features. In the Configure Advanced Features dialog box, to enable Web server logging, select the Web Logging check box. To disable Web server logging, clear the check box. Click OK. In the Enable/Disable Feature(s) dialog box, click Yes.
4. 5.
or
disable ns feature WL
Chapter 4
61
1. 2. 3. 4.
In the navigation pane, expand System, and click Settings. On the Settings, under Settings, click Change global system settings. In the Configure Global Settings dialog box, in the Web Logging section, enter a value in the Buffer_Size (in MBytes) text box (for example, 32). Click OK.
Example
set weblogparam -b
32
Note: To activate the new buffer size, you must disable and reenable web server logging, as described in Enabling or Disabling Web Server Logging, on page 60.
In the navigation pane, expand System and click Settings. On the Settings page, under Modes and Settings, click Change advanced features. In Configure Advanced Features dialog box, check to see whether the Web Logging check box is selected.
To see whether web server logging is enabled or disabled using the NetScaler command line
To display the buffer size for log transactions using the Configuration Utility
In the navigation pane, expand System and click Settings. On the Settings page, under Settings, click Change global system settings. In Configure Global Settings dialog box, under Web Logging, the Buffer_Size (in MBytes) text box displays the buffer size.
62
Citrix NetScaler Administration Guide To display the buffer size for log transactions using the NetScaler command line
MAC Linux
Solaris FreeBSD
If the logging system cannot process the log transaction because a CPU limitation, the Web log buffer overruns and the logging process reinitiates. Caution: Reinitiation of logging can result in loss of log transactions. To temporarily solve a logger client bottleneck caused by a CPU limitation, you can tune the Web server logging buffer size. To solve the problem, you need a logger client that can handle the sites throughput.
Chapter 4
63
1.
Copy the NSweblog.tar file into a temporary directory using the command:
cp <path_to_cd>/Utilities/weblog/Solaris/NSweblog.tar /tmp
2. 3.
Extract the files from the *.tar file with the following command:
tar xvf NSweblog.tar
A directory NSweblog is created in the temporary directory, and the files are extracted to the NSweblog directory. 4. Install the package with the following command:
pkgadd -d .
The list of available packages appears. In the following example, one NSweblog package is shown:
1 NSweblog NetScaler Weblogging (SunOS,sparc) 7.0
5.
You are prompted to select the packages. Select the package number of the NSweblog to be installed. After you select the package number and press Enter, the files are extracted and installed in the following directories. (The dot indicates the current directory.) /usr/local/netscaler/etc
/usr/local/netscaler/bin
64
6.
/usr/local/netscaler/samples
Note: To uninstall web server logging, use the command: pkgrm NSweblog
1. 2.
This command extracts the files and installs them in the following directories. (The dot indicates the current directory.) /usr/local/netscaler/etc
/usr/local/netscaler/bin /usr/local/netscaler/samples.
To get more information on the NSweblog RPM file, use the following command.
rpm -qpi *.rpm.
To view the installed web server logging files, use the following command (*.rpm is the file name).
rpm -qpl *.rpm
65
1.
2. 3.
This command extracts the files and installs them in the following directories. (The dot indicates the current directory.) 4. /usr/local/netscaler/etc /usr/local/netscaler/bin /usr/local/netscaler/samples
Note: To uninstall the web server logging package, enter the command: pkg_delete NSweblog
1.
At a command prompt, copy the NSweblog.tgz file into a temporary directory with the following command:
cp <path_to_cd>/Utilities/weblog/macos/NSweblog.tgz /tmp
2. 3.
This command extracts the files and installs them in the following directories. (The dot indicates the current directory.)
66
4.
Note: To uninstall the web server logging package, enter the command pkg_delete NSweblog
1. 2.
Copy the NSweblog.exe file (winzip executable) into a temporary directory. The extracted files are installed in the following directories. (The dot indicates the current directory.) \NS\BIN \NS\ETC \NS\SAMPLES
3.
To install web server logging as a service, at a command prompt, run the following command from the \NS\BIN path:
nswl -install -f <directorypath> \log.conf
<directorypath> specifies the path where the log.conf file is available. 4. To uninstall the web server logging, run the following command from the \NS\BIN folder:
nswl -remove
Note: To uninstall the web server logging, run the nswl -remove command from the \NS\BIN folder:
Chapter 4
67
1. 2.
This command extracts the files and installs them in the following directories. (The dot indicates the current directory.) /usr/local/netscaler/etc
/usr/local/netscaler/bin /usr/local/netscaler/samples.
To get more information on the NSweblog RPM file, use the following command.
rpm -qpi *.rpm.
To view the installed web server logging files, use the following command (*.rpm is the file name).
rpm -qpl *.rpm
NSWL Options
The following table describes the options that you can use with the nswl executable.
Specifies Display all available nswl options The system that gathers the log transaction data. You are prompted to enter the IP address of the system. Enter a valid username and password.
Check for syntax or semantic errors in the configuration file (for example, log.conf).
68
Specifies Start web server logging based on the settings in the configuration file (for example, log.conf). For Solaris and Linux: To start web server logging as a background process, use and at the end of the command..
nswl -stop
Solaris and Linux only Stop web server logging, if nswl was started as a background process; otherwise, use CTRL+C to stop web server logging.
nswl -install -f <path to configuration file> (Windows only) nswl -startservice (Windows only)
Installs the web server logging client as a service in Windows. Start web server logging , using the settings in the configuration file (for example, log.conf) specified in the nswl install option. Web server logging can also be started from Start > Control Panel > Services.
Stop Web server logging. Remove the web server logging service from the registry.
Run the following commands from the directory in which the nswl executable is located: Windows: \ns\bin Solaris and Linux: \usr\local\netscaler\bin
The web server logging configuration files are located in the following directory path: Windows: \ns\etc Solaris and Linux: \usr\local\netscaler\etc
Chapter 4
69
4. 5. 6.
Add the IP addresses of the Citrix NetScaler System to the log.conf file. Verify the configuration. Start web server logging
Note: You can configure the Citrix NetScaler System to log integrated cache transactions, using the web server logging feature.
Defining Filters
Log filters let you filter the host IP address, domain name, and hostname of the Web servers. You must do the following to define filters: Define filters in the configuration file (log.conf) for each server whose web transactions are logged. Define log properties for each filter. The filter applies these log properties to transactions that match the filter.
Note: If a filter does not exist for a log transaction, the transaction is not recorded unless the default filter is defined.
Creating Filters
To create a filter, enter the following command in the log.conf file:
Filter <filterName> [HOST name] | [IP ip] | [IP ip 2...ip n] | [IP ip NETMASK mask] [ON | OFF]
70
or
Filter <filterName> [HOST name] | [IP6 ip[/prefix length]] [ON | OFF]
The following table lists the parameters that can be set using the filter command:
Specifies Name of the filter (maximum 64 alphanumeric characters.) Host name of the server for which the transactions are being logged. IP address of the server for which transactions are to be logged (for example, if the server has multiple domains that have one IP address.) Multiple IP addresses (for example, if the server domain has multiple IP addresses.) IPv6 address of the server for which transactions are to be logged. IP addresses and netmask combination to be used on a subnet. Enable or disable the filter to log transactions. If no argument is selected, the filter is enabled (ON).
Example
In the following example, you specify an IP address of 192.168.100.0 and netmask of 255.255.255.0. The filter applies to IP addresses 192.168.100.1 through 192.168.100.254.
Filter F1 HOST www.netscaler.com ON Filter F2 HOST www.netscaler.com IP 192.168.100.151 ON Filter F3 HOST www.netscaler.com IP 192.168.100.151 192.165.100.152 ON Filter F4 IP 192.168.100.151 Filter F5 IP 192.168.100.151 HOST www.netscaler.com OFF Filter F6 HOST www.netscaler.com HOST www.xyz.com HOST www.abcxyz.com IP 192.168.100.200 ON Filter F7 IP 192.250.100.0 NETMASK 255.255.255.0 Filter F8 HOST www.xyz.com IP 192.250.100.0 NETMASK 255.255.255.0 OFF
Chapter 4
71
<filterName>: Specifies the name of the filter <IP>: Specifies the IP address of the virtual server
LogFormat specifies the web server logging feature that supports NCSA, W3C Extended, and custom log file formats. For more information, see Log File Formats, on page 78 in this chapter. By default, the logformat property is w3c. To override, enter custom or NCSA in the configuration file, for example:
LogFormat NCSA
Note: For the NCSA and Custom log formats, local time is used to time stamp transactions and for file rotation. LogInterval specifies the intervals at which log files are created. The default property is Daily. If the LogInterval value is specified as:
Hourly: A file is created every hour Daily: A file is created every day at midnight
72
Weekly: A file is created every Sunday at midnight Monthly: A file is created on the first day of the month at midnight None: A file is created only once, when web server logging starts
Example
LogInterval Hourly
LogFileSizeLimit specifies the maximum size of the log file in MB. It can be used with any log interval (weekly, monthly, and so on.) A file is created when the maximum file size limit is reached or when the defined log interval time elapses. To override this behavior, specify the size as the loginterval property so that a file is created only when the log file size limit is reached. The default LogFileSizeLimit is 10 MB.
Example
LogFileSizeLimit 35
LogFilenameFormat specifies the file name format of the log file. The name of the file can be of the following types: Static: Specifies a constant string that contains the absolute path and file name. Dynamic: Specifies an expression containing the following format: Server IP address (%A) Date (%{format}t) URL suffix (%x) Host name (%v)
Note: For more information, see Log File Formats, on page 78 in this chapter.
Example
LogFileNameFormat Ex%{%m%d%y}t.log
This command creates the first file name as Exmmddyy.log, then every hour creates a file with file name: Exmmddyy.log.0, Exmmddyy.log.1,..., Exmmddyy.log.n.
Chapter 4 Example
LogInterval size LogFileSize 100 LogFileNameFormat Ex%{%m%d%y}t
73
Caution: The date format %t specified in the LogFilenameFormat command overrides the log interval property for that filter. To prevent a new file being created every day instead of when the specified log file size is reached, do not use %t in the LogFilenameFormat. LogExclude prevents logging of transactions with the specified file extensions.
Example
LogExclude .html
This command creates a log file that excludes log transactions for *.html files. LogTime specifies log time as either GMT or LOCAL. The defaults are: NCSA log file format: LOCAL W3C log file format: GMT.
Example 1
Filter f1 IP 192.168.10.1
74
This command creates a log file for server 192.168.10.1. Only the log file name format is specified, and the rest of the default values for the log properties remain same.
1.
<directorypath>: Specifies the path to the configuration file (log.conf). 2. The following information appears:
NSIP: Username: Password:
Enter the following: NSIP: Specify the IP address of the system Username: Specify the username to log on Password: Specify the password
If you add multiple NetScaler IP addresses (NSIP), and later you do not want to log all of Citrix NetScaler System log details, you can delete the NSIPs manually by removing the NSIP statement at the end of the log.conf file. During a failover setup, you must add both primary and secondary Netscaler IPs to log.conf using the command. Before adding the IP address, make sure the username and password exist on the system.
Chapter 4
75
To stop web server logging started as a service in Windows, use the following command:
nswl -stopservice
76
# logFilenameFormat NS%{%m%d%y}t.log
Chapter 4
77
logExclude
#end ORIGIN_SERVERS
########## # NCSA Format logging, new file is created every day midnight or on reaching 20MB file size, # and the file name is /datadisk5/netscaler/log/NS<hostname>/ Nsmmddyy.log with log record timestamp as GMT. ########## #begin CACHE_F # # # logFormat logInterval logFileSizeLimit NCSA Daily 20
#end CACHE_F
########## # W3C Format logging, new file on reaching 20MB and the log file path name is # atadisk6/netscaler/log/server's ip/Exmmyydd.log with log record timestamp as LOCAL. ########## #begin IMAGE_SERVER # # # # # logFormat logInterval logFileSizeLimit W3C Size 20
#end IMAGE_SERVER
########## # Virtual Host by Name firm, can filter out the logging based on the host name by, ##########
78
#Filter VHOST_F IP 10.101.2.151 NETMASK 255.255.255.0 #begin VHOST_F # # # logFormat logInterval logFileSizeLimit W3C Daily 10
To use the NCSA Common log format, enter NCSA in the LogFormat argument in the log.conf file. The following table describes the NCSA Common log format.
Specifies the IP address of the client computer Specifies the user name Specifies the date of the transaction Specifies the time when the transaction was completed Specifies the time zone (Greenwich Mean Time or local time) Specifies the request method (for example; GET, POST)
Chapter 4
79
Specifies the URL Specifies the version of HTTP used by the client Specifies the status code in the response Specifies the number of bytes sent from the server
For a description of the meaning of this each custom format, see Custom Log Format, on page 83 in this chapter. You can also change the order or remove some fields in this W3C log format. For example:
logFormat W3C %{%Y-%m-%d%H:%M:%S}t %m %U
Entries
Entries consist of a sequence of fields relating to a single HTTP transaction. Fields are separated by white space; Citrix recommends the use of tab characters. If a field in a particular entry is not used, a dash - marks the omitted field.
80
Directives
Directives record information about the logging process. Lines beginning with the # character contain directives. The following table describes the directives.
Directive Version: <integer>.<integer> Fields: [<specifier>...] Software: <string> Start-Date: <date> <time> End-Date: <date> <time> Date: <date> <time> Remark: <text>
Description Displays the version of the extended log file format used. This document defines version 1.0. Identifies the fields recorded in the log. Identifies the software that generated the log. Displays the date and time at which the log was started. Displays the date and time at which logging finished. Displays the date and time when the entry was added. Displays comments. Analysis tools ignore data recorded in this field.
Note: The Version and Fields directives are required. They precede all other entries in the log file.
Example
The following sample log file shows the W3C Extended log format:
#Version: 1.0 #Fields: time cs-method cs-uri #Date: 12-Jan-1996 00:00:00 00:34:23 GET /sports/football.html 12:21:16 GET /sports/football.html 12:45:52 GET /sports/football.html 12:57:34 GET /sports/football.html
Fields
The Fields directive lists a sequence of field identifiers that specify the information recorded in each entry. Field identifiers may have one of the following forms:
Chapter 4
81
identifier: Relates to the transaction as a whole. prefix-identifier: Relates to information transfer between parties defined by the value prefix. prefix(header): Specifies the value of the HTTP header field header for transfer between parties defined by the value prefix. Fields specified in this manner always have the type <string>.
Prefix c s
Specifies Client. Server. Remote. Client to server. Server to client. Server to remote server (prefix used by proxies). Remote server to server (prefix used by proxies). Application-specific identifier.
r
cs sc sr rs x Examples
The following examples are defined identifiers that use prefixes: cs-method : Specifies the method in the request sent by the client to the server sc(Referer): Specifies the Referer field in the reply c-ip: Specifies the IP address of the client
Identifiers
The following table describes the W3C Extended log format identifiers that do not require a prefix.
Description Specifies the date on which the transaction was done. Specifies the time when the transaction is done. Specifies the time taken (in seconds) for the transaction to complete. Specifies the number of bytes transferred.
82
cached
Records whether a cache hit has occurred. A zero indicates a cache miss.
The following table describes the W3C Extended log format identifiers that require a prefix.
Description Specifies the IP address and the port number. Specifies the DNS name. Specifies the status code. Specifies the comment returned with status code. Specifies the method. Specifies the URL. Specifies the stem portion of the URL. Specifies the query portion of the URL.
The W3C Extended Log file format allows you to choose log fields. These fields are shown in the following table:
Field Date Time Client IP User Name Service Name Server IP Server Port Method Url Stem Url Query Http Status Bytes Sent
Description Specifies the date on which the transaction is done. Specifies the time when the transaction is done. Specifies the IP address of the client. Specifies the user name. Specifies the service name, which is always HTTP. Specifies the server IP address. Specifies the server port number Specifies the request method (for example; GET, POST). Specifies the URL stem. Specifies the query portion of the URL. Specifies the status code in the response. Specifies the number of bytes sent to the server (request size, including HTTP headers).
Chapter 4
83
Bytes Received Time Taken Protocol Version User Agent Cookie Referer
Specifies the number of bytes received from the server (response size, including HTTP headers). Specifies the time taken for transaction to complete, in seconds. Specifies the version number of HTTP being used by the client. Specifies the User-Agent field in the HTTP protocol. Specifies the Cookie field of the HTTP protocol. Specifies the Referer field of the HTTP protocol.
1.
Add the following two C functions defined by the system in a source file: ns_userDefFieldName(): This function returns the string that must be added as a custom field name in the log file. ns_userDefFieldVal(): This function implements the custom field value, then returns it as a string that must be added at the end of the log record.
2. 3. 4.
Compile the file into an object file. Link the object file with the NSWL library (and optionally, with third party libraries) to form a new nswl executable. Add a %d string at the end of the logFormat string in the log.conf file.
84
If you want to add a digital signature at the end of each record, follow the steps in the preceding section and define the filter in the log.conf file as described below.
########## # A new file is created every midnight or on reaching 20MB file size, # and the file name is /datadisk5/netscaler/log/NS<hostname>/ Nsmmddyy.log and create digital #signature field for each record. BEGIN CACHE_F logFormat custom "%a - "%{user-agent}i" [%d/%B/%Y %T -%g] "%x" %s %b%{referrer}i "%{user-agent}i" "%{cookie}i" %d " logInterval Daily logFileSizeLimit20 logFilenameFormat/datadisk5/netscaler/log/%v/NS%{%m%d%y}t.log END CACHE_F
The string can contain the c type control characters \n and \t to represent new lines and tabs. Use the <Esc> key with literal quotes and backslashes.
The characteristics of the request are logged by placing % directives in the format string, which are replaced in the log file by the values. If the %v (Host name) or %x (URL suffix) format specifier is present in a log filename format string, the following characters in the filename are replaced by an underscore symbol in the log configuration filename: ", *, ., /, :, <, >, ? \, | Characters whose ASCII values lie in the range of 0-31 are replaced by the following: %<ASCII value of character in hexadecimal>. For example, the character with ASCII value 22 is replaced by %16.
Chapter 4
85
Caution: If the %v format specifier is present in a log filename format string, a separate file is opened for each virtual host. To ensure continuous logging, the maximum number of files that a process can have open should be sufficiently large. See your operating system documentation for a procedure to change the number of files that can be opened. The following table describes the data that you can use as the LogFormat argument string:
Specifies the remote IPv4 address Specifies the local IPv4 address Specifies the remote IPv6 address Specifies the local IPv6 address Specifies the bytes sent, excluding the HTTP headers (response size) Specifies the bytes received, excluding the HTTP headers (request size) Specifies a user-defined field Specifies the Greenwich Mean Time offset (for example, -0800 for Pacific Standard Time) Specifies the remote host Specifies the request protocol Specifies the contents of the Foobar: header line(s) in the request sent to the server. The system supports the User-Agent, Referer and cookie headers. The + after the % in this format informs the logging client to use the + as a word separator. Specifies the bytes received, including headers (request size) Specifies the bytes sent, including headers (response size) Specifies the remote log name (from identd, if supplied) Specifies the request method Specifies the time taken to serve the request (in microseconds) Specifies the contents of Foobar: header line(s) in the reply. We support the USER-AGENT, Referer, and cookie headers. Specifies the canonical port of the server serving the request Specifies the query string [prefixed with a question mark (?) if a query string exists] Specifies the first line of the request
%j %J %l %m %M %{Foobar}o %p %q %r
86
%s %t %{format}t %T %u %U %v %V %V6
For requests that were redirected internally, this is the status of the original request Specifies the time, in common log format (standard English time format) Specifies the time, in the form given by format, must be in strftime(3) format. The next table describes what you can enter as the format. Specifies the time taken to serve the request, in seconds Specifies the remote user (from auth; may be bogus if return status (%s) is 401) Specifies the URL path requested Specifies the canonical name of the server serving the request This is the virtual server IPv4 address in the system, if load balancing, content switching, and/or cache redirection is used. This is the virtual server IPv6 address in the system, if load balancing, content switching, and/or cache redirection is used.
For example, if you define the log format as %+{user-agent}i, and if the user agent value is Citrix Netscaler system Web Client, then the information is logged as Citrix Netscaler system +Web+Client. An alternative is to use the double quote (for example, %{user-agent}i, then it logs it as Citrix Netscaler system Web Client. Do not use the <Esc> key on strings from %.. .r, %. . .i and, %. . .o. This complies with the requirements of the Common Log Format. Note that clients can insert control characters into the log. Therefore, you should take care when working with raw log files.
%% %a %A %b %B %C
Specifies the same as %. Specifies the abbreviated name of the week day for the locale. Specifies the full name of the week day for the locale. Specifies the abbreviated name of the month for the locale. Specifies the full name of the month for the locale. Specifies the century number (the year divided by 100 and truncated to an integer as a decimal number [1,99]); single digits are preceded by a 0.
Chapter 4
87
%d %e %h %H %I %j %k %l %m %M %n %p %r %S %t %u
Specifies the day of month [1,31]; single digits are preceded by 0. Specifies the day of month [1,31]; single digits are preceded by a blank. Specifies the abbreviated name of the month for the locale. Specifies the hour (24-hour clock) [0,23]; single digits are preceded by a 0. Specifies the hour (12-hour clock) [1,12]; single digits are preceded by a 0. Specifies the number of the day in the year [1,366]; single digits are preceded by 0. Specifies the hour (24-hour clock) [0,23]; single digits are preceded by a blank. Specifies the hour (12-hour clock) [1,12]; single digits are preceded by a blank. Specifies the number of the month in the year [1,12]; single digits are preceded by a 0. Specifies the minute [00,59]; leading 0 is permitted but not required. Inserts a new line. Specifies the equivalent of either a.m. or p.m. for the locale. Specifies the appropriate time representation in 12-hour clock format with %p. Specifies the seconds [00,61]; the range of values is [00,61] rather than [00,59] to allow for the occasional leap second and for the double leap second. Inserts a tab. Specifies the day of the week as a decimal number [1,7]. 1 represents Sunday, 2 represents Tuesday and so on.
%U %w
Specifies the number of the week in the year as a decimal number [00,53], with Sunday as the first day of week 1. Specifies the day of the week as a decimal number [0,6]. 0 represents Sunday.
%W %y
Specifies the number of the week in the year as a decimal number [00,53]. Monday is the first day of week 1. Specifies the number of the year within the century [00,99]. For example, 5 would be the fifth year of that century.
%Y
88
Note: If you specify a conversion that does not correspond to any of the ones described in the preceding table, or to any of the modified conversion specifications listed in the next paragraph, the behavior is undefined and returns 0. The difference between %U and %W (and also between modified conversions %OU and %OW) is the day considered to be the first day of the week. Week number 1 is the first week in January (starting with a Sunday for %U, or a Monday for %W). Week number 0 contains the days before the first Sunday or Monday in January for %U and %W.
Verify that the IP address of the NetScaler is present in the configuration file (log.conf)
C HAPTER 5
Advanced Configurations
You can configure network time protocol to synchronize the NetScaler's local clock with the other servers on the network. If you enable PMTU discovery, the NetScaler can use it to determine the maximum transmission unit of any Internet channel. For more efficient data transfer, you can configure TCP window scaling and selective acknowledgement. You can clear any basic or extended configuration on your NetScaler. In This Chapter Configuring Clock Synchronization Path Maximum Transmission Unit Discovery Configuring TCP Window Scaling Configuring Selective Acknowledgement Clearing the Configuration
1.
90
2. 3. 4.
Switch to the shell prompt. Copy the /etc/ntp.conf file to /nsconfig/ntp.conf. Copy the ntp.conf file from the /etc directory to the /nsconfig directory. If it already exists in the /nsconfig directory, be sure to remove the following entries from the ntp.conf file: restrict localhost restrict 127.0.0.2 These entries are required only if you want to run the device as a time server, and this feature is not supported on the NetScaler.
5.
Edit /nsconfig/ntp.conf and add the IP address for the desired NTP server under the files server and restrict entries.
Note: For security reasons, it is recommended that there should be a corresponding restrict entry for each server entry. 6. 7. Create a file and name it rc.netscaler in the /nsconfig directory, if the file does not already exist in the directory. Edit /nsconfig/rc.netscaler, and add the following entry. /usr/sbin/ntpd -c /nsconfig/ntp.conf -l /var/log/ ntpd.log & This entry starts the ntpd service, checks the ntp.conf file, and logs messages in the /var/log directory. 8. Reboot the NetScaler to enable clock synchronization.
Note: If you want to start the time synchronization process but restart the NetScaler at a later time, run the following command from the shell prompt: /usr/sbin/ntpd -c /nsconfig/ntp.conf -l /var/log/ ntpd.log & This command starts the time synchronization process. If you want the process to start every time the NetScaler is restarted, add it to the rc.netscaler file, as described in step 6.
Chapter 5
Advanced Configurations
91
If you do not have a local NTP server, you can find a list of public, open access, NTP servers at the official NTP site, http://www.ntp.org, under Public Time Servers List. Before configuring your NetScaler to use a public NTP server, be sure to read the Rules of Engagement page (link included on all Public Time Servers pages).
1. 2. 3. 4. 5.
In the navigation pane, expand System, and then click NTP Servers. On the NTP Servers page, click Add. In the Create NTP Server dialog box, in the NTP Server text box, type either the IP address or the name of the NTP server (for example, 1.2.3.4). In the Minimum Poll text box, type the minimum time interval after which you want the NTP server to poll the NTP messages (for example, 5). In the Maximum Poll text box, type the maximum time interval after which you want the NTP server to poll the NTP messages (for example, 11).
92
6.
Example
add ntp server 1.2.3.4 -minpoll 5 -maxpoll 11
1. 2. 3.
In the navigation pane, expand System, and then click NTP Servers. On the NTP Servers page, click the NTP server that you want to modify, and then click Open. In the Configure NTP Server dialog box, in the Minimum Poll text box, change the minimum time interval after which you want the NTP server to poll the NTP messages (for example, 7). In the Maximum Poll text box, change the maximum time interval after which you want the NTP server to poll the NTP messages (for example, 9). Click Ok.
4. 5.
Example
set ntp server 1.2.3.4 -minpoll 7 -maxpoll 9
1.
In the navigation pane, expand System, and then click NTP Servers.
Chapter 5
Advanced Configurations
93
2. 3.
On the NTP Servers page, click the NTP server that you want to remove, and then click Remove. In the Remove message box, click Yes.
Example
rm ntp server 1.2.3.4
1. 2.
In the navigation pane, expand System, and then click NTP Servers. On the NTP Servers page, you can view all the NTP servers that you have added.
1. 2.
In the navigation pane, expand System, and then click NTP Servers. On the NTP Servers page, click NTP Synchronization.
94
or
disable ntp sync
Chapter 5
Advanced Configurations
95
For client connections, the NetScaler uses an Maximum Segment Size (MSS) of 1460 bytes. If the network contains a router that fragments the packet into multiple datagrams because of MTU mismatches, the router sends an ICMP error to the NetScaler. The NetScaler does not pass the error to the servers it manages, but parses it and determines an MTU appropriate for that particular client. The NetScaler then updates the MTU database with the lower MTU. Thereafter, it uses the new MTU value for all new connections to that client.
1. 2. 3.
In the Navigation Pane, expand System, and then click Settings. On the Settings page, under Modes & Features click Change modes. In the Configure Modes dialog box, select the Path MTU Discovery check box to enable this feature, or clear the check box to disable it, and click OK
To enable or disable PMTU discovery using using the NetScaler command line
or
disable ns mode PMTUD
96
The window size field in the TCP header is 16 bits, which limits the ability of the sender to advertise a window size larger than 65535 ( 2^16 - 1). The TCP window scale extension expands the definition of the TCP window to 30 bits by using a scale factor to carry this value in the 16 bit window field of the TCP header. In the NetScaler, the window scale expands the definition of the TCP window to 24 bits. The scale factor is carried in the new TCP window scale field. This field is sent only in a SYN packet (a segment with the SYN bit on). The new window size is calculated by the receiver. [right shifting the bits of the received window size by the scale factor value] which is equivalent to [(2^scale factor) * received window size] Before configuring window scaling, make sure that: You do not set a high value for the Scale Factor, because this could have adverse effects on the NetScaler and the network. You have enabled SACK (selective acknowledgement). You do not configure window scaling unless you clearly know why you want to change the window size. Both hosts in the TCP connection send a window scale option during connection establishment. If only one side of a connection is sets this option, windows scaling will not be used for the connection. Each connection for same session (such as TCP session between Client and NetScaler and TCP session between NetScaler and Server having the same request/response) is an independent Window Scaling session. It is possible to have window scaling between the client and a Citrix NetScaler and not the a Citrix NetScaler and a server.
By default, window scaling is not enabled. The following table describes the parameters used to configure window scaling:
Parameters Windows scaling factor Specifies Factor used to calcualte new window size . Possible values: 0 to 8. Default: 4.
1. 2.
In the navigation pane, expand System and click Settings. On the Settings page, under Global Settings, click Change global system settings.
Chapter 5
Advanced Configurations
97
3. 4. 5.
In the Configure Global Settings dialog box, under TCP, select the Windows Scaling checkbox. In the Factor textbox, type a windows scaling factor (for example, 5). Click Ok.
Example
set ns tcpParam -WS ENABLED -WSVal 5
1. 2. 3.
In the navigation pane, expand System and click Settings. On the Settings page, under Global Settings, click Change global system settings. In the Configure Global Settings dialog box, select the Selective Acknowledgement checkbox, and click Ok.
Example
set ns tcpParam -SACK ENABLED
98
Extended Configuration: Clearing your configuration at the extended level clears all settings except the following: NSIP, MIP(s), and SNIP(s) Network settings (Default Gateway, VLAN, RHI, NTP, and DNS settings) HA node definitions
Feature and mode settings revert to their default values. Full Configuration: Clearing your configuration at the full level returns all settings to their factory default values. However, the NSIP and default gateway are not changed, because changing them could cause the NetScaler to lose network connectivity. To clear a configuration, use either of the following procedures:
To clear a configuration using the configuration utility
1. 2. 3. 4.
In the Navigation Pane, expand System, and then click Diagnostics. On the Diagnostics page, under Maintenance, click Clear Configuration. In the Clear Configuration dialog box, for Configuration Level, select an option (for example, basic). Click Run.
Chapter 5 Example
clear ns config basic
Advanced Configurations
99
100
C HAPTER 6
Reporting Tool
The Reporting tool of Citrix NetScaler provides built-in reports that display statistics collected by the nscollect utility. You can also create custom reports. The reports use charts to display the statistics. You can modify the charts and add new charts. You can also modify the operation of the nscollect utility and stop or start its operation. In This Chapter Using the Reporting Tool How Data Collection Works
1.
Use the Web browser of your choice to connect to the IP address of the NetScaler (for example, http://10.102.29.170/). The Web Logon screen appears. In the User Name text box, type the user name assigned to your NetScaler. In the Password text box, type the password. In the Start in drop-down box, select Reporting. Click the Login button.
2. 3. 4. 5.
After you have logged in, the reporting tool page appears as follows.
102
The components of the reporting tool are: Navigation Pane Details Pane Report Toolbar Chart Toolbar
Navigation Pane: The navigation pane extends down the left side of the screen. It has two sections for each type of report: Custom Reports and Built-in Reports. Under Custom Reports, you can access custom reports you create. Under Built-in Reports, a collapsible menu contains links to different categories of built-in reports. To view a report, click the report, and it appears in the right pane, which is also called the details pane. Details Pane: The details pane is the right portion of the Reporting page, which displays the report you clicked in the navigation pane. You can modify a report, create custom reports, and view reports for different time intervals using various options available in the details pane.
Chapter 6
Reporting Tool
103
Report Toolbar: You can use the options on the report toolbar in the details pane to do the following: View reports in different time intervals Create new custom reports Save built-in reports as custom reports Delete reports Change the settings of the reports and select a different data source
Chart Toolbar: Each report is a collection of charts. Beneath each chart is a chart toolbar with options for changing the chart to a different type or charting different counters. The chart toolbar also has icons for adding a new chart, deleting a chart, or moving the chart up or down within the report. For more information on charts, see Working with Charts, on page 106.
104
1. 2.
In the navigation pane, under Built-in Reports, expand a group (for example, System). Click a report (for example, CPU vs. Memory Usage and HTTP Requests Rate).
Creating a Report
Use the Create function to create a new custom report, or use the Save As function to save an existing report as a custom report.
Reporting Tool
105
1. 2.
Create or
Save As.
In Report Name box, type a name for the custom report, and then click OK.
1. 2.
In the navigation pane, click a report. In the details pane, on the report toolbar, click a time period (for example, Hour, Day, Week, Month, Year, and Custom).
106
Citrix NetScaler Administration Guide To set the data source and time zone
1. 2. 3.
In the details pane, on the report toolbar, click Settings. In the Settings dialog box, in Data Source, select the data source from which you want to retrieve the counter information. Select the Remember time selection for charts check box if you want to apply the time interval of the currently displayed report to all the existing reports. Select the Use Appliances time zone check box if you want the reports to use the time settings of your NetScaler appliance. Click OK.
4. 5.
Adding a Chart
When you add a chart to a report, the System Overview chart appears with the CPU Usage counter plotted for the last one hour. To plot a different group of statistics or select a different counter, see Modifying a Chart, on page 106. Note: If you add charts in a built-in report, you must save the report as a custom report. Use the following procedure to add a chart in a report.
To add a chart
1. 2.
In the navigation pane, click a report. In the details pane, on the toolbar for the chart beneath which you want to add the new chart, click the Add icon.
Modifying a Chart
You can modify a chart by changing the functional group for which the statistics are displayed, and by selecting different counters.
Reporting Tool
107
1. 2. 3. 4.
In the Navigation pane, click a report. In the details pane, on the toolbar for the chart that you want to modify, click Counters. In the dialog box that appears, in the Chart Title box, type a name for the chart. Next to Plot chart for, select one of the following: System global statistics, if you want to plot counters for global counters, such as Integrated Cache and Compression. System entities statistics, if you want to plot entity counters for entity types, such as Load balancing and GSLB.
5. 6.
In the Counters area, under Available, click the counter name(s) you want to plot, and then click the > button. If you selected System entities statistics in step 4, click the Entities tab and, under Available, click the entity instance name(s) you want to plot, and then click the > button. Click OK.
7.
108
1. 2.
In the navigation pane, select a report (either built-in or custom report). In the details pane, under the chart you want to view, on the chart toolbar, click a graph type, such as Area and Bar. Note: If you have selected a built-in report, you need to save this report as a custom report, or the changes will be lost.
Deleting a Chart
If you do not want to use a chart, you can remove it from the report. You can permanentely remove charts from custom reports only. If you delete a chart from a built-in report, you need to save the report as a custom report.
To delete a chart
1. 2.
In the navigation pane, select a report. In the details pane, on the toolbar for the chart that you want to delete, click the Delete icon.
Examples
To display the trend report for CPU usage and memory usage for the last one day.
1. 2. 3.
In the navigation pane, under Built-in Reports, expand System. Click report CPU vs. Memory Usage and HTTP Requests Rate. On the report tool bar, click a time period (for example, Day).
To compare bytes received rate and bytes transmitted rate between two interfaces for the last week
1. 2.
Create.
In the Report Name box, type a name for the custom report (for example, Custom_Interfaces), and then click OK. The report is created with the default System Overview chart, which displays the CPU Usage counter plotted for the last hour. In the details pane, under System Overview, on the chart toolbar, click Counters.
3.
Chapter 6
Reporting Tool
109
4. 5. 6. 7.
In the counter selection pane, in the Chart title box, type a name for the chart (for example, Interfaces_bytes_received_and_transmitted). In Plot chart for, click System entities statistics, and then in Select Group, select Interface. In Entities, click the interface name(s) you want to plot (for example, 1/1 ans 1/2), and then click the > button. In Counters, click the counter name(s) you want to plot (for example, Bytes received (Rate) and Bytes transmitted (Rate)), and then click the > button. Click OK. On the report toolbar, click a time period (for example, Week).
8. 9.
110
By default, nscollect retrieves data at every 5-minute interval. Data is maintained in 5-minute granularity for one day, hourly for the last 30 days, and daily for three years. The nscollect utility can also import data from the newnslog file (within the same release or across releases) to the data source. For more information on importing from newnslog files, see Importing Data from the newnslog File, on page 111.
Reporting Tool
111
You can start nscollect on either the local system or a remote system.
To start nscollect on the local system
Example
/netscaler/nscollect start -U 10.102.29.170:nsroot:nsroot -ds default
Example
/netscaler/nscollect import -file newnslog.24 -ds default
112
/netscaler/nscollect import -file FileName -ds DataSourceName starttime MMDDYYYYHHMM -endtime MMDDYYYYHHMM
Example
/netscaler/nscollect import -file newnslog.3 -ds default -starttime 112220080735 -endtime 112320080735
Example
/netscaler/nscollect import -file newnslog.15 -ds default -clean