1. 首页 > Linux教程 > 正文

Linux教程FG368-日志分析ELK Stack实战

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

本文档风哥主要介绍ELK Stack日志分析系统的部署和使用方法,包括Elasticsearch、Logstash、Kibana的配置和日志分析。

Part01-基础概念与理论知识

1.1 ELK Stack组件

# 组件介绍
Elasticsearch:搜索和分析引擎
Logstash:日志收集和处理
Kibana:可视化界面
Beats:轻量级日志收集器

# 数据流
Beats -> Logstash -> Elasticsearch -> Kibana

Part02-生产环境规划与建议

2.1 ELK架构设计

# 单节点架构
适合测试环境,所有组件部署在一台服务器

# 集群架构
Elasticsearch集群:3个以上节点
Logstash:独立部署
Kibana:独立部署
Beats:部署在各应用服务器

Part03-生产环境项目实施方案

3.1 Elasticsearch部署

# 安装Elasticsearch
$ sudo rpm –import https://artifacts.elastic.co/GPG-KEY-elasticsearch
$ sudo cat > /etc/yum.repos.d/elasticsearch.repo << 'EOF' [elasticsearch] name=Elasticsearch repository baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 EOF $ sudo dnf install elasticsearch -y # 配置Elasticsearch $ sudo vi /etc/elasticsearch/elasticsearch.yml cluster.name: my-cluster node.name: node-1 network.host: 0.0.0.0 discovery.seed_hosts: ["192.168.1.10", "192.168.1.11"] cluster.initial_master_nodes: ["node-1"] # 启动服务 $ sudo systemctl start elasticsearch $ sudo systemctl enable elasticsearch # 验证 $ curl http://localhost:9200 { "name" : "node-1", "cluster_name" : "my-cluster", "version" : { "number" : "8.12.0" } }

3.2 Kibana部署

# 安装Kibana
$ sudo dnf install kibana -y

# 配置Kibana
$ sudo vi /etc/kibana/kibana.yml
server.port: 5601
server.host: “0.0.0.0”
elasticsearch.hosts: [“http://localhost:9200”]

# 启动服务
$ sudo systemctl start kibana
$ sudo systemctl enable kibana

# 访问Web界面
http://localhost:5601

3.3 Filebeat配置

# 安装Filebeat
$ sudo dnf install filebeat -y

# 配置Filebeat
$ sudo vi /etc/filebeat/filebeat.yml
filebeat.inputs:
– type: log
enabled: true
paths:
– /var/log/*.log
– /var/log/nginx/*.log

output.elasticsearch:
hosts: [“localhost:9200”]

# 启用模块
$ sudo filebeat modules enable nginx

# 启动服务
$ sudo systemctl start filebeat
$ sudo systemctl enable filebeat

# 验证数据
$ curl ‘localhost:9200/_search?pretty’

Part04-生产案例与实战讲解

4.1 案例:Nginx日志分析

# 场景:分析Nginx访问日志

# 1. 配置Filebeat收集Nginx日志
$ sudo filebeat modules enable nginx
$ sudo vi /etc/filebeat/modules.d/nginx.yml
– module: nginx
access:
enabled: true
var.paths: [“/var/log/nginx/access.log*”]
error:
enabled: true
var.paths: [“/var/log/nginx/error.log*”]

# 2. 加载索引模板
$ sudo filebeat setup –index-management -E output.logstash.enabled=false -E ‘output.elasticsearch.hosts=[“localhost:9200”]’

# 3. 重启Filebeat
$ sudo systemctl restart filebeat

# 4. 在Kibana中创建索引模式
# 访问Kibana -> Management -> Index Patterns -> Create

# 5. 创建可视化图表
# Visualize -> Create visualization -> Select index pattern

# 6. 创建仪表板
# Dashboard -> Create dashboard -> Add visualizations

风哥提示:

Part05-风哥经验总结与分享

ELK Stack是强大的日志分析平台,建议根据数据量合理规划集群规模,配置索引生命周期管理,定期清理历史数据,避免存储空间不足。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息