ELK日志(4)

news2025/1/15 6:39:05

搭建filebeat+redis+logstash+es+kibana架构,拓扑图参考ELK(3)

  1. 安装redis,并启动

(1)准备安装和数据目录

[root@es ~]# mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}

(2)下载redis安装包

这里我已经提前下载好了,所以直接跳过此步。如没有安装包执行下面命名下载。

wget http://download.redis.io/releases/redis-5.0.7.tar.gz

(3)解压redis到/opt/redis_cluster/

[root@es ~]# tar zxf /media/redis-5.0.7.tar.gz -C /opt/redis_cluster/
[root@es ~]# ln -s /opt/redis_cluster/redis-5.0.7  /opt/redis_cluster/redis

(4)切换目录安装redis

[root@es ~]# cd /opt/redis_cluster/redis
[root@es redis]# make && make install 

(5)编写配置文件

[root@es redis]# vim /opt/redis_cluster/redis_6379/conf/6379.conf
添加:
bind 127.0.0.1 192.168.8.1
port 6379
daemonize yes
pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid
logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log
databases 16
dbfilename redis.rdb
dir /opt/redis_cluster/redis_6379

(6)启动当前redis服务

[root@es redis]# redis-server /opt/redis_cluster/redis_6379/conf/6379.conf
  1. web主机修改filebeat配置文件,output给redis

