Pređi na glavni sadržaj

Logovi

Semaphore upisuje serverske logove na stdout, a logove zadataka (Task) i aktivnosti (Activity) čuva u bazi podataka, čime centralizuje ključne informacije iz logova i eliminiše potrebu za posebnim pravljenjem rezervnih kopija log fajlova. Jedini podaci koji se čuvaju na fajl sistemu su keš podaci.


Serverski log​

Semaphore ne loguje u fajlove. Umesto toga, svi logovi aplikacije upisuju se na stdout.
Ako Semaphore radi kao systemd servis, logove možete pregledati sledećom komandom:

journalctl -u semaphore.service -f

Ako Semaphore radi u Docker kontejneru, logove možete pregledati sledećom komandom:

docker logs -f my-semaphore-container

Ovo daje pregled logova uživo (u realnom vremenu).


Log aktivnosti​

Log aktivnosti beleži korisničke radnje izvršene u Semaphore-u, uključujući:

  • Dodavanje ili uklanjanje resursa (npr. šablona, inventara, repozitorijuma).
  • Dodavanje ili uklanjanje članova tima.

Pro verzija 2.10 i novije Pro​

Semaphore Pro 2.10+ podržava upisivanje loga aktivnosti i loga zadataka u fajl. Da biste ovo omogućili, dodajte sledeću konfiguraciju u svoj config.json:

{
"log": {
"events": {
"enabled": true,
"logger": {
"filename": "./events.log"
// other logger options
}
},
"tasks": {
"enabled": true,
"logger": {
"filename": "./tasks.log"
// other logger options
},
"result_logger": {
"filename": "./task_results.log"
// other logger options
}
}
}
}

Ili to možete uraditi pomoću sledećih promenljivih okruženja:

export SEMAPHORE_EVENT_LOG_ENABLED=True
export SEMAPHORE_EVENT_LOGGER={"filename": "./events.log"}

export SEMAPHORE_TASK_LOG_ENABLED=True
export SEMAPHORE_TASK_LOGGER={"filename": "./tasks.log"}

Opcije logovanja aktivnosti (događaja)​

Opcije logovanja aktivnosti (događaja) omogućavaju vam da podesite kako Semaphore beleži korisničke radnje i sistemske događaje u fajl. Ova podešavanja kontrolišu ponašanje logovanja događaja, uključujući to da li je uključeno, format zapisa u logu i konkretna podešavanja logera. Kada je uključeno, korisničke radnje poput kreiranja šablona ili upravljanja timovima upisuju se u navedeni log fajl u skladu sa ovim podešavanjima.

ParametarPromenljive okruženjaOpis
enabledSEMAPHORE_EVENT_LOG_ENABLEDUključuje logovanje događaja u fajl.
formatSEMAPHORE_EVENT_LOG_FORMATFormat zapisa u logu. Ostavite prazno za sirovi format ili postavite na json.
loggerSEMAPHORE_EVENT_LOGGEROpcije logera.

Opcije logovanja zadataka​

Opcije logovanja zadataka omogućavaju vam da podesite kako Semaphore beleži detalje izvršavanja zadataka u fajl. Ova podešavanja kontrolišu logovanje događaja vezanih za zadatke, uključujući pokretanje zadataka, njihov završetak i status izvršavanja. Kada je uključeno, sve operacije nad zadacima i njihovi ishodi upisuju se u navedeni log fajl u skladu sa ovim podešavanjima, što daje detaljan revizioni trag istorije izvršavanja zadataka.

ParametarPromenljive okruženjaOpis
enabledSEMAPHORE_TASK_LOG_ENABLEDUključuje logovanje zadataka u fajl.
formatSEMAPHORE_TASK_LOG_FORMATFormat zapisa u logu. Ostavite prazno za sirovi format ili postavite na json.
loggerSEMAPHORE_TASK_LOGGEROpcije logera.
result_loggerSEMAPHORE_TASK_RESULT_LOGGEROpcije logera.

Opcije logera​

