[
https://bro-tracker.atlassian.net/browse/BIT-1356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=20234#comment-20234
]
Justin Azoff commented on BIT-1356:
-----------------------------------
I wonder if that process is just left over from when bro calls system() to run
the child process...
I'm not sure what to do about this. killing that process is not the best idea,
but there may be a way to wait for it.
I think there is a larger issue here in that log rotation has a number of
problems:
* All logs get rotated+compressed at the same time, causing a CPU/IO Storm
* Logs are compressed on the fly to their destination, then the originals are
removed
* If compression is not in use, logs are copied and then removed (rather than
moved)
* If using something like the sftp handler and sftp fails, nothing is retried.
* Bro is the parent process to all of this.
* If bro crashes logs often end up in a crash directory rather than the proper
location.
I think that the only thing bro should be doing is atomically moving the
current logs to an archive directory or an archive staging directory. The
compression,moving,copying,uploading would be done by an external tool. There
are a number of benefits to this:
* If bro crashes recovering the logs is easy: on startup just move any existing
log files to the staging dir. A bro crash could never result in a partially
compressed/rotated log file
* Compression can be done serially or with limited parallelism rather than all
at once
* You could even delay the compression to idle periods
* Bugs like this would not occur since stopping bro would just require the logs
to be moved, not compressed
> Bro process sticks around after broctl stop
> -------------------------------------------
>
> Key: BIT-1356
> URL: https://bro-tracker.atlassian.net/browse/BIT-1356
> Project: Bro Issue Tracker
> Issue Type: Problem
> Components: BroControl
> Affects Versions: git/master
> Reporter: Johanna Amann
> Assignee: Daniel Thayer
> Fix For: 2.4
>
>
> It seems that after running a "broctl stop" not all bro processes are killed
> immediately. On our cluster, one of the processes keeps running; I seems like
> it eventually terminates after all log-compression is done. Is that on
> purpose or is that a bug?
> Ps output (on the node running the manager, bro process in first line,
> including the running compression jobs for completeness):
> {code}
> $ ps -ax | grep bro
> 23353 - IN 20:06.96 /xa/bro/master/bin/bro -U .status -p broctl -p
> broctl-live -p local -p manager local.bro broctl base/frameworks/cluster
> local-manager.bro broctl/auto
> 24979 - I 0:00.01 bash
> /xa/bro/master/share/broctl/scripts/archive-log http.2015-03-25-14-40-30.log
> http 15-03-25_14.40.30 15-03-25_16.29.29 1 ascii
> 25047 - I 0:00.01 bash
> /xa/bro/master/share/broctl/scripts/archive-log conn.2015-03-25-14-40-30.log
> conn 15-03-25_14.40.30 15-03-25_16.29.29 1 ascii
> 25841 - S 0:00.59 bash
> /xa/bro/master/share/broctl/scripts/post-terminate
> /xa/bro/master/spool/manager
> 29204 0 D+ 0:00.00 grep bro
> {code}
--
This message was sent by Atlassian JIRA
(v6.4-OD-16-006#64014)
_______________________________________________
bro-dev mailing list
[email protected]
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev