千家信息网

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

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容主要讲解"Logstash开源日志管理方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Logstash开源日志管理方法是什么"吧!Logs
千家信息网最后更新 2026年11月02日Logstash开源日志管理方法是什么

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

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

一、原理

Input

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

Filter

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

Output

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

二、安装使用

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

   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地址,前面文章有讲)

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

四、监控其他

监控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开源日志管理方法是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

数据 配置 文件 日志 输出 测试 抽取 方法 插件 路径 选择 管理 信息 内存 命令 修剪 监控 运行 最大 最小 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳九邦互联网科技有限公司 金融科技创新监管互联网金融 互联网科技的英文 广西互联网科技公司 互联网科技素材视频竖屏 安控科技rtu产品工业互联网 科技互联网的估值 互联网企业和科技型企业 贵州叶脉互联网科技有限公司所属行业 栖莱科技互联网股份有限公司 湖北码尼互联网科技有限公司电话 崇明区互联网教育科技诚信经营 厦门千工互联网科技有限公司 互联网科技人工智能实验室 浙南科技城互联网大厦建设工程 广州新华互联网科技学校电竞方面 中科明德北京互联网科技 为客找房互联网科技公司怎么样 兰石爱特工业互联网科技分公司 互联网科技快速发展优美句子 互联网科技股 广州淘业互联网络科技 新华互联网科技 盈实互联网科技 万易互联网科技 互联网科技集团 上海喔噻互联网科技 上海宁丞科技互联网 广州百诚互联网科技有限公司官网 广东猫王互联网科技有限公司电话
0