1

SolarWinds Orion NPM (ネットワーク パフォーマンス監視) を使用してノードを監視しています。また、SWIS (SolarWinds informationalion Service) から vb.net コンソール アプリケーションにアラート情報を取得するために Orion SDK を使用しています。

私はいくつかのvb.netコードを使用しています:

Function GetOneAlert(ByVal swis As InformationServiceClient) As AlertInfo
    Dim query As String, result As XElement
    query = "SELECT TOP 1 A.AlertDefID, A.ActiveObject, A.ObjectType FROM Orion.AlertStatus A WHERE A.Acknowledged=0 ORDER BY A.TriggerTimeStamp DESC"
    result = swis.QueryXml(query)

問題は、 (SolarWinds Information Service)でとalertinforamtionという名前の 3 つのテーブルから取得したいのですが、これらの 3 つのテーブルを結合する必要がありますが、以下に示す (SolarWinds クエリ言語) クエリを使用して、そのうちの 2 つ ( 、) を結合できます。Orion.AlertDefinitionsOrion.AlertStatusOrion.NodesswisOrion.AlertDefinitionsOrion.AlertStatusswql

query = "SELECT AlertStatus.AlertDefID, AlertDefinitions.AlertDefID, AlertDefinitions.Name, AlertStatus.State, AlertStatus.ObjectName, 
AlertStatus.TriggerTimeStamp, AlertDefinitions.Description FROM Orion.AlertStatus INNER JOIN Orion.AlertDefinitions
ON AlertStatus.AlertDefID=AlertDefinitions.AlertDefID WHERE AlertStatus.Acknowledged=0"

アラートの詳細はわかっていますが、アラートがどのノードに属しているかわかりません。この目的のために、「orion.node」テーブルを残りのテーブルと結合する必要があります。しかし、3 番目のテーブル ( Orion.Nodes) には、結合する他の 2 つのテーブルのいずれにも共通のフィールドがありません。テーブルからDNS、、、という名前IPAddressの3 つのフィールド値を取得する必要があります。NodeDescriptionOrion.Nodes

4

2 に答える 2

2

ノード関連のアラートに関心があり、ノードの詳細に参加したい場合は、アラートのみを選択し、関連付けられているノードAlertStatus.ObjectType='Node'を使用して参加する必要があります。したがって、クエリ (ノード プロパティが言及されている) は次のようになります。AlertStatus.ActiveObjectNodeID

SELECT AlertStatus.AlertDefID, AlertDefinitions.AlertDefID, AlertDefinitions.Name, AlertStatus.State, AlertStatus.ObjectName, AlertStatus.TriggerTimeStamp, AlertDefinitions.Description, Nodes.IPAddress, Nodes.Dns, Nodes.NodeDescription
FROM Orion.AlertStatus
INNER JOIN Orion.AlertDefinitions
  ON AlertStatus.AlertDefID=AlertDefinitions.AlertDefID
INNER JOIN Orion.Nodes
  ON AlertStatus.ActiveObject=Nodes.NodeID
WHERE AlertStatus.Acknowledged=0 AND AlertStatus.ObjectType='Node'

とにかく、Orion SDK と SWIS に関するより具体的な質問と回答については、Orion SDK Thwack Forumをご覧ください。

于 2012-11-09T10:00:09.500 に答える