elk日志分析系统包括
Elasticsearch(E)几乎实时的日志查询引擎
Logstash(L)读取日志,对日志进行分析过滤
Kibana(K)图形界面
ELK系统日志处理流程
第一部分:部署docker-ce(社区版)以及elk
1.拉取docker源
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.部署docker的加速器
到阿里云控制台找到容器镜像服务,镜像工具,镜像加速器
3.启动docker以及镜像加速器
systemctl restart docker
systemctl enable docker
bash ***.sh
4.拉取elk镜像(也可自己制作dockerfile)
docker pull sebp/elk
5.修改虚拟内存最大数
sysctl -w vm.max_map_count=262144
若不修改可能会出现如下报错
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
6.部署filebeat
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.4-x86_64.rpm
rpm -ivh filebeat-6.5.4-x86_64.rpm
其他版本的filebeat参考网址Filebeat quick start: installation and configuration | Filebeat Reference [8.3] | Elastic
7.运行一个elk容器,此处依据网络情况选择运行命令
docker run -it -p 5044:5044 -p 5601:5601 -p 9200:9200 -p 9300:9300 -p 9600:9600 --name elk sebp/elk
若出现上述位置失败
则使用host网络运行,该模式注意镜像与宿主机的端口冲突(5044、5601、9200、9300、9600)
docker run -it --network=host --name elk sebp/elk
8.编辑配置文件
vim /etc/filebeat/filebeat.yml
类型修改为log,enable为true,path为日志收集路径
9.重启filebeat
systemctl restart filebeat
10.浏览器访问部署elk节点的ip和端口
ip:5601
第二部分:elk使用
1.浏览器访问ip:5601后显示如下页面,找到manage permissions
2.创建index
3.选择你需要的数据类型
4.若为添加数据源信息,依据容器操作提示即可
5.若为自定义(自定义需要确定自己的index是什么,此处我的filebeat与配置文件应该是不一致,但没有找到)
指定 index pattern 为 filebeat-*,这与 Elasticsearch 中的 index一致。(此处显示filebeat-*有报错,具体原因不明,失败)
6.右侧为官方提供的部分索引源,复制某一个进行演示配置正确index的情况
7.创建完成后,点击Discover
8.依据需要进行查看
9.保存的索引删除