Port 5044 is the default Logstash port for the Beats input plugin. Filebeat, Metricbeat, Packetbeat, and other Elastic Beats agents ship logs and metrics to Logstash on port 5044. It uses the Lumberjack protocol with TLS. In the ELK stack, the flow is: Beats → Logstash (5044) → Elasticsearch (9200) → Kibana (5601).
Port Number
5044
Protocol
TCP
Service
Elastic Beats Input
Range
IANA Registered (1024–49151)
Test if Logstash Beats input is accepting connections (will show connected or refused)
curl -v --connect-timeout 3 telnet://localhost:5044Verify Logstash is listening on 5044 and check which process
ss -tlnp | grep 5044Test Filebeat connectivity to Logstash (run on agent machine)
filebeat test output -c /etc/filebeat/filebeat.ymlCheck Logstash logs for Beats input errors or TLS issues
cat /var/log/logstash/logstash-plain.log | grep -i 'beats\|5044\|ssl'filebeat -e -c filebeat.yml
nc -zv logstash.example.com 5044The Beats protocol was introduced by Elastic in 2015 with Filebeat and the Lumberjack protocol (v1/v2). Port 5044 was chosen as the default for Logstash's Beats input plugin. The protocol is a simple binary framing format optimized for log shipping with backpressure (Filebeat pauses when Logstash is overwhelmed). Elastic Agent (2020) consolidates all Beats into a single agent managed by Fleet Server.
Filebeat vs Elastic Agent?
Filebeat: single-purpose log shipper, simple configuration, low resource usage, ships to Logstash (5044) or Elasticsearch directly. Elastic Agent: unified agent replacing all Beats, centrally managed via Fleet Server, handles logs + metrics + security + APM, supports integrations. Use Elastic Agent for new deployments; Filebeat for minimal footprint or when you only need log collection.
How do I enable TLS on the Beats input?
In logstash.conf: input { beats { port => 5044, ssl => true, ssl_certificate => '/path/server.crt', ssl_key => '/path/server.key', ssl_certificate_authorities => ['/path/ca.crt'], ssl_verify_mode => 'force_peer' } }. On Filebeat: output.logstash: hosts: ['logstash:5044'], ssl.certificate_authorities: ['/path/ca.crt'], ssl.certificate: '/path/client.crt', ssl.key: '/path/client.key'.