在 CentOS 7 上部署 ELK(Elasticsearch、Logstash、Kibana)的步骤如下:
1. 准备工作
-
系统要求:确保 CentOS 7 系统已更新并具备足够的资源(内存建议 4GB 以上)。
-
Java 环境:ELK 需要 Java 环境,建议安装 OpenJDK 11。
安装 OpenJDK 11
sudo yum install -y java-11-openjdk-devel
验证安装:
java -version
2. 安装 Elasticsearch
Elasticsearch 是 ELK 的核心组件,用于存储和检索数据。
添加 Elasticsearch 仓库
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo vi /etc/yum.repos.d/elasticsearch.repo
添加以下内容:
[elasticsearch] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
安装 Elasticsearch
sudo yum install -y elasticsearch
配置 Elasticsearch
编辑配置文件 /etc/elasticsearch/elasticsearch.yml
:
network.host: 0.0.0.0 discovery.seed_hosts: ["127.0.0.1"] cluster.initial_master_nodes: ["127.0.0.1"]
启动并启用 Elasticsearch
sudo systemctl start elasticsearch sudo systemctl enable elasticsearch
验证 Elasticsearch
curl -X GET "localhost:9200/"
如果返回 JSON 数据,说明 Elasticsearch 已成功运行。
3. 安装 Logstash
Logstash 用于收集、处理和转发日志数据。
安装 Logstash
sudo yum install -y logstash
配置 Logstash
创建一个简单的配置文件 /etc/logstash/conf.d/logstash.conf
:
input { beats { port => 5044 } } output { elasticsearch { hosts => ["localhost:9200"] index => "logstash-%{+YYYY.MM.dd}" } stdout { codec => rubydebug } }
启动并启用 Logstash
sudo systemctl start logstash sudo systemctl enable logstash
4. 安装 Kibana
Kibana 是 ELK 的可视化工具,用于展示和分析数据。
安装 Kibana
sudo yum install -y kibana
配置 Kibana
编辑配置文件 /etc/kibana/kibana.yml
:
server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"]
启动并启用 Kibana
sudo systemctl start kibana sudo systemctl enable kibana
访问 Kibana
打开浏览器,访问 http://<服务器IP>:5601
,即可进入 Kibana 界面。
5. 安装 Filebeat(可选)
Filebeat 用于将日志文件发送到 Logstash 或 Elasticsearch。
安装 Filebeat
sudo yum install -y filebeat
配置 Filebeat
编辑配置文件 /etc/filebeat/filebeat.yml
:
filebeat.inputs: - type: log paths: - /var/log/*.log output.logstash: hosts: ["localhost:5044"]
启动并启用 Filebeat
sudo systemctl start filebeat sudo systemctl enable filebeat
6. 验证 ELK 部署
-
在 Kibana 中创建索引模式(如
logstash-*
)。 -
查看日志数据是否成功导入并可视化。
总结
通过以上步骤,你可以在 CentOS 7 上成功部署 ELK 栈。ELK 可以帮助你集中管理和分析日志数据,适合日志监控、故障排查等场景。