Lab 14: Logstash & Filebeat — Log Pipeline
Overview
Architecture
┌──────────────────────────────────────────────────────────────────┐
│ Log Shipping Pipeline │
│ │
│ Application Servers: │
│ ┌─────────────────────────────────────────────┐ │
│ │ /var/log/nginx/access.log ──► Filebeat │ │
│ │ /var/log/app/app.log ──► (port 5044) │ │
│ │ /var/log/syslog ──► │ │
│ └─────────────────────────┬───────────────────┘ │
│ │ Beats protocol (TLS) │
│ ▼ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Logstash :5044 (Beats input) │ │
│ │ ┌──────────────────────────────────────┐ │ │
│ │ │ FILTER pipeline: │ │ │
│ │ │ 1. grok → parse raw log line │ │ │
│ │ │ 2. date → parse timestamp field │ │ │
│ │ │ 3. mutate → rename/add/remove fields│ │ │
│ │ │ 4. geoip → enrich IP with location │ │ │
│ │ └──────────────────────────────────────┘ │ │
│ │ Output: Elasticsearch :9200 │ │
│ └──────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────┐ │
│ │ Elasticsearch :9200 (index: logs-*) │ │
│ └──────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘Step 1: Verify Filebeat and Logstash Package Availability
Step 2: Configure filebeat.yml
Step 3: Logstash Pipeline — Input and Filter
Step 4: Real Log Parsing Verification (Python grok simulation)
Step 5: Grok Pattern Reference
Step 6: Logstash Configuration Files
Step 7: Filebeat Modules
Step 8: Capstone — Production Pipeline Validation
PreviousLab 13: Elasticsearch & Kibana — Log IndexingNextLab 15: Capstone — Full Observability Stack
Last updated
