问题: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上看到输入的测试日志。

[转]docker安装elk的更多相关文章

  1. Docker安装ELK并实现JSON格式日志分析

    ELK是什么 ELK是elastic公司提供的一套完整的日志收集以及前端展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch.Logstash和Kibana. 其中Logstash ...

  2. Docker 安装ELK之 zz

    Docker 安装ELK之(2)   加新 2018-10-24 16:23:08 浏览2006 docker LOG js Image service   先安装Docker [root@jiaxi ...

  3. 使用Docker安装ELK系列(超简单)

    root权限 docker版本:1.13.1 ELK版本:6.4.3 项目中均关闭X-Pack 一.安装Elasticsearch 新建elasticsearch目录,并再其下新建文件config/e ...

  4. Docker安装ELK

    1.下载elk docker pull sebp/elk 2.启动elk //Elasticsearch至少需要单独2G的内存 //增加了一个volume绑定,以免重启container以后ES的数据 ...

  5. Docker 安装 ELK

    安装 首先安装 Docker 与 Docker-Compose 相关的组件,我们这里直接使用准备好的 ELK 镜像,执行以下命令从 Dockerhub 上拉取指定版本的镜像,在本例当中我使用的是 7. ...

  6. 【Docker】:docker安装ELK(logstash,elasticsearch,kibana)

    一:安装logstash 1.拉取镜像 docker pull logstash:5.6.11 2.创建目录 mkdir /docker/logstash cd /docker/logstash 3. ...

  7. docker 安装elk

    https://www.cnblogs.com/fbtop/p/11005469.html

  8. Docker 部署ELK

    1.安装docker前安装pip sudo yum -y install epel-release sudo yum install python-pip 2.安装docker #安装依赖包 yum ...

  9. Docker安装部署ELK教程(Elasticsearch+Kibana+Logstash+Filebeat)

    Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...

随机推荐

  1. zTree:一个依靠 jQuery 实现的多功能 “树插件”

    官方网站: http://www.treejs.cn/v3/main.php#_zTreeInfo 使用方式: 步骤1.文件准备 将需要使用的 zTree v3.x 相关的 js.css.img 文件 ...

  2. hibernate框架学习之Session管理

    Session对象的生命周期 lHibernate中数据库连接最终包装成Session对象,使用Session对象可以对数据库进行操作. lSession对象获取方式: •加载所有配置信息得到Conf ...

  3. Chrome表单文本框自动填充黄色背景色样式

    chrome表单自动填充后,input文本框的背景会变成偏黄色的,这是由于chrome会默认给自动填充的input表单加上input:-webkit-autofill私有属性,然后对其赋予以下样式: ...

  4. TX2 开发套件串口

    TX2的底板上有三个串口,位于J21的ttyTHS1,位于J17的ttyTHS2和给蓝牙使用的ttyTHS3. ttyTHS1是控制台串口(serial console),再启动的时候会通过它打印一系 ...

  5. nginx 403 forbidden

    2018年3月9日14:11:59 总结一下: 1. 查看目录或者文件是否是可读可执行 2. 查看nginx配置的server -> location -> index指令, 看其列出的入 ...

  6. sql拼接显示table的多个列

    SELECT DeptName AS text,CONVERT(VARCHAR(10),ID)+','+DeptCode+','+ISNULL(Remark,'') AS tags,'' AS hre ...

  7. PHP中使用Redis长连接笔记

    pconnect函数声明 其中time_out表示客户端闲置多少秒后,就断开连接.函数连接成功返回true,失败返回false: pconnect(host, port, time_out, pers ...

  8. RemoveDuplicatesfromSortedList

    给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1->2->3-&g ...

  9. U盘权限不足,只读文件系统

    https://blog.csdn.net/baocheng_521/article/details/77161791 用第一种方式成功

  10. http之理解304

    原文:http://www.cnblogs.com/ziyunfei/archive/2012/11/17/2772729.html 如果客户端发送的是一个条件验证(Conditional Valid ...