日志收集

elk

在node3上操作

docker pull sebp/elk:5610

node3# sysctl vm.max_map_count=262144

node3# docker run -p 5601:5601 -p 9200:9200 -p5044:5044 -it --rm --name elk sebp/elk:5610 #开放相应端口

然后打开 http://192.168.56.13:9200/_search?pretty

下面切换到node1

node1# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.1.1-x86_64.rpm #下载安装filebeat

# rpm -ivh filebeat-6.1.1-x86_64.rpm

# docker run -it -p 80:80 --name ngxin_v2 nginx #运行一台nginx容器

再打开一个会话
node1# vi /etc/filebeat/filebeat.yml #编辑配置文件

修改 24 行为 enabled: true

注释 28 # - /var/log/*.log
在28下新增一行为 - /data/docker/containers/*/*.log
修改 146 行为 hosts: ["192.168.56.13:9200"]

保存退出

node1 # /etc/init.d/filebeat start #启动 filebeat
Starting filebeat (via systemctl): [ OK ]
node1 # /etc/init.d/filebeat status
filebeat.service - filebeat
Loaded: loaded (/usr/lib/systemd/system/filebeat.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2020-02-25 18:05:39 CST; 6s ago
Docs: https://www.elastic.co/guide/en/beats/filebeat/current/index.html
Main PID: 1765 (filebeat)
Tasks: 7
Memory: 3.9M
CGroup: /system.slice/filebeat.service
└─1765 /usr/share/filebeat/bin/filebeat -c /etc/filebeat/filebeat...

node1# for i in {1..10};do curl 127.0.0.1;done #此时刷新几次127.0.0.1

然后打开 http://192.168.56.13:9200/_search?pretty 刷新几次 直到took的数字有过大于0的状态

然后打开http://192.168.56.13:5601 在kibana中的discover中新增index 值为 filebeat-6.1.1-*,新增貌似刷新不出数据,接下来我们再安装fluentd尝试

切换回node3

node3# mkdir /fluentd_log #新建一个给容器挂在用的目录

node3# docker run -d -p 24224:24224 -p 24224:24224/udp -v /fluentd_log:/fluentd/log fluent/fluentd #-v 挂在本地目录到容器

node3 # netstat -tnlpu #检查24224端口是否已经启动了

下面切换回node1,修改node1的driver

node1# vi /etc/docker/daemon.json #编辑配置文件,在文件最后面增加以下段落

"cluster-advertise": "192.168.56.11:2375",
"log-driver": "fluentd",
"log-opts": {
"fluentd-address":"192.168.56.13:24224",
"tag":"linux-node1.example.com"
}
}

node1# systemctl daemon-reload
node1# systemctl restart docker
重载服务

node1# /etc/init.d/filebeat stop #停掉filebeat
Stopping filebeat (via systemctl): [ OK ]

下面切换到node3上

node3# rpm -ivh filebeat-6.1.1-x86_64.rpm #node3上安装filebeat

node3# vi /etc/filebeat/filebeat.yml

修改 24 行为 enabled: true

修改 28 行为 - /fluentd_log/*.log
保存退出

node3# /etc/init.d/filebeat start #启动进程
Starting filebeat (via systemctl): [ OK ]
node3# /etc/init.d/filebeat status

node3# for i in {1..10};do curl 192.168.56.11;done #此时刷新几次node1
如果步骤提示错误,可以先删除node1上的容器,然后重新建一个就可以了

此时再打开http://192.168.56.13:5601 在kibana中的discover 就可以看到日志了,如果看不到日志
先检查宿主机的时间是否正确
时间间隔选择今天 或者 本周试一下
将 index 之修改为 filebeat-6.1.1-当天或者第二天

如果容器内时间不正确,可以通过下面的方法同步时间
docker cp /usr/share/zoneinfo/Asia rongqiid:/usr/share/zoneinfo/Asia
docker exec rongqiid mkdir /usr/share/zoneinfo -p
docker cp /usr/share/zoneinfo/Asia rongqiid:/usr/share/zoneinfo/Asia

journalctl -u docker.service 查看docker引擎日志

Docker ELK+Filebeat安装与配置
https://www.jianshu.com/p/5df9db5cda8f

Docker ELK+Filebeat安装与配置
https://blog.csdn.net/qq_39284787/article/details/78809538

使用Docker快速部署ELK环境 5.5.1版本
https://blog.csdn.net/gongxsh00/article/details/77001603

yum install lrzsz -y

记录 Docker 的学习过程 (日志篇)的更多相关文章

  1. 记录 Docker 的学习过程 (网络篇之跨主机互通)

    下面从node3上操作node3# docker run -d -p 8500:8500 --name consul progrium/consul -server -bootstrap node3# ...

  2. 记录 Docker 的学习过程 (网络篇)

    打开2个会话,分别运行以下命令 # docker run -it -P --name nginx2 nginx #-P 端口随机映射 再打开一个会话查看 运行中的容器 # docker ps -aCO ...

  3. 记录 Docker 的学习过程 (安装基础篇)

    docker 通过内核来实现 特点是效率高 1. centos7 三台(推荐2c 4g 最低 1c1g)2. 关闭防火墙 selinux3. 做好主机名解析,三台能互相ping通主机名host参考文件 ...

  4. 记录 Docker 的学习过程 (数据挂载)

    docker 存储篇 容器中的存储是分层的, 在容器中,如果我们要创建一个文件,会在文件的最上层(可写层)创建 容器中内置的文件,默认来讲是只读的,只有自己创建的文件才是可写状态 比如说 /etc/p ...

  5. 记录 Docker 的学习过程 (单机编排)

    容器的编排 什么是容器的编排?就是让容器有序的启动并在启动的过程加以控制 docker-compose -f bainpaiwenjian.yul up 如果编排文件为默认名称docker-compo ...

  6. 记录 Docker 的学习过程 (自建私有仓库)

    私有仓库的创建 node1#wget http://harbor.orientsoft.cn/harbor-v1.4.0/harbor-offline-installer-v1.4.0.tgz nod ...

  7. 记录 Docker 的学习过程 (dockerfile自动制作镜像)

    自动制作镜像 通过编写dockerfile来自动创建镜像 #vi Dockerfile #编辑dockerfile文件,一定要以这个名字命名 #cat Dockerfile #导入哪个基础镜像FROM ...

  8. .NET日志记录之——log4net划重点篇

    .NET日志记录之--log4net划重点篇 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不 ...

  9. docker之容器日志存储位置及把运行日志记录至文件

    参考:https://www.cnblogs.com/YatHo/p/7866029.html docker启动后日志会在以下位置 /var/lib/docker/containers/容器ID/容器 ...

随机推荐

  1. Codeforces Round447 D树上前缀和

    已知完全二叉树和每条边的权值,q次询问,每次给出sta起点和H. w=(H-点到sta的权值),求w>0的所有w的加和. 这题用树上前缀和来写,e[i]记录子树上的点到点i的距离,sum[i][ ...

  2. 浅析 .NET 中 AsyncLocal 的实现原理

    目录 前言 1.线程本地存储 2.AsyncLocal 实现 2.1.主体 AsyncLocal<T> 2.2.AsyncLocal<T> 在 ExecutionContext ...

  3. redis集群&elasticSearch的认识

    elasticSearch_day01 1. Redis集群 1.1 什么叫集群 多台服务器集中在一起,实现同一业务 1.2 为什么集群 一台服务器不够,需要多台服务器支持,解决高并发,集群往往伴随分 ...

  4. PostgreSQL内核学习笔记十一(索引)

    Index Scan涉及到两部分的内容Heap Only Tuple和index-only-scan. 什么是Heap Only Tuple(HOT)? 例如:Update a Row Without ...

  5. pytest文档32-allure描述用例详细讲解

    前言 pytest+allure是最完美的结合了,关于allure的使用,本篇做一个总结. allure报告可以很多详细的信息描述测试用例,包括epic.feature.story.title.iss ...

  6. Go并发模式代码示例

    演讲稿:Go Concurrency Patterns Youtube视频 作者:Rob Pike 练习题目:谷歌搜索:一个虚拟框架 谷歌搜索1.0 PPT从43页开始:https://talks.g ...

  7. day 8 函数编程_byets

    定义 bytes类型是指一堆字节的集合,在python中以b开头的字符串都是bytes类型 b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88' #b开头的都代表是bytes ...

  8. qt creator源码全方面分析(2-2)

    目录 Common Extension Tasks Common Extension Tasks 本节总结了可用于将UI组件添加到Qt Creator的API函数. 任务 详细 API 添加菜单或菜单 ...

  9. 剑指offer-面试题43-1~n整数中1出现的次数-归纳法

    /* 题目: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数? 为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没 ...

  10. MariaDB(MySQL)创建、删除、选择及数据类型使用详解

    一.MariaDB简介(MySQL简介略过) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行 ...