6.3.1版本elk+redis+filebeat收集docker+swarm日志分析

最近公司比较忙,没来的及更新博客,今天为大家更新一篇文章,elk+redis+filebeat,这里呢主要使用与中小型公司的日志收集,如果大型公司

可以参考上面的kafka+zookeeper配合elk收集,好了开始往上怼了;

Elk为了防止数据量突然键暴增,吧服务器搞奔溃,这里需要添加一个redis,让数据输入到redis当中,然后在输入到es当中

Redis安装:

#!/bin/bash

# 6379  Redis-Server

tar zxf redis-3.0.0-rc5.tar.gz

yum install gcc-c++ make cmake -y

mkdir /usr/local/redis

mv redis-3.0.0-rc5 /usr/local/src/

cd /usr/local/src/redis-3.0.0-rc5 && make PREFIX=/usr/local/redis install && make install

cp /usr/local/src/redis-3.0.0-rc5/utils/redis_init_script /etc/init.d/redis

mkdir /usr/local/redis/conf

cp /usr/local/src/redis-3.0.0-rc5/redis.conf /usr/local/redis/conf/6379.conf

sed -i 's|CONF="/etc/redis/${REDISPORT}.conf"|CONF="/usr/local/redis/conf/${REDISPORT}.conf"|g' /etc/init.d/redis

sed -i 's|EXEC=/usr/local/bin/redis-server|EXEC=/usr/local/redis/bin/redis-server|g' /etc/init.d/redis

sed -i 's|CLIEXEC=/usr/local/bin/redis-cli|CLIEXEC=/usr/local/redis/bin/redis-cli|g' /etc/init.d/redis

sed -i 's|pidfile /var/run/redis.pid|pidfile /var/run/redis_6379.pid|g'  /usr/local/redis/conf/6379.conf

sed -i 's|dir ./|dir /usr/local/redis/conf|g' /usr/local/redis/conf/6379.conf

/etc/init.d/redis start &

sleep 5

然后修改点配置

然后重新启动服务:

接下来开始配置filebeat的配置文件:

filebeat.prospectors:

- type: log

enabled: true

paths:

- /var/log/docker-nginx/access_json.log

fields:

type: 192.168.9.36-nginx

- type: log

enabled: true

paths:

- /var/log/docker-tomcat/catalina.out

fields:

type: 192.168.9.36-tomcat

#    include_lines: ['ERROR','WARN']

#    exclude_lines: ['DEBUG']

output.redis:

enabled: true

hosts: ["192.168.9.142"]

port: 6379

db: 0

timeout: 6s

key: "192.168.9.36"

max_retries: 3

然后启动:

nohup ./filebeat -e -c filebeat.yml > /dev/null &

注意如果要测试一下数据有没有进入redis当中,就不要启动logstash,不然会直接从redis当中取走了,所以这里不启动,可以访问一下容器

在redis当中查看:

如果要是启动了logstash那么数据就呗取走了:

input {

redis{

data_type => "list"

host => "192.168.9.142"

port => "6379"

key => "192.168.9.36"

}

}

filter{

date{

match=>["logdate","MMM dd HH:mm:ss yyyy"]

target=>"@timestamp"

timezone=>"Asia/Shanghai"

}

ruby{

code =>"event.timestamp.time.localtime+8*60*60"

}

}

output {

elasticsearch {

hosts => ["http://192.168.9.142:9200"]

#默认使用[@metadata][beat]来区分不同的索引,也就是filebeat中配置的index字段

#index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"

#我使用自定义fields字段来区分不同的索引

index => "%{[fields][type]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"

}

}

启动可以看到redis中没有数据了

其实数据已经到了es当中,在kibana 当中可以显示出来了

原文地址:http://blog.51cto.com/xiaorenwutest/2156097

时间: 2024-10-09 16:11:39

6.3.1版本elk+redis+filebeat收集docker+swarm日志分析的相关文章

ELK学习实验018:filebeat收集docker日志

Filebeat收集Docker日志 1 安装docker [[email protected] ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 [[email protected] ~]# yum update [[email protected] ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/d

Elk+filebeat收集docker集群swarm中的nginx和tomcat容器的日志信息

前言: 之前有说过elk收集nginx日志, 现在来说一下收集容器集群的日志收集Elk的安装这里不在说了,上来直接怼, 这里是elk的服务器:的服务状态:以及端口 Logstash是主要的配置内容这里: 如下 input { beats { port => 5044 } } filter { if "nginx-accesslog" in [tags] { grok { match => { "message" => "%{HTTPDAT

ELK服务搭建(开源实时日志分析ELK平台部署)(低版本—简单部署)

开源实时日志分析ELK平台部署 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总. 集中化管理日志后,日志的

[Big Data - ELK] ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自: http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这

日志系统之基于flume收集docker容器日志

最近我在日志收集的功能中加入了对docker容器日志的支持.这篇文章简单谈谈策略选择和处理方式. 关于docker的容器日志 docker 我就不多说了,这两年火得发烫.最近我也正在把日志系统的一些组件往docker里部署.很显然,组件跑在容器里之后很多东西都会受到容器的制约,比如日志文件就是其中之一. 当一个组件部署到docker中时,你可以通过如下命令在标准输出流(命令行)中查看这个组件的日志: docker logs ${containerName} 日志形如: 但这种方式并不能让你实时获

elk+redis+filebeat

#安装elasticsearch-5.3.1.tar.gz(单节点安装) tar xf elasticsearch-5.3.1.tar.gz cd elasticsearch-5.3.1 vim config/elasticsearch.yml #修改配置文件 path.data: /data/elas/data #数据目录 path.logs: /data/elas/logs network.host: 0.0.0.0 #允许哪个IP访问 http.port: 9200 修改系统参数以确保系统

elk6.3.1+zookeeper+kafka+filebeat收集dockerswarm容器日志

前面有说过使用redis来缓解elk的数据接受压力,但是呢,如果redis面对突发情况也会承受不住的,这里需要借助两个工具,zookeeper和kafka Zookeeper主要值借助分布式锁,保证事务的不变,原子性隔离性... Kafka消息队列,从生产这到filebeta再到消费这logstash接受到es中,起到缓存,减缓压力 来吧开始往上怼了 首先下载zookeeper和卡夫卡 wget http://mirrors.hust.edu.cn/apache/zookeeper/zookee

ELK + Filebeat +Nginx 集中式日志分析平台(一)

一.环境准备 本次我们采用 yum 官方仓库进行安装,之前采用 rpm 包安装的文档大家请看 http://blog.51cto.com/wzlinux/2175836 . 1.软件版本 Filebeat 6.5.1Logstash 6.5.1Elasticsearch 6.5.1Kibana 6.5.1JDK 1.8.0_181 2.服务器准备 IP 系统 角色 172.18.8.200 CentOS 7.5 Minimal Elasticsearch + Kibana 172.18.8.20

ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总. 集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事