[转]docker安装elk
解决:sysctl -w vm.max_map_count=262144
选择镜像
选择docker images(在hub.docker.com 搜索 elk 选择 start或pulls比较多的镜像) 本次安装选择的是 sebp/elk,默认本地已安装docker环境
docker pull sebp/elk
- 选择docker镜像
登录 hub.docker.com 搜索 'elk', 选择stars 和 pulls 比较多的镜像 - 下载镜像
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
- 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
客户端服务器
安装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配置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和端口
- 测试配置文件语法是否正确
/usr/bin/filebeat.sh -configtest /etc/filebeat/filebeat.yml
修改完成后,重启filebeat
/etc/init.d/filebeat restart
访问kibana页面
- 在已经安装filebeat的客户端服务器上,测试日志收集
echo 'test log ......' >> /data/logs/info.log - 在浏览器输入 IP:5601(IP修改为ELK所在服务器的IP地址)创建默认的索引后,可以在web上看到输入的测试日志。
[转]docker安装elk的更多相关文章
- Docker安装ELK并实现JSON格式日志分析
ELK是什么 ELK是elastic公司提供的一套完整的日志收集以及前端展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch.Logstash和Kibana. 其中Logstash ...
- Docker 安装ELK之 zz
Docker 安装ELK之(2) 加新 2018-10-24 16:23:08 浏览2006 docker LOG js Image service 先安装Docker [root@jiaxi ...
- 使用Docker安装ELK系列(超简单)
root权限 docker版本:1.13.1 ELK版本:6.4.3 项目中均关闭X-Pack 一.安装Elasticsearch 新建elasticsearch目录,并再其下新建文件config/e ...
- Docker安装ELK
1.下载elk docker pull sebp/elk 2.启动elk //Elasticsearch至少需要单独2G的内存 //增加了一个volume绑定,以免重启container以后ES的数据 ...
- Docker 安装 ELK
安装 首先安装 Docker 与 Docker-Compose 相关的组件,我们这里直接使用准备好的 ELK 镜像,执行以下命令从 Dockerhub 上拉取指定版本的镜像,在本例当中我使用的是 7. ...
- 【Docker】:docker安装ELK(logstash,elasticsearch,kibana)
一:安装logstash 1.拉取镜像 docker pull logstash:5.6.11 2.创建目录 mkdir /docker/logstash cd /docker/logstash 3. ...
- docker 安装elk
https://www.cnblogs.com/fbtop/p/11005469.html
- Docker 部署ELK
1.安装docker前安装pip sudo yum -y install epel-release sudo yum install python-pip 2.安装docker #安装依赖包 yum ...
- Docker安装部署ELK教程(Elasticsearch+Kibana+Logstash+Filebeat)
Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...
随机推荐
- Python os.chdir() 方法
概述 os.chdir() 方法用于改变当前工作目录到指定的路径. 语法 chdir()方法语法格式如下: os.chdir(path) 参数 path -- 要切换到的新路径. 返回值 如果允许访问 ...
- 016_把普通用户免秘钥加入root用户的几种方式
一.第一种方式. (1) [root@infra-jyallkv-tikv-pps-7 ~]# tail /etc/sudoers## Allows members of the users grou ...
- vue与jquery合作
2017年2月26日 14:59:34 星期日 场景: jquery的$.post, $.get是$.ajax的封装, 是异步的 因此, 有肯能在初始化vue实例的时候, 异步请求的结果还没返回, 这 ...
- freeswitch反注册记录
应用情景: 使用阿里服务器,落地使用本地的模拟线路(O口网关). 1.FreeSWITCH 服务器开一个账号,比如 5000 internal , O口 SIP设置页面按照网关注册 5000 的账号信 ...
- Lua学习总结
由于一些工作上的需要,开始对Lua的学习.之前有JavaScript的基础,而且两者都是脚本语言,所以本总结旨在列出与JavaScript不同的地方,方便后续的回顾和学习.下面进入正题吧! 1.注释 ...
- 转-C语言中.h和.c文件解析
C语言中.h和.c文件解析(很精彩) 简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词 ...
- [Linux]PHP-FPM与NGINX的两种通讯方式
一.通过监听TCP端口通讯 php-fpm.d/www.conf ; The address on which to accept FastCGI requests. ; Valid syntaxes ...
- Python-视图 触发器 事务 存储过程
1.视图2.触发器*** 在某个时间发生了某个事件时 会自动触发一段sql语句3.事务*****4.存储过程***** 5.函数6.备份与恢复*** mysqldump -u -p (库名 [表名] ...
- 2)django-请求生命周期
1)下图是django请求生命周期 2)详细例子
- Android跳转WIFI界面的四种方式
第一种 Intent intent = new Intent(); intent.setAction("android.net.wifi.PICK_WIFI_NETWORK"); ...