Hi Sushan,
I think that embedding a local OSSEC into every container is not the best approach, IMHO. In fact, the Docker's "best practices" guideline recommends to have one process per container, this could mean one service per container.
Since agents can auto-register via ossec-authd, you could run a single manager with Authd. Containers may include an agent that auto-registers and sends logs to that manager.
I did some experiments with a configuration like this:
- Container for pure manager (remoted + analysisd) and Filebeat.
- Container for Authd (auto registration), sharing folder /var/ossec/etc.
- Container for Elasticsearch.
- Container for Kibana.
You may choose between embed an agent into each container, or as John said, configure containers to write the stdout into the host's syslog and install a single local OSSEC on the host. On the other hand, this option would make hard to do file integrity monitoring.
Best regards.