Lightweight agent for collecting and forwarding log data from servers to Elasticsearch or Logstash with minimal resource usage.
apt install filebeat -y
# Backup configuration
cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat_backup.yml
# Test connectivity
telnet ELK-SERVER 9200
# Basic testing
filebeat test config
filebeat test output
For collecting custom application logs with manual configuration.
nano /etc/filebeat/filebeat.yml
# filestream input for collecting log files
- type: filestream
id: my-filestream-id
enabled: true
paths:
- /var/log/*.log
- /var/log/syslog
# =================================== Kibana ===================================
setup.kibana:
host: "ELK-SERVER:5601"
# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
hosts: ["ELK-SERVER:9200"]
preset: balanced
protocol: "https"
ssl.certificate_authorities: ["/etc/elasticsearch/certs/http_ca.crt"]
username: "elastic"
password: "abcd@1234"
Using prebuilt Filebeat modules for common log sources — system logs, Nginx, Apache, MySQL.
filebeat modules list
filebeat modules enable system
- module: system
syslog:
enabled: true
var.paths: ["/var/log/syslog*"]
auth:
enabled: true
var.paths: ["/var/log/auth.log*"]
When using modules, only configure outputs and Kibana connection:
setup.kibana:
host: "ELK-SERVER:5601"
output.elasticsearch:
hosts: ["ELK-SERVER:9200"]
username: "elastic"
password: "abcd@1234"
ssl.certificate_authorities: ["/etc/elasticsearch/certs/http_ca.crt"]
filebeat setup -e
systemctl daemon-reload
systemctl enable --now filebeat
systemctl start filebeat
systemctl restart filebeat
systemctl status filebeat
# Test configuration
filebeat test config -e
# List modules
filebeat modules list
# View module configuration
cat /etc/filebeat/modules.d/system.yml
# Enable settings in module
sed -i '/enabled:/s/false/true/' /etc/filebeat/modules.d/system.yml
nano /etc/filebeat/modules.d/system.yml
| Approach | Use Case | Config Required |
|---|---|---|
| Custom filestream | Custom app logs, non-standard paths | Full filebeat.yml with inputs |
| Module-based | Common apps (Nginx, MySQL, System) | Minimal — just outputs & Kibana |
| Direct to Logstash | When additional processing needed | Change output to logstash host:5044 |