如何启用Azure linux(ubuntu)DSC box运行的bash脚本的完整标准输出日志

如何启用Azure linux(ubuntu)DSC box运行的bash脚本的完整标准输出日志,linux,azure,dsc,Linux,Azure,Dsc,我们正在linux Azure虚拟机上使用DSC for linux部署Elasticsearch。 目前,调试DSC配置是一个巨大的挑战,因为DSC构建/运行的周期很长(几分钟),而且OMI服务几乎生成无用的日志:DSC.log 该文件包含大量的“噪声”,并且命令的有用输出非常有限。也就是说,如果脚本配置步骤失败,它只会声明: 发生了一个常规错误,没有包含在更具体的错误代码中。相关的ResourceId为[nxScript]/somename/ 另一方面,根据: 在此版本的UNIX和Linux

我们正在linux Azure虚拟机上使用DSC for linux部署Elasticsearch。 目前,调试DSC配置是一个巨大的挑战,因为DSC构建/运行的周期很长(几分钟),而且OMI服务几乎生成无用的日志:
DSC.log
该文件包含大量的“噪声”,并且命令的有用输出非常有限。也就是说,如果脚本配置步骤失败,它只会声明: 发生了一个常规错误,没有包含在更具体的错误代码中。相关的ResourceId为[nxScript]/somename/

另一方面,根据:

在此版本的UNIX和Linux Operations Manager代理中,无法更改omiserver.log日志文件的默认日志记录级别


记录DSC运行shell脚本的所有标准输出的最佳方法是什么?

到目前为止,我们从OMI服务器获取完整日志的唯一方法是通过更改/init.d/omid文件的守护进程启动命令行,例如:

$CREATE_LINKS && start-stop-daemon --start --quiet --pidfile $PIDFILE --name "omid" --startas $OMI_BIN -- --configfile=/etc/opt/omi/conf/omiserver.conf -d


请注意:此解决方案仅作为调试解决方案足够好,不应传播到生产环境附近的任何地方。omiserver.log将包含执行的所有脚本及其std和err输出。

很高兴听到您的问题已经解决。也许你应该把它标记为一个答案,这样其他社区成员就会受益。我不会把这个决议称为——更像是一个变通办法。如果有合适的解决方案,那就太好了。同时,我还必须等待接受我自己的答案SO@JasonYe-你们应该做得更好。好多了。
$CREATE_LINKS && start-stop-daemon --start --quiet --pidfile $PIDFILE --name "omid" --startas /bin/bash --background -- -c "exec $OMI_BIN --configfile=/etc/opt/omi/conf/omiserver.conf > /var/log/omiserver.log 2>&1"