返回顶部
首页 > 资讯 > 精选 >Logstash开源日志管理方法是什么
  • 815
分享到

Logstash开源日志管理方法是什么

2023-06-27 11:06:49 815人浏览 薄情痞子
摘要

本篇内容主要讲解“Logstash开源日志管理方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Logstash开源日志管理方法是什么”吧!Logstash是具有实时流水线能力的开源的数据

本篇内容主要讲解“Logstash开源日志管理方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Logstash开源日志管理方法是什么”吧!

Logstash是具有实时流水线能力的开源的数据收集引擎。Logstash可以动态统一不同来源的数据,并将数据标准化到您选择的目标输出。它提供了大量插件,可帮助我们解析,丰富,转换和缓冲任何类型的数据。

Logstash开源日志管理方法是什么

一、原理

Input

可以从文件中、存储中、数据库中抽取数据,Input有两种选择一个是交给Filter进行过滤、修剪。另一个是直接交给Output

Filter

能够动态地转换和解析数据。可以通过自定义的方式对数据信息过滤、修剪

Output

提供众多输出选择,您可以将数据发送到您要指定的地方,并且能够灵活地解众多下游用例。

Logstash开源日志管理方法是什么

二、安装使用

1.安装
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.0.1.rpmyum install -y ./logstash-6.0.1.rpm
2.Logstash配置文件
vim /etc/logstash/logstash.ymlpath.data: /var/lib/logstash                                    # 数据存放路径path.config: /etc/logstash/conf.d/*.conf                        # 其他插件的配置文件,输入输出过滤等等path.logs: /var/log/logstash                                    # 日志存放路径
3.Logstash中的JVM配置文件

Logstash是一个基于Java开发的程序,需要运行在JVM中,可以通过配置jvm.options来针对JVM进行设定。比如内存的最大最小、垃圾清理机制等等。这里仅仅列举最常用的两个。

JVM的内存分配不能太大不能太小,太大会拖慢操作系统。太小导致无法启动。

vim /etc/logstash/jvm.options                               # logstash有关JVM的配置-Xms256m                                                    # logstash最大最小使用内存-Xmx1g
4.最简单的日志收集配置

安装一个Httpd用于测试,配置Logstash收集Apache的accless.log日志文件

yum install httpdecho "Hello world" > /var/www/html/index.html               # 安装httpd,创建首页用于测试vim /etc/logstash/conf.d/test.confinput {   file {                                                  # 使用file作为数据输入       path => ['/var/log/httpd/access_log']               # 设定读入数据的路径       start_position => beginning                         # 从文件的开始处读取,end从文件末尾开始读取   }}output {                                                    # 设定输出的位置   stdout {       codec => rubydebug                                  # 输出至屏幕   }}
5.测试配置文件

logstash是自带的命令但是没有再环境变量中,所以只能使用绝对路径来使用此命令。

/usr/share/logstash/bin/logstash -t  -f  /etc/logstash/conf.d/test.conf   # 测试执行配置文件,-t要在-f前面Configuration OK                                                          # 表示测试OK
6.启动logstash

在当前会话运行logstash后不要关闭这个会话暂时称其为会话1,再打开一个新的窗口为会话2

/usr/share/logstash/bin/logstash  -f  /etc/logstash/conf.d/test.conf

启动以后在会话2中使用curl命令进行测试

curl 172.18.68.14

然后在回到之前的会话1可以看到输出的信息

{     "@version" => "1",         "host" => "logstash.shuaiguoxia.com",         "path" => "/var/log/httpd/access_log",   "@timestamp" => 2017-12-10T14:07:07.682Z,      "message" => "172.18.68.14 - - [10/Dec/2017:22:04:44 +0800] \"GET / HTTP/1.1\" 200 12 \"-\" \"curl/7.29.0\""}

至此最简单的Logstash配置就已经完成了,这里仅仅是将收集到的直接输出没有进行过滤或者修剪。

三、elasticsearch与Logstash

上面的配置时Logsatsh从日志文件中抽取数据,然后输出至屏幕。那么在生产中往往是将抽取的数据过滤后输出到Elasticsearch中。下面讲解Elasticsearch结合Logstash

Logstash抽取httpd的access.log文件,然后经过过滤(结构化)之后输出给Elasticsearch Cluster,在使用Head插件就可以看到抽取到的数据。(Elasticsearch Cluster与Head插件搭建请查看前两篇文章)

Logstash开源日志管理方法是什么

配置Logstash

   vim /etc/logstash/conf.d/test.conf   input {   file {       path => ['/var/log/httpd/access_log']       start_position => "beginning"   }   }   filter {   grok {       match => {           "message" => "%{COMBINEDAPACHELOG}"       }       remove_field => "message"     }   }   output {   elasticsearch {       hosts => ["http://172.18.68.11:9200","http://172.18.68.12:9200","http://172.18.68.13:9200"]       index => "logstash-%{+YYYY.MM.dd}"       action => "index"       document_type => "apache_logs"   }   }

启动Logstash

    /usr/share/logstash/bin/logstash -t -f /etc/logstash/conf.d/test.conf       # 测试配置文件   Configuration OK    /usr/share/logstash/bin/logstash  -f /etc/logstash/conf.d/test.conf         # 启动Logstash

测试

每个执行10次172.18.68.14,位Logstash的地址

   curl 127.0.0.1   curl 172.18.68.14

验证数据

使用浏览器访问172.18.68.11:9100(Elastisearch 安装Head地址,前面文章有讲)

选择今天的日期,就能看到一天内访问的所有数据。

Logstash开源日志管理方法是什么

四、监控其他

监控Nginx日志

