有沒有辦法在木偶類/資源之間傳遞訊息

有沒有辦法在木偶類/資源之間傳遞訊息

有沒有辦法在類別/資源之間傳遞訊息?

我想在所有節點上包含一個配置文件,以將它們設置為由使用導出資源的 Icinga 進行監控:

class profile::icinga2::host {
  @@::icinga2::object::host { $::fqdn:
      display_name     => $::fqdn,
      address          => $::ipaddress,
      vars             => hiera_hash('icinga_vars',{}) + {
         "dns_lookup" => $::fqdn,
         "dns_expected_answers" => $::ipaddress,
      },
      target           => "/etc/icinga2/conf.d/puppet.d/${::fqdn}.conf"
  }
}

然後使用資源收集器在 icinga 伺服器中聲明這些資源:

<<| icinga2::object::host|>>

我希望能夠自訂 profile::icinga2::host 資源中的 vars 條目,目前透過將 icinga_vars 資料新增至節點的 hiera yaml 檔案中來實現,例如:

icinga_vars:
    http_uri: "http://puppetboard.zoo.lan" 

但理想情況下,我會在節點本身包含的任何類別中執行此操作。

有沒有一種方法可以在類別中設定數據,然後可以由不同的類別讀取?

事實似乎不是正確的做法,puppetdb 也不是,有其他選擇嗎?

例如,我可以建立一個 icinga2::variable 類別並在 profile::icinga2::host 類別之外聲明這些類,然後在 profile::icinga2::host 類別中迭代它們嗎?如何完成以及如何處理依賴項,例如我需要確保 icinga2::variables 已準備好由 profile::icinga2::host 讀取 謝謝

相關內容