[Flume - Sources]
Flume supports a wide variety of sources like tail, syslog and log4j. Tail is a Unix command which outputs the last few lines of the file. syslog is a standard for logging messages in Unix. Every application in Unix sends logs to syslog. log4j is the logging framework for Java applications.
Flume provides two types of delivery reliability - Best-effort and end-to-end. Best-effort delivery does not tolerate any node failures while end-to-end guarantees delivery even in the event of node failures.