记录 Docker 的学习过程 (日志篇)
日志收集
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 的学习过程 (日志篇)的更多相关文章
- 记录 Docker 的学习过程 (网络篇之跨主机互通)
下面从node3上操作node3# docker run -d -p 8500:8500 --name consul progrium/consul -server -bootstrap node3# ...
- 记录 Docker 的学习过程 (网络篇)
打开2个会话,分别运行以下命令 # docker run -it -P --name nginx2 nginx #-P 端口随机映射 再打开一个会话查看 运行中的容器 # docker ps -aCO ...
- 记录 Docker 的学习过程 (安装基础篇)
docker 通过内核来实现 特点是效率高 1. centos7 三台(推荐2c 4g 最低 1c1g)2. 关闭防火墙 selinux3. 做好主机名解析,三台能互相ping通主机名host参考文件 ...
- 记录 Docker 的学习过程 (数据挂载)
docker 存储篇 容器中的存储是分层的, 在容器中,如果我们要创建一个文件,会在文件的最上层(可写层)创建 容器中内置的文件,默认来讲是只读的,只有自己创建的文件才是可写状态 比如说 /etc/p ...
- 记录 Docker 的学习过程 (单机编排)
容器的编排 什么是容器的编排?就是让容器有序的启动并在启动的过程加以控制 docker-compose -f bainpaiwenjian.yul up 如果编排文件为默认名称docker-compo ...
- 记录 Docker 的学习过程 (自建私有仓库)
私有仓库的创建 node1#wget http://harbor.orientsoft.cn/harbor-v1.4.0/harbor-offline-installer-v1.4.0.tgz nod ...
- 记录 Docker 的学习过程 (dockerfile自动制作镜像)
自动制作镜像 通过编写dockerfile来自动创建镜像 #vi Dockerfile #编辑dockerfile文件,一定要以这个名字命名 #cat Dockerfile #导入哪个基础镜像FROM ...
- .NET日志记录之——log4net划重点篇
.NET日志记录之--log4net划重点篇 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不 ...
- docker之容器日志存储位置及把运行日志记录至文件
参考:https://www.cnblogs.com/YatHo/p/7866029.html docker启动后日志会在以下位置 /var/lib/docker/containers/容器ID/容器 ...
随机推荐
- MYSQL5.7进阶之主从复制
主从复制是msql数据库的高可用 读写分离 容灾备份 等的基本要求 在这主从复制之前我们需要准备以下条件 保证master数据库和从数据库的mysql版本一致 matser和从数据防火墙关闭 数据库端 ...
- ansible基本使用(一)
ansible是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量 ...
- Galactic Collegiate Programming Contest Gym - 101572G 模拟
#include<bits/stdc++.h> using namespace std; int n,m; struct node { int id; int slove; int pen ...
- PHP0020:PHP 单文件上传 多文件上传
- pads无模命令
W<n>………改变线宽,比如 30. 栅格(Grids) G<xx>………过孔和设计栅格设置.GD<xx>………显示栅格设置.GP………打开或关闭极性栅格.GP r ...
- 安装TensorFlow失败
ERROR: Could not find a version that satisfies the requirement tensorflow==2.1.0 (from versions: non ...
- 【Debian学徒记事】Debian快速呼出Terminal终端
Debian快速呼出Terminal终端 书接上回,Debian已经安装完毕 失踪的Ctrl+Alt+T 安装完毕启动,我发现了剑很诡异的事,Ctrl+Alt+T居然失灵了 (在多次测试后发现,Deb ...
- STL-set&&multiset 集合
#include <iostream> #include <cstdio> #include <set> // 仿函数的原型 //struct greaters / ...
- python下timer定时器常用的两种实现方法
方法一,使用线程中现成的: 这种一般比较常用,特别是在线程中的使用方法,下面是一个例子能够很清楚的说明它的具体使用方法: #! /usr/bin/python3 #! -*- conding: u ...
- 轻量级RPC设计与实现第四版
在本版本中引入了SPI机制,关于Java的SPI机制与Dubbo的SPI机制在以前的文章中介绍过. 传送门:Dubbo的SPI机制与JDK机制的不同及原理分析 因为设计的RPC框架是基于Spring的 ...