一、什么是ELK日志系统?
ELK是Elasticsearch、Logstash和Kibana三个开源软件的简称,是一套完整的日志收集、存储、分析和可视化解决方案。
三大组件的功能分别是:
- Elasticsearch:分布式搜索和分析引擎,负责存储和检索日志数据
- Logstash:数据处理管道,负责收集、过滤和传输日志数据
- Kibana:数据可视化平台,提供直观的图表展示和分析功能
二、云服务器环境准备
在开始搭建前,我们需要准备一台云服务器,建议配置:
- 操作系统:Ubuntu 20.04 LTS
- CPU:2核以上
- 内存:4GB以上
- 磁盘:50GB以上
确保服务器已开通以下端口:
- 9200(Elasticsearch HTTP API)
- 5601(Kibana Web界面)
三、详细安装步骤
1. 安装Java环境
sudo apt update
sudo apt install openjdk-11-jdk
java -version
2. 安装Elasticsearch
添加Elasticsearch仓库和安装:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install elasticsearch
3. 配置Elasticsearch
编辑配置文件:
sudo nano /etc/elasticsearch/elasticsearch.yml
修改以下内容:
network.host: 0.0.0.0
discovery.type: single-node
4. 安装Logstash
sudo apt-get install logstash
5. 安装Kibana
sudo apt-get install kibana
四、系统启动与验证
启动各组件服务:
sudo systemctl start elasticsearch
sudo systemctl start logstash
sudo systemctl start kibana
验证安装是否成功:
- 访问 http://服务器IP:9200 查看Elasticsearch状态
- 访问 http://服务器IP:5601 进入Kibana界面
五、性能优化建议
1. JVM调优:调整Elasticsearch和Logstash的JVM参数
2. 索引策略:设置合理的索引滚动策略和生命周期管理
3. 日志过滤:在Logstash中配置grok模式提取关键字段
4. 访问控制:配置Nginx反向代理和基本认证保护Kibana
六、常见问题解决
问题1:Elasticsearch启动失败
解决:检查/var/log/elasticsearch/elasticsearch.log日志,常见原因是JVM内存不足
问题2:Kibana无法连接Elasticsearch
解决:检查kibana.yml中的elasticsearch.hosts配置是否正确
