run#
mock http server#
build images#
cd $HOME/devops-insider/docs/source/observability/log/fluentbit/test-http-output
export DOMAIN_NAME=localhost
export DAYS_VALID=100
openssl \
req -x509 \
-nodes \
-subj "/CN=${DOMAIN_NAME}}" \
-addext "subjectAltName=DNS:${DOMAIN_NAME}" \
-days ${DAYS_VALID} \
-newkey rsa:2048 -keyout ./self-signed.key \
-out ./self-signed.crt
docker build . -f nginx.Dockerfile -t nginx-self-signed
run mock#
docker network create httpbin
docker stop httpbin
docker rm httpbin
docker run -it -d -p 8081:80 --network=httpbin --privileged --name=httpbin --hostname=httpbin kennethreitz/httpbin
curl -X POST "http://localhost:8081/post" -H "accept: application/json"
docker stop nginx
docker rm nginx
docker run -d -p 444:443 --network=httpbin --privileged --name=nginx --hostname=nginx \
-v $HOME/devops-insider/docs/source/observability/log/fluentbit/test-http-output/etc/nginx/conf.d:/etc/nginx/conf.d \
--link httpbin nginx-self-signed
docker exec nginx curl -v -k -X POST "http://httpbin/post"
docker exec nginx curl -v -k -X POST "https://localhost/post" -H "accept: application/json"
curl -v -k -X POST "http://localhost:8080/post" -H "accept: application/json"
docker logs -f httpbin
docker logs -f nginx
curl -v -k -X POST "https://localhost:444/post" -H "accept: application/json"
run fluent-bit#
cd ${HOME}/opensource/fluent-bit/build/bin
${HOME}/opensource/fluent-bit/build/bin/fluent-bit -v --config=${HOME}/devops-insider/docs/source/observability/log/fluentbit/test-http-output/fluentbit-http.conf
debug#
c->u_conn->u->net->io_timeout
tls_net_write@0x000055555560a33d (/home/mark/opensource/fluent-bit/src/tls/openssl.c:442)
flb_tls_net_write_async@0x000055555560abd4 (/home/mark/opensource/fluent-bit/src/tls/flb_tls.c:278)
flb_io_net_write@0x0000555555618dba (/home/mark/opensource/fluent-bit/src/flb_io.c:421)
flb_http_do@0x000055555561b5c8 (/home/mark/opensource/fluent-bit/src/flb_http_client.c:1183)
http_post@0x000055555569571c (/home/mark/opensource/fluent-bit/plugins/out_http/http.c:248)
cb_http_flush@0x0000555555696aeb (/home/mark/opensource/fluent-bit/plugins/out_http/http.c:594)
output_pre_cb_flush@0x00005555555dbb0e (/home/mark/opensource/fluent-bit/include/fluent-bit/flb_output.h:517)
co_init@0x000055555598104b (/home/mark/opensource/fluent-bit/lib/monkey/deps/flb_libco/amd64.c:117)
??@0x0000000000000000 (Unknown Source:0)
tls_net_read@0x000055555560a19d (/home/mark/opensource/fluent-bit/src/tls/openssl.c:405)
flb_tls_net_read_async@0x000055555560a9fc (/home/mark/opensource/fluent-bit/src/tls/flb_tls.c:203)
flb_io_net_read@0x000055555561902f (/home/mark/opensource/fluent-bit/src/flb_io.c:465)
flb_http_do@0x000055555561b78e (/home/mark/opensource/fluent-bit/src/flb_http_client.c:1233)
http_post@0x000055555569571c (/home/mark/opensource/fluent-bit/plugins/out_http/http.c:248)
cb_http_flush@0x0000555555696aeb (/home/mark/opensource/fluent-bit/plugins/out_http/http.c:594)
output_pre_cb_flush@0x00005555555dbb0e (/home/mark/opensource/fluent-bit/include/fluent-bit/flb_output.h:517)
co_init@0x000055555598104b (/home/mark/opensource/fluent-bit/lib/monkey/deps/flb_libco/amd64.c:117)
??@0x0000000000000000 (Unknown Source:0)
breakpoints#
set scheduler-locking step
catch syscall read
Catchpoint 16 (syscall 'read' [0])
catch syscall readv
catch syscall write
catch syscall clone
break start_thread
break pthread_create
condition <breakpoint_number> condition
catch syscall
Catchpoint 17 (any syscall)
condition 17 ($_thread == 4 || $_thread == 5)
if $_thread == 1
debug symbol#
sudo apt install libssl-dev