[comment]: # ({9b69cf77-8c8b2e0b})
# 4 Trigeru labākā prakse

[comment]: # ({/9b69cf77-8c8b2e0b})

[comment]: # ({93fa4fb9-814b1677})
Trigeri ir jaudīgs rīks, taču tie var arī radīt nevēlamu brīdinājumu troksni. Lai redzētu vairāk reālu signālu un mazāk trokšņa, ievērojiet šos ieteikumus:

1. Samaziniet trigeru jutību. Tā vietā, lai brīdinātu par jaunāko vērtību (pārāk augsta/pārāk zema), analizējiet vidējo vērtību ilgākā periodā, izmantojot tādas funkcijas kā **`avg`**, **`min`** un **`max`**.

2. Apsveriet iespēju izmantot funkciju **`percentile`** trigeros (iestatiet to uz 95% vai 5%), ja vēlaties izvairīties no brīdinājumiem nejaušu pīķu un kritumu dēļ.

3. Izmantojiet [histērēzi](#hysteresis), lai izvairītos no trigeru stāvokļa svārstībām — biežām trigera stāvokļa izmaiņām (OK ↔ Problem). Problēmas stāvokļa nepārtrauktību var definēt, pievienojot atkopšanas izteiksmi (atsevišķu nosacījumu problēmas atrisināšanai).

4. Izmantojiet trigeru [atkarības](/manual/config/triggers/best_practices/dependencies), lai izvairītos no brīdinājumiem, kas nav saistīti ar pamatcēloni.

5. Izmantojiet trigera [nopietnību](/manual/config/triggers/best_practices/severity), lai brīdinātu tikai par nopietnākajām problēmām.

6. Definējiet [apkopes](/manual/maintenance) logus.

[comment]: # ({/93fa4fb9-814b1677})

[comment]: # ({bae4792f-3f1b1c81})
#### Histerēze

Dažkārt starp problēmas un atkopšanas stāvokļiem ir nepieciešams intervāls, nevis vienkārša robežvērtība.
Piemēram, ja vēlamies definēt trigeri, kas ziņo par problēmu, kad servera telpas temperatūra pārsniedz 20°C, un vēlamies, lai tas paliktu problēmas stāvoklī, līdz temperatūra nokrītas zem 15°C, ar vienkāršu trigera robežvērtību 20°C nepietiks.

Tā vietā vispirms ir jādefinē trigera izteiksme problēmas notikumam (temperatūra virs 20°C).
Pēc tam ir jādefinē papildu atkopšanas nosacījums (temperatūra zem 15°C).
Tas tiek izdarīts, definējot *Atkopšanas izteiksmi*, [konfigurējot](/manual/config/triggers/trigger) trigeri.

Šajā gadījumā problēmas atkopšana notiek divos soļos:

-   Vispirms problēmas izteiksmei (temperatūra virs 20°C) jānovērtējas kā FALSE
-   Pēc tam atkopšanas izteiksmei (temperatūra zem 15°C) jānovērtējas kā TRUE

Atkopšanas izteiksme tiek novērtēta tikai pēc tam, kad problēmas notikums ir atrisināts. Tas vien, ka atkopšanas izteiksme ir TRUE, neatrisina problēmu, ja problēmas izteiksme joprojām ir TRUE!

[comment]: # ({/bae4792f-3f1b1c81})

[comment]: # ({fe73812a-942a7e0e})
**Piemērs**

Temperatūra servera telpā ir pārāk augsta.

Problēmas izteiksme:

```default
last(/server/temp)>20
```

Atkopšanas izteiksme:

```default
last(/server/temp)<=15
```

:::noteclassic
Nav lietderīgi izmantot makrosu {TRIGGER.VALUE} atkopšanas izteiksmē, jo šī izteiksme tiek novērtēta tikai tad, kad trigeris ir "Problēma" stāvoklī. Līdz ar to, novērtējot izteiksmi, {TRIGGER.VALUE} vienmēr tiks atrisināts kā "1" (kas norāda uz "Problēma" stāvokli).
:::

[comment]: # ({/fe73812a-942a7e0e})