(参考文档:https://www.elastic.co/guide/en/beats/filebeat/6.6/index.html)

(1)修改filebeat配置output指向redis,重启

[root@web ~]# vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
  json.keys_under_root: true
  json.overwrite_keys: true
  tags: ["access"]
 
- type: log
  enabled: true
  paths:
    - /var/log/nginx/error.log
  tags: ["error"]
 
setup.template.settings:
  index.number_of_shards: 3
 
setup.kibana:
 
output.redis:
  hosts: ["192.168.8.1"]        //指向redis地址
  key: "filebeat"
  db: 0
  timeout: 5
[root@web ~]# systemctl restart filebeat

(2)es主机测试访问网站,登录redis,查看键值

测试前需要先用client主机ab工具发出请求,而后使用redis命令查看。

[root@client ~]# ab -n 100 -c 20 http://192.168.8.2/index.html

redis-cli #登录
keys * #列出所有键
type filebeat #filebeat为键值名
LLEN filebeat #查看list长度
LRANGE filebeat 0 -1 #查看list所有内容

  1. 安装logstash,收集redis的日志,提交给es

(1)安装logstash

[root@es ~]# rpm -ivh /media/elk-6.6/logstash-6.6.0.rpm

(2)配置logstash

[root@es ~]# vim /etc/logstash/conf.d/redis.conf
添加:
input {
  redis {
    host => "192.168.8.1"
    port => "6379"
    db => "0"
    key => "filebeat"
    data_type => "list"
  }
}
 
filter {
  mutate {
    convert => ["upstream_time","float"]
    convert => ["request_time","float"]
  }
}
 
output {
  stdout {}
  elasticsearch {
    hosts => ["http://192.168.8.1:9200"]
    index => "nginx_access-%{+YYYY.MM.dd}"
    manage_template => false
  }
}

(3)启动logstash

执行下面命令后,redis中的数据将会被取走。

[root@es ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/redis.conf &

下图中看到先执行llen命令,可以看到数据还存在,稍等片刻等待被取走,出现红框中的内容后,再次查看,数据已经被取走了。

(4)修改logstash配置文件,实现access和error日志分离

[root@es ~]# vim /etc/logstash/conf.d/redis.conf
添加:
input {
  redis {
    host => "192.168.8.1"
    port => "6379"
    db => "0"
    key => "filebeat"
    data_type => "list"
  }
}
 
filter {
  mutate {
    convert => ["upstream_time","float"]
    convert => ["request_time","float"]
  }
}
 
output {
  stdout {}
   if "access" in [tags] {
    elasticsearch {
      hosts => ["http://192.168.8.1:9200"]
      index => "nginx_access-%{+YYYY.MM.dd}"
      manage_template => false
    }
   }
   if "error" in [tags] {
    elasticsearch {
      hosts => ["http://192.168.8.1:9200"]
      index => "nginx_error-%{+YYYY.MM.dd}"
      manage_template => false
    }
   }
}
[root@es ~]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/redis.conf &

启动后在client主机创建多个连接数测试,刷新elasticsearch查看请求数量(数量较多,稍等片刻)。

[root@client ~]# ab -n 10000 -c 1000 http://192.168.8.2/index.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/162647.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CES 2023:推动低碳化与数字化,英飞凌塑造可持续未来

在参展CES 2023的3200多家企业当中,英飞凌虽然在规模上还比不上某些国际科技巨头,但是其展示的内容却相当引人瞩目。作为一家创立于1999年的高科技企业,英飞凌在全球总计拥有56个研发机构,20个生产工厂,其技术实力之雄…

fiddler 抓手机的包

目录 一、fiddler抓手机包的介绍 二、一个前提,及配置 1.前提 2.前提配置 三、两大步 1.设置fiddler 2.设置手机 一、fiddler抓手机包的介绍 Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器&#xff…

分享111个JavaScript源码,总有一款适合您

JavaScript源码 分享111个JavaScript源码,总有一款适合您 源码下载链接:https://pan.baidu.com/s/1aUIpouX5nTwW1FF-8lStnw?pwdjh3v 提取码:jh3v 采集代码下载链接:采集代码.zip - 蓝奏云 ​ 下面是文件的名字,我放…

Golang Web Application

Golang Web Application GoLang Web App基本设置 1.导入库 导入fmt和net/http,http建立一个/和编写一个indexPage的函数,fmt编写一个写Hello world! package mainimport ("fmt""net/http" )func main() {http.HandleFunc("/", indexPage)http.L…

[数据结构复习]自用大纲

内容多基于王道和李春葆《数据结构教程》,做复习提纲之用 基本内容回顾 顺序队 队列是线性表(具有逻辑上的前驱后继关系)。头插尾删,先进先出。 队列的实现至少需要维护如下内容(一数组,二指针&#xff…

电脑开机屏幕闪烁后变成蓝屏无法启动怎么办?

电脑开机屏幕闪烁后变成蓝屏无法启动怎么办?有用户在将电脑开机之后,出现了屏幕会闪动的情况,接着电脑屏幕就变成蓝屏的了。而且再次启动的时候也是这样。这个情况下是我们的系统出现了问题,我们来看看如何去使用U盘进行系统重装的…

python+django大学生体质测试管理系统

系统分为学生和管理员,教师三个角色 学生的主要功能有: 1.学生注册和登陆系统 2.查看系统的公告资讯信息 3.学生查看体质测试的项目,下载测试文件 4.学生留言板在线留言 5.学生个人中心修改个人资料,修改密码 6.学生个人中心查询我…

Java 介绍与环境搭建

文章目录Java 介绍与环境搭建Java 背景介绍Java 背景故事Java 三大平台Java SEJava MEJava EEJava 跨平台工作原理平台与跨平台跨平台工作原理JDK 下载和安装下载 JDK安装 JDK第一个 Java 程序HelloWorld 介绍Java 程序开发的三个步骤HelloWorld 案例的编写和运行HelloWord 案例…

如何通过Terraform Associate考试并获得证书

1 什么是Terraform? Terraform是一个IaC工具,IaC全称为Infrastructure as Code,基础设施即代码。它的理念是通过代码来管理基础设施,如服务器、数据库等,更多请看《Terraform入门教程,示例展示管理Docker和Kubernete…

mysql快速生成100W条测试数据(5)商品销售数据并存入mysql数据库

这是之前的文章里面包含一些以前的一些操作流程可以进行参考学习 更加详细操作步骤在第一篇文章里面 mysql快速生成100W条测试数据(1):游戏人物数据 mysql快速生成100W条测试数据(2)公司员工信息 mysql快速生成100W条测…

Linux USB实现网络共享

usb 网络共享 两个Linux设备之间实现USB网络共享,类似Android手机开启USB网络共享的功能。其中一台设备为USB Host,另外一台为USB Device。Device使用的USB接口必须为USB Slave,否则无法正常工作。使用RNDIS驱动,还能够通过USB与…

【ROS2入门】介绍 eloquent 版本中 turtlesim 和 rqt 使用

大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,在上一篇中,我们Jeston TX1 核心模块,JetPack_4.6.3刷机后环境中安装了 ROS2 eloquent版本,并完成了初步的…

C语言-动态内存分配(12.1)

目录 思维导图: 1.为什么存在动态内存分配 2.动态内存函数的介绍 2.1 malloc 2.2 free 2.3 calloc 2.4 realloc 3.常见的动态内存错误 写在最后: 思维导图: 1.为什么存在动态内存分配 我们现在学习了一些内存开辟的方式&#xff1a…

IDEA如何把自己改动的代码一次性发给别人

背景介绍: 想把自己改动的代码同步给同事 方式1:通过git,把自己本地代码 push 到代码托管平台,同事从代码托管平台 pull 最新代码; 方式2:通过IDEA的Patch包的方式来快速发送修改的代码(步骤如下…

pr值高的域名对网站有什么价值?怎么在线查询搜狗PR权重

众所周知一个全新的搜狗域名在建立网站后搜索引擎会对其进行一个类似资格评价的阶段,我们将这个阶段称为沙盒,在沙盒里面的这段时间,我们将其称为沙盒期,沙盒期一般都是1-3个月。在沙盒期这段时间内。我们仍需要经常更新文章。所以…

联合证券|海南自贸港快速发展,概念股出炉!

海南自由贸易港货物进出口 初次打破2000亿元关口 1月13日,国新办就2022年全年进出口状况举行发布会。会上介绍道,近两年海南自由贸易港货物进出口快速开展,继2021年头次打破1000亿元后,2022年再上新台阶,初次打破2000…

Pytorch深度学习【十二】

填充和步幅 卷积核带来的问题—输入形状不断减小更大的卷积核可以更快的减小输出大小 形状从nh∗nwn_h * n_wnh​∗nw​减少到 (nh−kh1)∗(nw−kw1)(n_h-k_h1)*(n_w-k_w1)(nh​−kh​1)∗(nw​−kw​1) 解决方案 填充—在输入周围添加额外的行/列—一般用0填充理论依据 填充p…

Odoo 16 企业版手册 - 库存管理之报告

报告 正确监控库存操作将帮助您轻松分析和理解库存管理的工作流程。Odoo可以为您提供一个专用平台,特别是用于为您的组织中完成的库存操作生成报告,并在图形和表格视图中准确表示数据。您可以实时自定义报告,以根据您的要求获得细致的报告。在…

Nvm,Nrm使用教程

NVM介绍 NVM全称node.js version management ,专门针对node版本进行管理的工具,通过它可以安装和切换不同版本的node.js 使用场景 我目前的公司有很多项目,其中有一些老项目用的是vue2.5左右了webpack版本也比较低,只能使用10.16.…

[前端笔记——WEB基础] 1.WEB基本概念

[前端笔记——WEB基础] 1.WEB基本概念基本概念1.资源 resourse2.链接3.HTTP 协议4.网页的真实样子:HTML静态网页与动态网页1.静态网页2.动态网页现代网站架构1.网站架构当我们访问一个网站时,后台都会发生什么事情捏?www——万维网 www:Worl…