2

Zabbix ダッシュボードからすべてのトリガーを取得する必要があります。したがって、トリガーがある場合は、重大度に関係なく、これを取得する必要があります。これは、1 つのエントリを含むトリガー ダッシュボードのスクリーンショットです: クリックすると大きく表示されます 。したがって、アクティブなトリガーがない場合、このリストは空です。 ここに画像の説明を入力

私がすでに持っているもの:

jsonObj.put("method", "trigger.get");
        // Priority: 0 = Not classified | 1 = Information | 2 = Warning | 3 =
        // Average | 4 = High | 5 = Disaster
        jsonObj.put(
                "params",
                (new JSONObject().put(
                        "filter",
                        new JSONObject().put("priority", 1).put("group", "WZU-Server")).put(
                        "output", "extend")));

しかし、これはもうアクティブではない多くの古いトリガーを返します。本当に必要なのは、ダッシュボードに表示されるトリガーだけです!

どうすればこれを達成できますか?zabbix APIで何時間も取得できません...

情報:
グループ ID は 7 です
このグループにはさまざまなホストがあります
トリガーのステータスが OK の場合、それは必要ありません。問題がある場合のみ。

編集
私は私の目標に本当に近いです。
私の現在のコードは次のようになります。

int count = 2;
while (count <= 5){
    jsonObj.put("jsonrpc", "2.0");
    jsonObj.put("method", "trigger.get");
    // Value: 0 = OK | 1 = PROBLEM | 2 = UNKNOWN
    // Priority: 0 = Not classified | 1 = Information | 2 = Warning | 3 =
    // Average | 4 = High | 5 = Disaster

    // count = priority. It start with two and end with 5
    jsonObj.put("params", (new JSONObject().put("filter", new JSONObject().put("priority", count).put("group", "WZU-Server").put("value", 1)).put("output", "extend")));
    jsonObj.put("id", 0);
    jsonObj.put("auth", "8ba6b9f29dd68e0c98cdea9ee01f2614");

    putMethod.setRequestEntity(new StringRequestEntity(jsonObj.toString(), "application/json", "UTF-8"));
}

この時点で、私のダッシュボードは空です。したがって、このコードのオブジェクトを取得するべきではありません。
「警告」は空なので大丈夫です。
"Average は 8 個のオブジェクトを返します。すべてのオブジェクトが 1 週間以上経過しています。悪いです!
"High" は空なので問題ありません。
"Disaster" は 1 個のオブジェクトを返します。このオブジェクトは 1 週間以上経過しています。悪いです!

では、ダッシュボードのエントリのみを取得するにはどうすればよいでしょうか?

4

1 に答える 1