【问题标题】:Running 'monit restart all' on command line was working yesterday在命令行上运行“monit restart all”昨天还在工作
【发布时间】:2018-08-14 13:07:43
【问题描述】:

错误:操作无效=重新启动监控


服务器信息

Ubuntu 16.04.4 LTS 监控: 安装:1:5.16-2ubuntu0.1

【问题讨论】:

    标签: server ubuntu-16.04 monit


    【解决方案1】:

    这个问题是针对这些监控命令的

    $ monit restart tomcat
    $ monit stop tomcat
    $ monit start tomcat
    $ monit monitor tomcat
    $ monit unmonitor tomcat
    

    原因:

    状态更改为“已确认”,因为该错误会影响多个用户。

    在监视器中更改(Ubuntu): 状态:新→确认

    暂时需要将monit包还原为1:5.16-2,在服务器中手动尝试

    sudo apt-get install monit=1:5.16-2
    

    如果您的服务器自动配置了一些第三方工具(chef、puppet、bash 脚本等),那么您需要相应地更新它们。

    来源:https://bugs.launchpad.net/ubuntu/+source/monit/+bug/1786910

    注意

    如果您在降级 Monit 版本后再次遇到此问题,请将其从无人值守升级服务中列入黑名单。它每天运行以获取相关软件包的最新安全更新。

    要黑名单监控,打开“/etc/apt/apt.conf.d/50unattended-upgrades”并在“Unattended-Upgrade::Package-Blacklist”块下,添加“monit”。

    @TomDavies 提出了比黑名单更好的解决方案,请参阅 cmets。

    记住在问题解决后将其从黑名单中删除。 您需要再次运行上述命令才能恢复到旧补丁。

    【讨论】:

    • 我的显示器会在几个小时后自动更新,如何阻止这个?
    • 是的,这也发生在我身上,我已经更新了答案
    • 谢谢,效果很好。我最终使用 sudo apt-mark hold monit 暂时冻结了监控版本,然后我将使用 sudo apt-mark unhold monit 在解决此问题后解冻。
    【解决方案2】:

    这是对 Ninad 给出的答案的扩展。

    如果您使用 Chef 自动配置服务器,那么以下代码更改将帮助您在所有运行 Ubuntu 16.04 的服务器中安装以前版本的 monit

    if 'ubuntu' == node['platform'] && '16.04' == node['platform_version']
      Chef::Log.info "******** Installing monit version '1:5.16-2' ********"
      execute 'apt-get -y install monit=1:5.16-2 --allow-downgrades'
    else
      Chef::Log.info "******** Installing latest monit ********"
      package 'monit'
    end
    

    确保在修复错误后恢复此设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 1970-01-01
      • 2015-04-30
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多