仅仅列了filter配置块,input与output参考上一个配置

   filter {       grok {               match => {                       "message" => "%{HTTPD_COMBINEDLOG} \"%{DATA:realclient}\""               }               remove_field => "message"       }       date {               match => ["timestamp","dd/MMM/YYYY:H:m:s Z"]               remove_field => "timestamp"       }   }

监控Tomcat

仅仅列了filter配置块,input与output参考上一个配置

   filter {       grok {               match => {                       "message" => "%{HTTPD_COMMONLOG}"               }               remove_field => "message"       }       date {               match => ["timestamp","dd/MMM/YYYY:H:m:s Z"]               remove_field => "timestamp"       }   }

五、Filebeat

现在已经搭建成在节点安装Logstash并发送到Elasticsearch中去,但是Logstash是基于Java开发需要运行在JVM中,所以是一个重量级采集工具,仅仅对于一个日志采集节点来说使用Logstash太过重量级,那么就可以使用一个轻量级日志收集工具Filebeat来收集日志信息,Filebeat同一交给Logstash进行过滤后再Elasticsearch。这些在接下来的文章在进行讲解,先放一张架构图吧。

Logstash开源日志管理方法是什么

到此,相信大家对“Logstash开源日志管理方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Logstash开源日志管理方法是什么

本文链接: https://lsjlt.com/news/310071.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Logstash开源日志管理方法是什么
    本篇内容主要讲解“Logstash开源日志管理方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Logstash开源日志管理方法是什么”吧!Logstash是具有实时流水线能力的开源的数据...
    99+
    2023-06-27
  • java用户日志管理的方法是什么
    Java用户日志管理的方法有多种,以下是其中几种常用的方法:1. 使用Java内置的日志管理框架 - Java提供了一个标准的日志框...
    99+
    2023-08-30
    java
  • mysql开启日志的方法是什么
    MySQL开启日志的方法是通过修改MySQL配置文件my.cnf,在[mysqld]部分添加相应的参数来开启日志功能。以下是几种常见...
    99+
    2024-04-02
  • 开源日志库Logger架构是什么
    这篇“开源日志库Logger架构是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“开源日志库Logger架构是什么”文章吧...
    99+
    2023-06-27
  • 什么是Linux系统日志管理
    本篇内容主要讲解“什么是Linux系统日志管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是Linux系统日志管理”吧!日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你...
    99+
    2023-06-10
  • vps日志清理的方法是什么
    清理VPS日志的方法可以根据不同的操作系统和日志类型而有所不同。以下是一些常见的方法:1. Linux系统:- 使用logrotat...
    99+
    2023-08-19
    vps
  • sqlserver日志清理的方法是什么
    在 SQL Server 中清理日志的方法有以下几种: 使用备份和恢复操作:通过定期备份数据库和日志文件,可以清理事务日志。备份...
    99+
    2024-04-09
    sqlserver
  • MySQL开启慢查询日志的方法是什么
    小编给大家分享一下MySQL开启慢查询日志的方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.1 简介开启慢查询日志,...
    99+
    2024-04-02
  • 如何读懂开源日志管理方案ELK和EFK的区别
    这篇文章给大家介绍如何读懂开源日志管理方案ELK和EFK的区别,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言主流的 ELK (Elasticsearch, Logstash, Kibana) 目前已经转变为 EFK...
    99+
    2023-06-15
  • mysql数据库日志清理的方法是什么
    MySQL数据库的日志清理有以下几种方法: 通过重启MySQL服务器来清理日志。当MySQL服务器重启时,会自动清理并重新生成日...
    99+
    2023-10-25
    mysql数据库
  • mysql慢日志文件清理的方法是什么
    清理MySQL慢日志文件的方法如下: 登录MySQL数据库,使用以下命令查看当前慢查询日志文件的路径: show variabl...
    99+
    2024-04-15
    mysql
  • sqlserver数据库日志清理的方法是什么
    SQL Server数据库日志清理的方法包括: 使用SQL Server Management Studio (SSMS):可以...
    99+
    2024-04-09
    sqlserver
  • Electron电源状态管理的方法是什么
    这篇“Electron电源状态管理的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Electron电源状态管理的方...
    99+
    2023-07-05
  • Linux crontab日志存放方法是什么
    这篇文章主要讲解了“Linux crontab日志存放方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux crontab日志存放方法是什么”吧!默认情况下,crontab中执...
    99+
    2023-06-17
  • mongodb日志扩容的方法是什么
    MongoDB的日志扩容可以通过以下步骤实现:1. 检查当前的日志大小和使用情况,可以使用命令`db.runCommand({log...
    99+
    2023-09-06
    mongodb
  • android日志提取的方法是什么
    在Android上提取日志的常见方法有以下几种:1. 使用Android Studio的Logcat工具:Android Studi...
    99+
    2023-10-18
    android
  • springboot配置日志的方法是什么
    在Spring Boot中配置日志有以下几种方法:1. 使用application.properties或application.y...
    99+
    2023-08-09
    springboot
  • Sqlite查看日志的方法是什么
    要查看SQLite的日志,可以通过以下两种方法来实现: 使用SQLite的命令行工具,在命令行中执行以下命令: sqlite3 ...
    99+
    2024-04-09
    sql
  • skywalking日志采集的方法是什么
    Skywalking是一个开源的分布式系统追踪工具,可以用于监控分布式系统的运行情况,并进行性能分析。日志采集是Skywalking...
    99+
    2024-03-15
    skywalking
  • mysql清除日志的方法是什么
    清除 MySQL 的日志文件可以通过以下几种方法: 使用命令行清除日志文件: FLUSH LOGS; 这个命令会关闭当前的二进...
    99+
    2024-04-09
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作