ELK日志分析系统(1)-基本环境搭建
1. 概述
elk = elasticsearch + logstash + kibana
elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放rest和java api等结构提供高效搜索功能,可扩展的分布式系统。它构建于apache lucene搜索引擎库之上。
logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 rabbitmq)和jmx,它能够以多种方式输出数据,包括电子邮件、websockets和elasticsearch。
kibana是一个基于web的图形界面,用于搜索、分析和可视化存储在 elasticsearch指标中的日志数据。它利用elasticsearch的rest接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据。
2. 服务管理
2.1. docker-compose配置
compose的配置文件路径:docker-elk/docker-compose.yml
可以根据需要设置compose的相关参数
2.2. 启动容器
cd docker-elk
# 后台启动
docker-compose up -d
# 查看容器
elasticsearch 开放9200,9300端口
logstash开放5000-5001、9600、5044的tcp端口
kibana开放5601端口
验证elasticsearch安装成功:http://192.168.1.165:9200, 如果有如下显示表示安装成功:
验证kibana安装成功:http://192.168.1.165:5601, 如果有如下显示表示安装成功:
2.2. 关闭容器
sudo docker-compose down -v
-v表示清空数据卷,会elasticsearch存储的数据卷清空
2.2. 重启容器
sudo docker-compose restart不清空数据卷
任意修改elk的配置的时候都需要重启