NetScaler doesn't generate /var/log/nitro.log in 14.1-47.48
By default, we have syslog settings in /etc/syslog.conf and /etc/syslog.conf has one line "local5.* /var/log/nitro.log" for nitro.log . However, this line doesn't exist in the customer's environment. In this situation, Netscaler wil not generate nitro.log.
Our design is that any changes to /etc/syslog.conf will be lost after reboot. If we need to customize syslog.conf and make the changes persistent, we create a customized syslog.conf in /nsconfig. After reboot, /etc/syslog.conf will become a soft link to /nsconfig/syslog.conf automatically and thus the changes will be persistent after reboot. In a environment without customization, we shouldn't see /nsconfig/syslog.conf.
However, in customer's environment, /nsconfig/syslog.conf exists and /etc/syslog.conf is linked to /nsconfig/syslog.conf. This means customization exists and the line for nitro.log was lost due to the customization.
Option 1:
If we don't need any customization, we can remove /nsconfig/syslog.conf and reboot the device. The device will regenerate a default /etc/syslog.conf after reboot when /nsconfig/syslog.conf doesn't exist.
Option 2:
1.Find a normal NetScaler with same version and copy the correct content into /nsconfig/syslog.conf. The following is an example got from version 14.1-47.48.
root@ns206# cat /etc/syslog.conf
# $FreeBSD: src/etc/syslog.conf,v 1.13.2.4 2003/05/12 13:59:23 yar Exp $
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manpage.
kern.debug /dev/console
*.warning;authpriv.none;kern.* /var/log/messages
*.notice /var/log/notice.log
security.* /var/log/security
auth.info;authpriv.info /var/log/auth.log
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
cron.* /var/log/cron
local0.* /var/log/ns.log
local1.* /var/log/nsvpn.log
local2.* /var/log/iprep.log
local3.debug /var/log/callhomedebug.log
local3.info /var/log/callhome.log
local4.* /var/log/ctxslsboc.log
!-pgsql,ngapi
local5.* /var/log/nitro.log
!*
local6.* /var/log/sh.log
local7.* /var/log/bash.log
*.emerg *
#mastools related log set
!mastools
*.* /var/log/mastoolsd.log
!*
#postgres related log set
!pgsql
local5.* /var/log/pgsql.log
!*
!ngapi
local5.* /var/log/ngapi.log
!*
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
#*.* /var/log/all.log
# uncomment this to enable logging to a remote loghost named loghost
#*.* @loghost
2.restart syslogd process
root@NSVPX100# ps aux | grep syslogd
root 979 0.0 0.0 3672 784 ?? Ss 8Jun17 31:35.76 /usr/sbin/syslogd -b 127.0.0.1 -n -v -v -8 => confirm the PID is 979
root 99416 0.0 0.0 5856 688 p0 R+ 8:32PM 0:00.00 grep syslogd
root@NSVPX100# kill -9 979 => replace the PID in your environment
root@NSVPX100# /usr/sbin/syslogd -b 127.0.0.1 -n -v -v -8
In this way , the customization file /nsconfig/syslog.conf is still there , but we put correct content in it.
This article describes how to solve the problem that NetScaler doesn't generate nitro.log