Erich Stoekl
04/28/2020, 6:59 PM--verbose
and --tls_dump
to see all data. I see that the osquery node is polling the read endpoint (api/v1/osquery/distributed/read
) with the correct node key. It usually just gets back an empty queries:
response. Sometimes, however, it gets the proper query and runs it! It seems to run it about 10% of the time.
Also notable is that creating packs/scheduling queries works 100% of the time.
My Fleet server is deployed behind an HAProxy LB. The LB uses its own certificates (signed, wildcard), and my Fleet server uses self-signed certs. The osquery node is using the public key pem
file for the LB cert, and it enrolls properly.
Anyone have any ideas?Artem
04/29/2020, 11:15 AMJose
04/30/2020, 5:26 AMSeán O'Halloran
04/30/2020, 7:07 PMjoe_antony1
05/01/2020, 6:48 AMmoosa aslam
05/02/2020, 12:56 AMfleet
are you using (fleet version --full
)?
fleet - version 2.6.0
What operating system are you using?
Ubuntu 16.04
What did you do?
Connecting osqeuryd with fleet, both fleet and osquery are on same machine followed this guide
https://github.com/kolide/fleet/blob/master/docs/infrastructure/README.md
sudo /usr/bin/osqueryd
--enroll_secret_path=/var/osquery/enroll_secret
--tls_server_certs=/var/osquery/server.pem (this file is downloaded from web page of fleet)
--tls_hostname=192.168.1.195:8080
--host_identifier=hostname
--enroll_tls_endpoint=/api/v1/osquery/enroll
--config_plugin=tls
--config_tls_endpoint=/api/v1/osquery/config
--config_refresh=10
--disable_distributed=false
--distributed_plugin=tls
--distributed_interval=3
--distributed_tls_max_attempts=3
--distributed_tls_read_endpoint=/api/v1/osquery/distributed/read
--distributed_tls_write_endpoint=/api/v1/osquery/distributed/write
--logger_plugin=tls
--logger_tls_endpoint=/api/v1/osquery/log
--logger_tls_period=10john
05/02/2020, 3:33 AMErich Stoekl
05/04/2020, 11:01 PMconn.WriteJSON
messages here in the code).
After that, however, I see the websocket stays open but only h
is received every 25 seconds. Please see my attached image.
I know that I should see the total
, status
, and result
be received by this websocket when it is operating properly. I have a screenshot attached of this proper operation as well: I can get it to work when I am not using the Load Balancer.
My question is -- how can I debug this scenario? Is it hanging inside this goroutine for loop? I am not very familiar with golang so I am having trouble putting in print statements (tried putting in fmt.PrintLn
statements, but they never showed up in the server logs).
PS - Seeing as it works without HAProxy but does not work with HAProxy, I suspected it was a timeout issue. I set tunnel timeout settings on my HAProxy, but that did not help either. It seems the websocket connection is established, but the result data does not come through.PJ Meyer
05/06/2020, 3:32 PMaby
05/06/2020, 7:19 PMVishnuVardhan
05/07/2020, 6:55 PMLawrence D'Anna
05/07/2020, 9:46 PMErich Stoekl
05/08/2020, 4:19 PMErich Stoekl
05/08/2020, 10:55 PMvaar
05/11/2020, 10:08 AMBJF
05/11/2020, 1:09 PMErich Stoekl
05/11/2020, 4:17 PMErich Stoekl
05/11/2020, 4:17 PMpirxthepilot
05/13/2020, 1:18 AMJulia Oliveira
05/13/2020, 4:30 PMjussiu
05/14/2020, 2:00 PMgrahamgilbert
05/14/2020, 4:35 PMErich Stoekl
05/14/2020, 7:35 PMJulia Oliveira
05/14/2020, 9:58 PMJulia Oliveira
05/14/2020, 9:59 PMdoggles
05/18/2020, 10:36 AMErich Stoekl
05/18/2020, 8:13 PMvaar
05/18/2020, 10:08 PMpoisonous97
05/19/2020, 8:15 AMwkleinhenz
05/19/2020, 3:53 PM