返回介绍

最佳实践 40:NetScaler 监控

发布于 2025-04-20 17:44:43 字数 1962 浏览 0 评论 0 收藏

ns.log 监控

NetScaler 在运行过程中,在 ns.log 里面会记录不同级别的关键信息,其中 local0.alert 级别是大家需要关心的。如下所示为 HA 检测到对方宕机的报警:

Aug 16 09:56:10 <local0.alert> x.y.z.134 08/16/2015:01:56:10 GMT NSIP01 PPE-0 : EVENT STATECHANGE 3011 :  Device "remote node x.y.z.135" - State DOWN

使用如下的脚本可以对 ns.log 进行监控:

# crontab -l
*/5 * * * * /usr/bin/perl /root/checkstat.pl >/dev/null 2>/dev/null
# cat /root/checkstat.pl 
#!/usr/bin/perl
use strict;
use warnings;
use Net::SMTP;

sub send_mail {
    my $from = 'xufengnju@163.com';
    my ( $to, $subject, $content ) = @_;
    my $smtp = Net::SMTP->new(
        'x.y.z.88', #SMTP 转发服务器
        Timeout => 30,
        Debug   => 0,
    );
    $smtp->mail($from);
    $smtp->to($to);
    $smtp->data();
    $smtp->datasend("To: $to\n");
    $smtp->datasend( "From: $from" . "\n" );
    $smtp->datasend( "Subject: " . $subject . "\n" );
    $smtp->datasend("\n");
    $smtp->datasend($content);
    $smtp->dataend();

    #close socket;disconnect from smtp server
    $smtp->quit;
}
my $filerotate = 0;
my @tos     = ( '15221612960@139.com' );
my $subject = 'netscaler_alert';
my $myfile  = '/var/log/ns.log';
open( MYFILE, '<', $myfile ) or die $!;
while (<MYFILE>) {
    chomp;
    if ( $_ =~ /local0.alert/ ) {
        $filerotate = 1;
        my $content = $_;
        foreach my $to (@tos) {
            &send_mail( $to, $subject, $content );
                                       }
    }
}
close(MYFILE);
if ($filerotate) {
    my $t = time();
    system("/bin/mv /var/log/ns.log /var/log/ns.log.bak$t");
    system("/usr/bin/killall -HUP syslogd");
}

另外,ns.log 中,同时会记录对后端服务器的健康检查的报警信息,需要定时查看或者统一传到日志服务器进行集中分析。

性能采集

NetScaler 通过 SNMP 方式可以提供给 Zabbix 数据,以进行画图和报警。Ctrix 官方发布了 Zabbix 模板,可以参考以下链接进行设置: https://share.zabbix.com/network_devices/netscaler

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。