Pålitligt protokoll för händelseloggning
Reliable Event Logging Protocol ( RELP ), ett nätverksprotokoll för datordataloggning i datornätverk, utökar funktionaliteten hos syslog- protokollet för att ge tillförlitlig leverans av händelsemeddelanden. Det används oftast i miljöer som inte tolererar meddelandeförlust, såsom finansbranschen .
Översikt
RELP använder TCP för meddelandeöverföring. Detta ger grundläggande skydd mot meddelandeförlust, men garanterar inte leverans under alla omständigheter. När en anslutning avbryts kan TCP inte på ett tillförlitligt sätt upptäcka om de senaste meddelandena som skickats faktiskt har nått sin destination. Till skillnad från syslog-protokollet fungerar RELP med en bakkanal som förmedlar information tillbaka till avsändaren om meddelanden som behandlas av mottagaren. Detta gör det möjligt för RELP att alltid veta vilka meddelanden som har tagits emot korrekt, även om en anslutning avbryts.
Historia
RELP utvecklades 2008 som ett tillförlitligt protokoll för rsyslog -till-rsyslog-kommunikation. Som RELP-designern Rainer Gerhards förklarar, var bristen på pålitlig transmission i industristandard syslog en kärnmotivation för att skapa RELP. Ursprungligen ansågs RFC 3195 syslog ta upp denna del i rsyslog, men den led av hög overhead och saknade stöd för nya IETF syslog-standarder (som sedan har publicerats som RFC 5424, men inte namngavs vid den tiden).
Även om RELP från början enbart var avsedd för rsyslog-användning, blev det mer allmänt antaget. [ citat behövs ] För närvarande stöder verktyg både under Linux och Windows RELP. Det finns även interna distributioner för Java. Även om RELP fortfarande inte är formellt standardiserat, har det utvecklats till en industristandard för datorloggning. [ citat behövs ]
Tekniska detaljer
RELP är inspirerad av RFC 3195 syslog och RFC 3080. Under den första anslutningen förhandlar avsändaren och mottagaren sessionsalternativ, som stödd kommandouppsättning eller fönsterstorlek på programnivå. Nätverkshändelsemeddelanden överförs som kommandon, där mottagaren kvitterar varje kommando så snart den har bearbetat det. Sessioner kan stängas av både avsändare och mottagare, men bör vanligtvis avslutas av avsändarsidan. För att underlätta meddelandeåterställning vid avbruten session behåller RELP transaktionsnummer för varje kommando och förhandlar vilka meddelanden som måste skickas om vid återupprättande av sessionen.
Den aktuella versionen av RELP anger inte inbyggt TLS- stöd. Men praktiska distributioner använder omslag runt RELP-sessionen för att tillhandahålla den funktionen. [ citat behövs ]
Genomföranden
Endast offentligt tillgängliga implementeringar listas. Denna lista är inte uttömmande.
- librelp - det ursprungliga C RELP-biblioteket
- rsyslog
- MonitorWare (Windows)
- logstash
- rlp_01 - Java RELP-bibliotek
- jla_01 - RELP Logback Plugin
- jla_04 - Java Util Logging RELP-hanterare
- jla_05 - Log4j RELP Plugin