使用NITRO获取Netscaler ns.log的内容

时间:2017-04-26 04:29:49

标签: powershell netscaler

我正在尝试使用Nitro在我的NetScaler上获取ns.log文件的内容。这是代码

$URL = 'https://$NSIP/nitro/v1/config/systemfile/ns.log?args=filelocation:%2fvar%2Flog'
$varlog = Invoke-WebRequest -Method Get -uri $URL  -UseDefaultCredentials | ConvertFrom-Json

我获取了文件本身的详细信息(下面的输出),但缺少filecontent部分

filename : ns.log filelocation : /var/log fileencoding : BASE64 fileaccesstime : Wed Apr 26 01:00:01 2017 filemodifiedtime : Wed Apr 26 07:19:23 2017

事实上,当我尝试获取var / log文件夹中任何文件的内容时,我遇到了同样的问题。当我在任何其他文件夹上尝试此功能时,它工作得很好。 当我使用Putty时,我可以很好地阅读这些文件。

我发现一篇Citrix文章称文件大小限制为2MB(不确定限制是什么)但我的ns.log文件只有49kB

有没有人知道在NetScaler上使用nitro的任何其他限制,或者找到了获取文件内容的方法

1 个答案:

答案 0 :(得分:0)

有一个GUI函数允许这样做。在“系统-审核”下,选择“ Recenet审核消息”。从这里开始,我相信您可以使用开发人员工具来分析有效负载。使用的特定命令属于rapi而非NITRO api,因此您将找不到任何文档。

Request URL: http://hostname/rapi/remote_shell
payload:object: {"params":{"warning":"YES"},"remote_shell":{"command":"show audit messages -logLevel ALL -numOfMesgs 20","prompt":">show audit messages -logLevel ALL -numOfMesgs 20","target":"cli"}}