ELK

ELK是Elasticsearch、Logstash、Kibana的缩写,使用ELK的原因是因为公司使用Spring cloud部署了多个微服务,不同的微服务有不同的日志文件,当生产上出现问题是不能及时排查,所以使用Logstash手机日志,Elasticsearch实现全文检索,Kibana作为显示与分析。

当然同样优秀的还有graylog但是都是基于Elasticsearch,所以这里选用ELK

修改服务器配置

#因为对内存有要求所以
vim /etc/sysctl.conf
# 添加下面配置
vm.max_map_count=655360
# 编辑完,使命令生效
sysctl -p # 编辑文件
vi /etc/security/limits.conf
# 修改并加入下面配置
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

Elasticsearch

首先在官网查询到最新版本

docker pull elasticsearch:7.2.0

启动es

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" --name elasticsearch -d elasticsearch

安装ik分词器

#进入容器
docker exec -it 容器id /bin/bash
#进入plugins目录
cd /usr/share/elasticsearch/plugins/
#下载ik分词器
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
#解压
unzip -d ik-analysis elasticsearch-analysis-ik-7.2.0.zip
#删除压缩包(切记删除或移动到其他目录否则无法启动)
rm -rf elasticsearch-analysis-ik-7.2.0.zip
#退出容器
exit
#重启容器
docker restart 容器id

允许跨域

#进入
/usr/share/elasticsearch/config/elasticsearch.yml
#添加
http.cors.enabled: true
http.cors.allow-origin: "*"

Kibana

下载镜像

docker pull kibana:7.2.0

查看es内部ip

docker inspect 容器id
#找到NetworkSettings.IPAddress

运行容器

docker run --name kibana --link elasticsearch:elasticsearch -p 5601:5601 -d kibana:7.2.0
#官方推荐以上方式,如果es不是docker容器可以采用以下方式
-e ELASTICSEARCH_HOSTS=http://ip:9200

Filebeat

下载包

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.2.0-linux-x86_64.tar.gz

解压

tar -xzvf filebeat-7.2.0-linux-x86_64.tar.gz

修改filebeat.yml

filebeat.inputs:
- type: log
enabled: true
paths:
- /tmp/log/*.log
output.logstash:
enabled: true
hosts: ["logstash IP:5044"]

启动

#前台启动
./filebeat -e -c filebeat.yml
#后台启动
nohup ./filebeat -e -c filebeat.yml > filebeat.log &
#结束进程
ps -ef |grep filebeat
kill -9 进程号

Logstash

docker下载

docker pull logstash:7.2.0

启动

docker run -p 5044:5044 -p 9600:9600 -d --name logstash logstash:7.2.0

进入容器

docker exec -it -u 0 logstash /bin/bash

删除示例

rm -rf logstash-sample.conf

重启

docker restart logstash

最新文章

  1. 学习AOP之深入一点Spring Aop
  2. Struts2的OGNL表达式语言
  3. 【POJ 1279】Art Gallery
  4. 第3章 rpm命令管理
  5. MSP430常见问题之指令系统类
  6. P1417 烹调方案
  7. WPF Image触摸移动方法
  8. java基础之高级应用
  9. spring 整合quartz的方式——简单介绍
  10. mybatis 批量插入值的sql
  11. Struts2的概述和入门
  12. 基于python的web应用开发-添加关注者
  13. docker容器日志收集方案汇总评价总结
  14. 通用Mapper简单使用
  15. awk和sed
  16. Atcoder Grand 006 C-Rabbit Exercise
  17. python 搜索引擎Whoosh中文文档和代码 以及jieba的使用
  18. 细说C#继承
  19. redis从入门到放弃 -> 简介&概念
  20. hadoop-2.7.1:Error: Cannot find configuration directory: /etc/hadoop

热门文章

  1. Spark学习之路(一)—— Spark简介
  2. JS中的闭包 详细解析大全(面试避必考题)
  3. asp.net core系列 67 Web压力测试工具WCAT
  4. 字符串匹配Boyer-Moore算法:文本编辑器中的查找功能是如何实现的?---这应该讲的最容易懂的文章了!
  5. 补习系列(22)-全面解读 Spring Profile 的用法
  6. Sending Operations to Multiple Threads_翻译
  7. STM32F072从零配置工程-自定义时钟配置详解
  8. Java连载6-变量的要求
  9. Spring Cloud Alibaba | Sentinel: 服务限流基础篇
  10. CitusDB UPSERT