日志收集

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. 秘钥分割-Shamir秘钥分割门限方案

    精选: 1.问题的提出 2.需求的抽象: 有一个秘钥S,转换成另一种数据数据形式,分配给12个人(s1,s2,.......,s12),使得任意3个人的数据拼凑在一起就可以反向计算出秘钥S. 3.解决 ...

  2. Spark组件间通信

    1.Spark组件之间使用RPC机制进行通信.RPC的客户端在本地编写并调用业务接口,接口在本地通过RPC框架的动态代理机制生成一个对应的实现类,在这个实现类中完成soket通信.远程调用等功能的逻辑 ...

  3. html网页基本概念

    什么是网页?html文档经过浏览器内核渲染后展示出来的页面(五大主流浏览器及四大内核) html文档文件名后缀是.html,之前存在的.htm是为支持DOM系统(目前织梦还是用.htm文件名结尾文件) ...

  4. P3884 [JLOI2009]二叉树问题

    --------------------- 链接:Miku --------------------- 这一道题只需要在倍增lca的板子上改一改就可以了. 宽度和深度可以在倍增lca的dfs预处理的时 ...

  5. 持续更新phpstorm h和pycharm 激活码

    1.hosts文件写入 0.0.0.0 account.jetbrains.com0.0.0.0 www.jetbrains.com 2.激活码: AHD9079DKZ-eyJsaWNlbnNlSWQ ...

  6. 数据分析----天气预报走向(pygal)

    #!usr/bin/env python #-*- coding:utf-8 _*- """ @author:Administrator @file: 可视化天气预报.p ...

  7. PHP0021:PHP COOKIE 设置修改删除

  8. 全面了解Java中的15种锁概念及机制!

    在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类.介绍的内容如下: 1.公平锁 / 非公平锁 2.可重入锁 / 不可重入锁 3.独享锁 / 共享锁 4.互斥锁 / 读 ...

  9. MySQL表名大小写敏感性

    Linux版MySQL 库名与表名是严格区分大小写的: 表的别名是严格区分大小写的: 列名与列的别名在所有的情况下均是忽略大小写的: 变量名也是严格区分大小写的: 修改步骤如下: 1. 编辑[/etc ...

  10. 最新2019Pycharm安装教程,亲测!最新2019pycharm安装!如何安装Pycharm2019版本!如何安装2019Pycharm永久教程!2019Pycharm永久安装!

    Pycharm安装 在这插一个小话题哈,Pycharm只是一个编译器,并不能代替Python,如果要使用Python,还是需要安装Python的哈 1.Pycharm下载安装 Pycharm下载 Py ...