Używamy narzędzia Rundeck do skanowania plików dziennika w poszukiwaniu usługi i podejmujemy działania w zależności od tego, co się tam znajduje. Zasadniczo dla każdego znalezionego elementu, dla którego nie istnieją rekordy, inicjowane jest repozytorium git i wywoływanych jest kilka punktów końcowych odpoczynku, ale nie o to chodzi.
Konfigurujemy zadanie do uruchomienia zgodnie z planem, powiedzmy co kilka godzin, i do wysyłania powiadomień o niepowodzeniach, a dodatkowo do wysyłania powiadomień o sukcesach tylko wtedy, gdy zostało wykonane co najmniej jedno działanie (tj. Skrypt powłoki we wprowadzonym zadaniu pętla przynajmniej raz). Skrypt jest napisany w taki sposób, że emituje dane wyjściowe na standardowym wyjściu tylko wtedy, gdy zostaną znalezione elementy do wykonania.
Czy jest jakiś sposób na wywołanie powiadomienia o tym wymaganiu? Lub sposób na napisanie skryptu bez pisania wtyczki od zera?
Jednym z możliwych obejść byłoby wyłączenie wyzwalacza powiadomienia o awarii i sprawienie, aby skrypt zwracał wartość niezerową w przypadku braku działań, ale nie czuję się z tym dobrze.
źródło
Odpowiedzi:
Sposób, w jaki mogłem myśleć to:
Pisanie własnej wtyczki ze strony przykładowej wtyczki powiadomienia może być sposobem na dostosowanie przykładowego kodu powiadomienia .
Wyłączanie powiadomień o sukcesie w rundeck i obsługa części powiadomienia o sukcesie w samym skrypcie. W ten sposób Twoim obowiązkiem jest ostrzeżenie skryptu, że zrobił coś w normalnym stanie, i nadal obowiązkiem jest ostrzeżenie, że skrypt nie powiódł się.
źródło
Udało mi się obejść ten problem w nieco podejrzany sposób, zmieniając polecenie na:
To przepuszcza wyjście
grep
i kończy się niepowodzeniem, jeśli w ogóle jest jakieś wyjście, alegrep
nadal je przepuszcza, więc nadal możesz zobaczyć wyjście w Rundeck po awarii.Jedną wadą jest to, że uważam, że tracisz puste wiersze, ale nie wysyłamy żadnych, więc nic wielkiego dla nas, i to nas przewróci, dopóki nie będziemy mogli zaktualizować aplikacji, aby zakończyć z odpowiednim kodem wyjścia.
źródło