我们正在使用DSC for linux在Linux Azure VM上部署Elasticsearch。
目前,由于DSC构建/运行的长(几分钟)周转时间以及接近OMI服务生成的无用日志,调试DSC配置是一个巨大的挑战:dsc.log
该文件包含许多"噪音"并且命令的有用输出非常有限。即如果脚本配置步骤失败,它只会声明:
"发生了一般错误,没有更具体的错误代码。相关的ResourceId是[nxScript] / somename /"
另一方面,根据OMI logging and debugging:
omiserver.log日志文件的日志记录级别无法从此版本的UNIX和Linux Operations Manager代理的默认值更改。
从DSC运行shell脚本记录所有标准输出的最佳方法是什么?
答案 0 :(得分:1)
到目前为止,我们设法从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
到
$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"
请注意:此解决方法仅作为调试解决方案,并且永远不应传播到接近生产的任何地方。 omiserver.log将包含所有执行的脚本以及它们的std和err输出。