Nvds_logger in docker container

I am using the nvcr.io/nvidia/deepstream-l4t:4.0.2-19.12-base image.

I have added the --cap-add SYSLOG tag to my docker run command (actually to my docker-compose file) but I still do not see any of these logs when i run docker logs. Is there another step I need to have nvds_logger redirected to stdout?

Sorry for late!

Do you mean you don’t see the DeepStream log in the syslog outside of your docker?

Thanks!

No, when i run docker logs my_container i don’t see any of the logs from nvds_logger. My understanding is that docker logs is attached to stdout by default. So I either need to redirect the nvds_logger logs to stdout, or attach the destination for those nvds_logger logs to the docker engine. I doesn’t seem like just adding --caps-add SYSLOG does either of these, but I may be missing something.

Hi @mattcarp88
Can you provide your setup info as other topic?

Can you provide the fully command you run?

Thanks!

I am using the nvcr.io/nvidia/deepstream-l4t:4.0.2-19.12-base image.

I have added the --cap-add SYSLOG tag to my docker run command. I do not see any of the ds_logs in the output of docker logs, which my understanding is just STDOUT of the main process running in the docker container.

Can you explain how nvds_logger is setup in the container by default? Not using the container, I can setup the logger by first running the setup_nvds_logger.sh script provided. This sets up to send all the ds_logs to /tmp/nvds/ds.log. However when running deepstream in the container, I don’t see this file, nor do I see the /etc/rsyslog.d/11-nvds.conf file.

Can you explain how to get the nvds_logger logs from inside the docker container?

Can’t get your point.

Refer to https://docs.nvidia.com/metropolis/deepstream/dev-guide/index.html#page/DeepStream%20Plugins%20Development%20Guide/deepstream_plugin_details.html#wwpID0E0QC0HA, the log outputs to /tmp/nvds/ by default.

// launch the docker
$ docker run --gpus all -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w
nvcr.io/nvidia/deepstream:5.0-20.07-triton

// go into docker
# /opt/nvidia/deepstream/deepstream-5.0/sources/tools/nvds_logger/setup_nvds_logger.sh
// then you can see  /tmp/nvds folder
# cd /opt/nvidia/deepstream/deepstream-5.0/sources/libs/kafka_protocol_adaptor
# make   // generate  libnvds_kafka_proto.so
# make -f  Makefile.test   // generate  test_kafka_proto_sync , and test_kafka_proto_async
# ./test_kafka_proto_async
// then you find the log in /tmp/nvds/ds.log 

What else do you want?

That script does not exist in the docker image.

Furthermore, the instructions on the NGC page for the docker image only say to add the --add-cap SYSLOG, nothing about executing the script in the container.

it exists in 5.0GA docker, please upgarde to DS5.0GA docker,