![Foreman 和 puppet 通知节点报告状态中的资源](https://linux22.com/image/676169/Foreman%20%E5%92%8C%20puppet%20%E9%80%9A%E7%9F%A5%E8%8A%82%E7%82%B9%E6%8A%A5%E5%91%8A%E7%8A%B6%E6%80%81%E4%B8%AD%E7%9A%84%E8%B5%84%E6%BA%90.png)
我们使用 Puppet + Foreman 通过检查自定义事实来监控环境变化。例如,每当自定义事实等于“真”时,Puppet 就会调用 Notify 资源并向代理日志发送一条消息。Puppet 将此消息包含在代理报告中,而 Foreman 会在 UI 中显示此消息。
问题是,每当有消息抛出时,Foreman 都会将此操作视为“已应用”,节点状态将更改为“活动”(蓝色图标)。我们希望将节点保持在“无变化”(绿色)状态并显示通知消息。
这可能吗?也许定义一种新的自定义资源类型?
有没有办法使用 Notify 资源而不导致 Puppet 报告节点已更改?意思是只将消息打印到客户端日志(因此该消息将在报告中可见),但不将 Puppet 将该事件归类为已应用的配置?原因是当 Puppet 触发 Notify 资源时,Foreman 会将节点标记为活动(已更改)
这是木偶代码:
class mymodule::myclass::mysubclass {
if $::fact023 == 'fail' {
notify {'mynotify1':
message => "WARNING: Node ${::fqdn} failed fact023",
loglevel => hiera('warnings_loglevel'),
} } }
见截图:
更新 #1 我正在考虑更改 Foreman 报告文件,以便 UI 忽略通知事件,这样节点的状态将保持不变,但仍在报告中显示消息。有人能给我指出正确的方向吗?