ELK
E elasticsearch 生成
近乎实时查询的全文搜索引擎
L logstash 收集
读取原始日志并对其进行分析和过滤再把结果转给其他组件
K kibana 可视化
一个基于java脚本的web图形界面
注:至少需要4G内存
实验步骤
先将sysctl vm.max_map_count 需要修改为262144
sysctl -w vm.max_map_count=262144
进行下载镜像并且进行创建容器
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -itd -e ES_HEAP_SIZE="2g" -e LS_HEAP_SIZE="1g" --name elk sebp/elk
访问网址
本机ip:5601
下载filebeat的源码包
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.0.0-x86_64.rpm
解压源码包
rpm -ivh filebeat-7.0.0-x86_64.rpm
修改filebeat的配置文件
修改filebeat配置文件enabled true
反斜杠搜索filebeat input 修改
paths /var/lib/docker/containers/*/*-json.log
反斜杠搜索Elasticsearch output修改下面的hosts为本机IP
反斜杠搜索Kibana 修改下面的hosts 为本机的ip
filebeat modules enable elasticsearchilebeat setup 开启filebeat
Fluentd 万能数据采集器(需要filebeat)
先进行安装
docker search fluentd
开启并运行采集器
docker run -d -p 24224:24224 -p 24224:24224/udp -v /data:/fluentd/log fluent/fluentd
修改配置文件
vi /etc/filebeat/filebeat.yml
添加路径/var/*.log
重启filebeat
如果要使用fluentd则添加容器要添加这些参数
--log-driver fluentd --log-opt fluentd-address=localhost:24224 --log-opt tag="起的一个别名易于搜索"