ParametarTipOpis
filenameStringPutanja i naziv fajla u koji se upisuju logovi. Rezervne kopije log fajlova čuvaju se u istom direktorijumu. Ako je prazno, koristi se processname-lumberjack.log u privremenom direktorijumu.
maxsizeIntegerMaksimalna veličina log fajla u megabajtima pre nego što se rotira. Podrazumevano je 100 megabajta.
maxageIntegerMaksimalan broj dana čuvanja starih log fajlova na osnovu vremenske oznake zapisane u njihovom nazivu. Imajte u vidu da se dan definiše kao 24 sata i ne mora tačno odgovarati kalendarskim danima zbog letnjeg računanja vremena, prestupnih sekundi itd. Podrazumevano se stari log fajlovi ne uklanjaju na osnovu starosti.
maxbackupsIntegerMaksimalan broj starih log fajlova koji se čuvaju. Podrazumevano se čuvaju svi stari log fajlovi (mada MaxAge i dalje može dovesti do njihovog brisanja).
localtimeBooleanOdređuje da li se za formatiranje vremenskih oznaka u rezervnim fajlovima koristi lokalno vreme računara. Podrazumevano se koristi UTC vreme.
compressBooleanOdređuje da li rotirane log fajlove treba komprimovati pomoću gzip-a. Podrazumevano se kompresija ne vrši.

Svaki red u fajlu ima sledeći format:

2024-01-03 12:00:34 user=234234 object=template action=delete

Istorija zadataka​

Semaphore čuva informacije o izvršavanju zadataka u bazi podataka. Istorija zadataka pruža detaljan pregled svih izvršenih zadataka, uključujući njihov status i logove. Zadatke možete pratiti u realnom vremenu ili pregledati istorijske logove kroz veb interfejs.

Podešavanje zadržavanja zadataka​

Podrazumevano Semaphore čuva sve zadatke u bazi podataka. Ako pokrećete veliki broj zadataka, oni mogu zauzeti značajan prostor na disku.

Broj zadataka koji se zadržavaju po šablonu možete podesiti na jedan od sledećih načina:

  1. Promenljiva okruženja
    SEMAPHORE_MAX_TASKS_PER_TEMPLATE=30
  2. Opcija u config.json
    {
    "max_tasks_per_template": 30
    }

Kada broj zadataka premaši ovo ograničenje, najstariji logovi zadataka se automatski brišu.


Podrška za syslog protokol Enterprise​

Semaphore može da prosleđuje zapise iz loga aktivnosti i loga zadataka spoljnom syslog kolektoru radi dugoročnog čuvanja ili centralizovanog nadzora. Prosleđivanje na syslog je podrazumevano isključeno.

Podesite syslog podršku u config.json:

"syslog": {
"enabled": true,
"network": "udp",
"address": "logs.example.com:514",
"tag": "semaphore"
}

Iste opcije su dostupne i preko promenljivih okruženja ako ne želite da menjate JSON fajl:

SEMAPHORE_SYSLOG_ENABLED=true
SEMAPHORE_SYSLOG_NETWORK=udp
SEMAPHORE_SYSLOG_ADDRESS=logs.example.com:514
SEMAPHORE_SYSLOG_TAG=semaphore

Syslog opcije​

ParametarPromenljive okruženjaOpis
enabledSEMAPHORE_SYSLOG_ENABLEDUključuje ili isključuje prosleđivanje na syslog.
networkSEMAPHORE_SYSLOG_NETWORKProtokol kojim se pristupa kolektoru, npr. udp ili tcp.
addressSEMAPHORE_SYSLOG_ADDRESSAdresa kolektora u formatu host:port.
tagSEMAPHORE_SYSLOG_TAGOpcioni identifikator koji se dodaje na početak svake poruke.

Ponovo pokrenite Semaphore servis nakon izmene ovih vrednosti da bi se primenilo novo syslog odredište.


SIEM integracija​

Prijave i izmene naloga, na primer novi korisnici, uloge i API tokeni, mogu da se beleže u dnevnik revizije. Semaphore Pro može da ga šalje u SIEM.

Rezime​

  • Serverski log: Upisuje se na stdout; može se pregledati pomoću journalctl ako radi pod systemd-om.
  • Log aktivnosti i zadataka: Prati sve korisničke radnje. Opciono, Pro 2.10+ može da ih upisuje u fajl.
  • Istorija zadataka: Čuva logove izvršavanja zadataka u realnom vremenu i istorijske logove. Zadržavanje se podešava po šablonu.
  • Dnevnik revizije: Beleži prijave i izmene naloga. Podrazumevano je isključen.

Pridržavanje ovih smernica obezbeđuje vam odgovarajući uvid u rad Semaphore UI uz kontrolu zauzeća prostora i zadržavanja logova.