そのため、当社のアラームプラットフォームは、SNMPMIBに基づいて独自のコードを生成します。SNMPに精通していない場合でも、心配しないでください。この質問は、接線方向にのみ関連しています。コードは次のようになります。
case ".1.3.6.1.4.1.5555": ## This is the OID for that specific device type, this switch/case began in the main file.
switch ($specific-trap): {
case "10": ## The specific alarm
# Alarm-specific code
@Identifier = $enterprise + "." + $specific-trap
case "11": ## A different alarm
# Alarm-specific code
@Identifier = $enterprise + "." + $specific-trap
case "12": ## A different alarm
# Alarm-specific code
@Identifier = $enterprise + "." + $specific-trap
case "20": ## clears specific-trap 10
# Alarm-specific code
@Identifier = $enterprise + "." + $specific-trap
case "21": ## clears 11
# Alarm-specific code
@Identifier = $enterprise + "." + $specific-trap
case "22": ## clears 12
# Alarm-specific code
@Identifier = $enterprise + "." + $specific-trap
default:
## what happens if the alarm isn't found
}
私がする必要があるのは、アラームとクリアを@Identifier(一意のキー)として使用することです。これにより、それらは互いに上書きされます。したがって、たとえば、最初のケースは次のようになります。
case "10": ## The specific alarm
# Alarm-specific code
@Identifier = $enterprise + ".10-20"
「20」の場合も同じように設定されます。
私は通常、ファイルを調べてこれらを手動で編集しますが、何百ものトラップがある場合は面倒になる可能性があります。私はこれを行うことができるある種の簡単なVIトリックを見逃していますか?$specific-trapの値が@Identifierと同じ行にないため、私が考えるすべてが機能しません。
私はそれを処理するためにPerlスクリプトを書くことを考えましたが、私は怠け者です。簡単にできるVI魔法があるのではないかと思いました。