问题:virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解决:sysctl -w vm.max_map_count=262144
 
 
打开防火墙

选择镜像

选择docker images(在hub.docker.com 搜索 elk 选择 start或pulls比较多的镜像) 本次安装选择的是 sebp/elk,默认本地已安装docker环境
docker pull sebp/elk

  1. 选择docker镜像
    登录 hub.docker.com 搜索 'elk', 选择stars 和 pulls 比较多的镜像
  2. 下载镜像
    docker pull sebp/elk

启动docker容器

    docker run --ulimit nofile=65536:65536 -p 5601:5601 -p 9200:9200 -p 5044:5044 -p 5045:5045 -p 5046:5046 -d --restart=always -v /etc/logstash:/etc/logstash -v /etc/localtime:/etc/localtime --name elk sebp/elk
参数介绍
    --ulimit  来修改容器的ulimit参数(该镜像默认的ulimit值为4096。 不带该参数,启动容器会出现类似 “max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]” 错误)
-p 指定容器和宿主机映射端口
5601: kibana服务端口 HTTP (web访问)
9200: Elasticsearch 开发端口 HTTP,保存数据到Elasticsearch中使用
5044: logstash 收集日志端口 TCP
-v 挂载目录 可以将logstash 的配置文件挂载在宿主机的目录上, 方便随时修改。挂载 /etc/localtime 该目录是为了保证容器和宿主机的时区相同。

配置logstash

  1. logstash 配置文件所在路径 /etc/logstash/conf.d/logstash.conf
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
}
}

修改完配置文件后,执行如下命令来重启logstash
docker exec elk /etc/init.d/logstash restart

客户端服务器

  1. 安装filebeat
    Debian/Ubuntu:
    curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.3.2-amd64.deb
    sudo dpkg -i filebeat-5.3.2-amd64.deb
    Redhat/Centos/Fedora:
    curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.3.2-x86_64.rpm
    sudo rpm -vi filebeat-5.3.2-x86_64.rpm

  2. 配置filebeat (默认文件路径 /etc/filebeat/filebeat.yml)
    filebeat.prospectors:
    - input_type: log
    document_type: info
    paths:
    - /data/logs/info.log
    output.logstash:
    hosts: ["localhost:5044"]

paths 需要收集的日志文件路径
hosts: logstash 服务IP和端口

  1. 测试配置文件语法是否正确
    /usr/bin/filebeat.sh -configtest /etc/filebeat/filebeat.yml
    修改完成后,重启filebeat
    /etc/init.d/filebeat restart

访问kibana页面

  1. 在已经安装filebeat的客户端服务器上,测试日志收集
    echo 'test log ......' >> /data/logs/info.log
  2. 在浏览器输入 IP:5601(IP修改为ELK所在服务器的IP地址)创建默认的索引后,可以在web上看到输入的测试日志。

最新文章

  1. javaScript生成二维码(支持中文,生成logo)
  2. java代码实现队列的优化
  3. 非对称加密算法-RSA
  4. 简单linux块设备驱动程序
  5. 常用JS加密编码算法
  6. android系统平台显示驱动开发简要:LCD常用接口篇『二』
  7. cocos2d-x 2.x版本中,场景切换各方法调用顺序
  8. mysql explain 命令简解
  9. NUTZ中处理系统未捕获异常
  10. BZOJ2141: 排队
  11. mysql全日志(general log)的命令名称
  12. vue-cli项目使用mock数据的方法(借助express)
  13. SA vs NSA
  14. linux服务器,发现大量TIME_WAIT
  15. leetcode-algorithms-10 Regular Expression Matching
  16. .Net Core开发环境迁移到Linux
  17. spring源代码分析
  18. 【CJOJ2433】陌上花开 树状数组套替罪羊树
  19. es6常见特性
  20. tp5 的nginx配置

热门文章

  1. Windows下return,exit和ExitProcess的区别和分析
  2. thinkphp验证码不显示
  3. Alpha冲刺(8/10)
  4. 【原创】Linux基础之测试域名IP端口连通性
  5. mvc session设置时间不起作用
  6. Hystrix浅谈
  7. HAProxy从零开始到掌握
  8. TCP和UDP的对比
  9. Windows Service 2012 R2 下如何建立ftp服务器
  10. Confluence 6 禁用或者重新启用一个任务