すべてのサブネットからネットワーク全体からデバイスを取得するようにZenoss4.2.3を設定しました(インフラストラクチャ->デバイス)。ただし、IPアドレスのみを含むデバイスリストが返され、WindowsマシンとLinuxマシンの両方からホスト名を取得することはありません。
マシンの名前を取得するように構成するにはどうすればよいですか?
「しかし、IPアドレスだけでデバイスリストが返されます」
インフラストラクチャタブを意味しますか、それとも通知者からのメールを参照していますか?
通知機能にある場合、Zenoss 4.2にはバグがあり、電子メール通知でdevice.titleの代わりにdevice.idが使用されます。
修正するには、次の変換をルート「/」イベントクラスに配置します。
d = dmd.Devices.findDevice(evt.device) dがNoneでない場合: evt.device_title = d.title else: evt.device_title = d.id
次に、通知の[コンテンツ]タブで、次を使用します
メッセージ(件名)形式:[zenoss] ** $ {evt/device_title} **-$ {evt/summary} 本文の形式: 場所:$ {evt/zenoss.device.groups} デバイス:** $ {evt/device_title} ** コンポーネント:$ {evt/component} 重大度:$ { evt/sevword} 時間:$ {evt/lastTime} メッセージ: $ {evt/message} ahref = "$ {urls/eventsUrl}">デバイスイベント ahref = "$ {urls/eventUrl}">イベントの詳細 ahref = "$ {urls/ackUrl}">確認 ahref = "$ {urls/closeUrl}">閉じる
お役に立てれば。
私は昨日これを研究するのに何時間も費やしました、そしてうまくいけば私は誰かにいくらかの痛みを救うことができます。私はこれに対する2つの答えを発見しました、そして私たちは簡単なものから始めましょう。
[通知コンテンツ]タブで、単に置き換えます
${evt.device}
と
${eventSummary/actor/element_title}
経由で発見: http://community.zenoss.org/message/71252#71252
(Philip Warrenに感謝)
上記のOphirの回答は実際のイベントでは機能しますが、手動で作成された(別名テスト)イベントでは機能しないことを発見しました。変換自体は適切に解析されますが、何らかの理由で、テストイベントは通知の内容で使用されるカスタム属性を適切に解析できず、「TALES評価を実行できません」エラーで失敗します。これにより、カスタム属性のテストが困難になるため、Zenossがすぐにこれを修正することを願っています。
また、彼の変換の最後の行を変更することをお勧めします。そうしないと、「d」が見つからないときに失敗する可能性があります。完全に作り直された変換コードは次のとおりです。
d = dmd.Devices.findDevice(evt.device)
if d is not None:
evt.device_title = d.title
else:
evt.device_title = evt.device.title
経由で発見: http://www.eventenrichment.com/zenoss-event-enrichment-5-min-less
以前にそれを行ったことがない人(昨日の私のように)の場合、Transformエリアに到達するためにZopeを使用する必要はありません。 Zenossで次の手順に従って、ルートイベントに変換を追加します。
代わりにZopeを使用したい場合(「危険」はミドルネームであるため)、http [s]://yourserver.com [:port]/zport/dmd/Events/manageにアクセスして、[プロパティ]をクリックします。タブをクリックして、[変換]フィールドに移動します。