日志收集

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. PHP0022:PHP SESSION 设置修改删除

  2. hive内置方法一览

    引用 https://www.cnblogs.com/qingyunzong/p/8744593.html#_label0 官方文档 https://cwiki.apache.org/confluen ...

  3. LaTex安装介绍

    写在前面 很多的会议.期刊要求投稿使用LaTex编辑,而不是Word,使用好LaTex后,论文的排版任务确实会变得轻松. 1.下载软件 LaTex有很多衍生版,常用的推荐是Tex live,安装方式选 ...

  4. 二维数组的生成-new的使用

    相关的思路来自于下面这个博客:https://blog.csdn.net/samuelcoulee/article/details/8674388 我们对于其中的一个方案进行了实现与测试——借助new ...

  5. eclipse一直不停building workplace

    找解决方案的时候自己好了 然后又卡在了updating maven project 暂无解

  6. 解决jmeter5.1高版本linux CPU,IO,Memory监控性能测试 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter(Ljava/t

    jmeter中也可以监控服务器的CPU和内存使用情况,但是需要安装一些插件还需要在被监测服务器上开启服务. 安装性能监控插件(jmeter-plugins)后报如下错误,是由于jmeter版本过高jm ...

  7. javascript中DOM获取和设置元素的内容、样式及效果

    getElementById() 根据id获取dom元素 没有找到则返会Null <!DOCTYPE html> <html lang="en"> < ...

  8. ArchLinux下electronssr无法启动的解决措施

    ArchLinux下electronssr无法启动的解决措施 今天重新配置electron-ssr时发现闪退(无法启动). 于是开始查错 首先是找到了目录位置 /usr/electron-ssr/el ...

  9. Spring-微服务

    项目框架 功能模块介绍 Eureka:https://baike.baidu.com/item/Eureka/22402835?fr=aladdin Ribbon:https://www.jiansh ...

  10. 纪中20日c组模拟赛

    赛后感想 多写点东西总是好的,但是在最后,算法就不要改动了(就这样我少了10分) 题解 T1 2121. 简单游戏 T2 2122. 幸运票