一、环境准备
1. 系统要求
- 操作系统: Ubuntu 20.04/CentOS 7
- 内存: 至少8GB RAM
- CPU: 4核心或以上
- 磁盘: 50GB以上SSD存储空间
2. 安装Java环境
bash# Ubuntu安装OpenJDK
apt-get update
apt-get install openjdk-11-jdk
# 验证Java版本
java -version
二、Elasticsearch安装配置
1. 安装Elasticsearch
bash# 添加Elastic源
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
# 安装
apt-get update
apt-get install elasticsearch
2. 配置Elasticsearch
yaml# 编辑/etc/elasticsearch/elasticsearch.yml
network.host: 0.0.0.0
discovery.type: single-node
cluster.name: log-analysis
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
三、Logstash部署
1. 安装Logstash
bashapt-get install logstash
2. 配置Logstash
conf# /etc/logstash/conf.d/logstash.conf
input {
beats {
port => 5044
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
}
四、Kibana安装与配置
1. 安装Kibana
bashapt-get install kibana
2. 配置Kibana
yaml# 编辑/etc/kibana/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
五、Filebeat配置(日志收集)
1. 安装Filebeat
bashCopyapt-get install filebeat
2. 配置Filebeat
yaml# 编辑/etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/*.log
- /var/log/apache2/*.log
output.logstash:
hosts: ["localhost:5044"]
六、系统优化建议
1. 系统参数优化
bash# 编辑/etc/sysctl.conf
vm.max_map_count=262144
fs.file-max=65536
2. Elasticsearch性能优化
yaml# elasticsearch.yml补充配置
bootstrap.memory_lock: true
indices.memory.index_buffer_size: 30%
七、日志分析实战
1. 创建索引模式
- 访问Kibana界面(http://your-server-ip:5601)
- 进入Stack Management → Index Patterns
- 创建新的索引模式”logstash-*”
2. 创建可视化面板
- 在Kibana中创建新的Dashboard
- 添加各类可视化组件:
- 访问量统计图表
- 错误日志分析
- 地理位置分布图
- 响应时间趋势图
八、监控告警配置
1. 设置Watcher
json{
"trigger": {
"schedule": {
"interval": "5m"
}
},
"input": {
"search": {
"request": {
"indices": ["logstash-*"],
"body": {
"query": {
"bool": {
"must": [
{ "match": { "status": "error" } }
]
}
}
}
}
}
}
}
2. 配置告警通知
- 邮件通知
- Webhook集成
- Slack通知
实施建议
- 分阶段部署
- 先搭建基础ELK架构
- 逐步添加日志源
- 优化分析规则
- 安全考虑
- 启用X-Pack安全功能
- 配置防火墙规则
- 定期备份重要数据
- 性能监控
- 监控各组件资源使用
- 根据需求扩展集群
- 定期清理过期日志
本教程为您提供了在云服务器上搭建ELK Stack日志分析系统的完整指南。您可以根据实际需求调整配置参数,构建适合自己的日志分析平台。后续运维中,建议定期检查系统状态,及时处理性能问题,确保日志分析系统的稳定运行。