azkaban / azkaban

Azkaban workflow manager.
https://azkaban.github.io
Apache License 2.0
4.45k stars 1.59k forks source link

Job log management improvement ideas #1744

Open HappyRay opened 6 years ago

HappyRay commented 6 years ago

Here are my early rough ideas:

Jobs write logs to a log file specified by AZ runtime. Jobs can decide the format and content of the logs. e.g. they can choose log4j, log4j2 etc and their own log4j configs.

AZ web server fetches the logs directly from executors.

Separate AZ logs from job logs.

Separate job logs management/cleanup from the executor directory management/cleanup.

Limit the size of the logs shown in the log UI.

Provide a way for users to download the complete logs.

kunkun-tang commented 6 years ago

The idea sounds good. Do you also want to render users the full log config flexibility? Some log4j configs example is

I think we should provide these support as well. AZ may define a default log4j config, and jobs are able to override part of it.

HappyRay commented 6 years ago

Do you also want to render users the full log config flexibility

Yes. It's part of what I meant by "Jobs can decide the format and content of the logs"

AZ may define a default log4j config, and jobs are able to override part of it.

I think it makes more sense to make this part job type specific. This is not so different from letting each process/application decide about their logging configs. In this context, each job process corresponds to a job type. This part needs to be designed. This is related to the job type re-design we talked about.