Ad Widget

Collapse

Problem when creating delayed trigger

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • markosa
    Senior Member
    Zabbix Certified SpecialistZabbix Certified ProfessionalZabbix Certified Expert
    • Aug 2022
    • 104

    #1

    Problem when creating delayed trigger

    I have two trapper items, test and testclear, both use Numeric as data type and I'm trying to create trigger with info-level, this one triggers immediately, then second trigger which is dependant on first on, it should trigger after xx minutes. My problem is, when triggers are created, laterone is triggered immediately.
    Info-level trigger is(depends on warning level trigger):
    Problem: {TRIGGER.VALUE}=0 and last(/testhost/test)=1
    Recovery: {TRIGGER.VALUE}=1 and min(/testhost/testclear,10)=1

    Warning level has:
    last(/testhost/test)=1 and nodata(/testhost/testclear,5m)=1

    When I test with expression constructor that warning-trigger, it works OK

    How it is possible that warning level is triggered when there's no value within test or testclear item's?
    At the moment warning level trigger get's triggered when: item keys are changed or history and trends are cleared from those items.

    Zabbix 6.0.28 MySql
  • markosa
    Senior Member
    Zabbix Certified SpecialistZabbix Certified ProfessionalZabbix Certified Expert
    • Aug 2022
    • 104

    #2
    Ok, looks like no one is using trapper items with delays, neither am I now. Solution was javascript which changes event severity and trigger action.
    Here's javascript:
    Code:
    try {
        var params = JSON.parse(value);
        params.zabbix_url = (params.zabbix_url.endsWith('/'))
            ? params.zabbix_url.slice(0, -1) : params.zabbix_url;
        var evid = params.event_id;
        //evid.stringify(params.event_id);
        Zabbix.log(4, '[ Zabbix change event severity ] : ' + evid);
        var request = new HttpRequest(),
        body = {
            jsonrpc: "2.0",
            method: "event.acknowledge",
            params: {
                eventids: [evid],
                action: 12,
                message: params.msg,
                severity: params.new_severity
            },
            auth: params.api_key,
            id: 1
        };
        request.addHeader('Content-Type: application/json');
        //Zabbix.log(3, '[ Zabbix change event severity ] JSON: ' + JSON.stringify(body));
        var response = request.post(params.zabbix_url, JSON.stringify(body));
        Zabbix.log(4, '[ Zabbix change event severity ] Response: ' + response);
    }
    catch (error) {
        Zabbix.log(3, '[ Zabbix change event severity ] ERROR: ' + error);
        throw 'Sending failed: ' + error;
    }
    and required fields:
    Click image for larger version

Name:	image.png
Views:	155
Size:	38.5 KB
ID:	482344

    Comment

    Working...