AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[logstash](server)

Martin Hope
Marat Gainutdinov
Asked: 2020-06-12 04:11:45 +0800 CST

Logstash RabbitMQ 输出插件

  • 0

我是 Logstash 的新手,我想将 nginx 消息存储在 RabbitMQ 队列中,如下所示:

Nginx 日志 -(输入)-> Logstash -(输出)-> RabbitMQ

日志存储配置:

filter {
   grok {
      match => { "message" => "%{IPORHOST:remote_ip} - %{DATA:user_name} \[%{HTTPDATE:access_time}\] \"%{WORD:http_method} %{DATA:url} HTTP/%{NUMBER:http_version}\" %{NUMBER:response_code} %{NUMBER:body_sent_bytes} \"%{DATA:referrer}\" \"%{DATA:agent}\"" }
   }
}
output {
  rabbitmq {
    exchange => "nginx_app"
    host => "localhost"
    exchange_type => "topic"
    persistent => true
    passive => true
    heartbeat => 10
    arguments => {"x-ha-policy" => "all" }
    codec => "plain"
    port => 5672
  }
}

在 RabbitMQ Web 控制台中调试期间,我看到以下内容:消息对 RabbitMQ 可见,但当我使用简单的 python 脚本将消息添加到队列中时,它不会同时将它们保存在队列中(所有内容都已保存), 输入图像描述这里

我的配置有什么问题?为什么 RabbitMQ 不保存消息?

先感谢您!

rabbitmq logstash
  • 1 个回答
  • 767 Views
Martin Hope
Kumar
Asked: 2020-05-28 07:48:11 +0800 CST

使用 beats 将日志从应用程序服务器发送到 ELK 服务器

  • 0

我正在为生产环境构建日志分析器。我的场景是,我需要在一台要使用 ELK 服务器的 centos7 服务器上设置elasticsearch、Logstash 和 kibana,另一台是 apache 服务器(远程服务器)。

我已经配置了以下

(i).ELK 服务器 - elasticsearch,kibana,logstash 和 nginx 代理

(ii).Application server(apache server)-在apache服务器上安装beats

(i).ELK服务器配置

弹性搜索配置

vi /etc/elasticsearch/elasticsearch.yml

network.host: 本地主机

http.port: 9200

Kibana 仪表板配置

vi /etc/kibana/kibana.yml

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

Nginx 配置:

server {
listen 80;
server_name 172.xx.xx.xx;
location / {
    proxy_pass http://localhost:5601;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

Logstash 配置

猫 /etc/logstash/conf.d/02-beats-input.conf

input {
  beats {
  port => 5044
 }
}

我也配置了过滤器部分..

猫 /etc/logstash/conf.d/30-elasticsearch-output.conf

output {
 elasticsearch {
  hosts => ["localhost:9200"]
  sniffing => true
  manage_template => false
  index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
 }
}

ii) 应用服务器 Beats 配置

我已经在应用程序服务器中安装了 beats 并使用 logstash 发送日志。

文件节拍配置:

猫 /etc/filebeat/filebeat.yml

output.logstash:
   #the logstash hosts
hosts: ["172.xx.xx.xx:5044"]

在这里,我不确定如何在 kibana 中加载 filebeat 索引模板、索引和仪表板。当我尝试从 apache 服务器运行“filebeat setup”命令时,出现以下错误。

[root@webserver ~]# filebeat setup
Exiting: Index management requested but the Elasticsearch output is not configured/enabled.

我知道如果我用 elasticsearch 输出配置 filebeat,我可以将索引直接加载到 kibana。但我不希望 apache 服务器直接与 elasticsearch 联系。

有人可以建议我如何将“索引、索引模板和仪表板”直接从 apache 服务器加载到 kibana,同时配置节拍输出到 logstash。

我搜索了很多网站,但没有得到任何答案。是否有任何其他替代方法(如导入方法)在 kibana 和 elk 服务器中加载 apache 服务器 filebeat indexe。

我渴望等待有人为此提供解决方案。

谢谢

库马尔

elk logstash
  • 1 个回答
  • 849 Views
Martin Hope
larsks
Asked: 2020-04-02 11:32:02 +0800 CST

Kibana 和 Logstash:什么时候字段不是字段?

  • 0

我已经grok在我们的 logstash 配置中启用了过滤器,以便使用%{HAPROXYHTTP}and%{HAPROXYTCP}模式解析来自 HAProxy 的日志。这似乎工作得很好,从 haproxy 查看任何日志条目的详细信息,我可以看到各种提取的字段(bytes_read、client_ip、client_port、termination_state、actconn、feconn 等)。

但是在 Kibana 的“创建新的可视化”屏幕中,配置 Y 轴时,“字段”弹出窗口中没有这些字段可用。

我需要做什么才能使这些提取的字段可用于可视化?

elasticsearch kibana logstash
  • 2 个回答
  • 219 Views
Martin Hope
Dero
Asked: 2020-03-03 01:26:43 +0800 CST

修复logstash检查点文件

  • 2

我们OutOfMemoryException的 logstash 5.6.6 中有一个导致checkpoint. head文件无法正确写入的问题:

ls -l /var/lib/logstash/queue/main/
total 266424
-rw-r--r-- 1 logstash logstash        34 Mar  1 20:33 checkpoint.55779
-rw-r--r-- 1 logstash logstash         0 Mar  1 20:34 checkpoint.head
-rw-r--r-- 1 logstash logstash 262144000 Mar  1 20:33 page.55779
-rw-r--r-- 1 logstash logstash 262144000 Mar  1 20:34 page.55780

有没有办法修复checkpoint.head或至少将页面 55779 加载到管道中,这样我们就不会丢失几千个事件?

logstash
  • 1 个回答
  • 144 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2017-11-15 14:54:54 +0800 CST

logstash:通过 RPM 运行更新踩到了我的 logstash.yml

  • 1

使用 RPM 从 logstash 5.4.1 更新到 5.6.4

一切都很顺利,但是命令:

yum localinstall logstash-5.6.4.rpm

导致我的 /etc/logstash/logstash.yml 被 rpm 中的配置覆盖。

我不记得以前见过 RPM 这样做。

RPM 会备份到先前 yml 文件的某个神奇位置吗?

logstash
  • 1 个回答
  • 203 Views
Martin Hope
Shankar
Asked: 2017-10-05 00:50:30 +0800 CST

如何在kibana中将filebeat日志显示为单个文件?

  • -1

我使用 ELK 在 kibana 中显示我的中间件日志。为此,我正在使用下面提到的多行模式,在这些日志单独显示之后,就像单独的可扩展文件一样。如何将这些日志显示为单个文件?作为一个可扩展的?因为过去几周我遇到了同样的问题。

我使用的模式:

 multiline.pattern: '^\?'
 multiline.negate: true
 multiline.match: after
 multiline.max_lines: 100000

日志:

04:02:22,878 DEBUG [org.jboss.modules] (main) Module org.jboss.dmr:main defined by local module loader @42f30e0a (finder: local module finder @24273305 (roots: xxxxxx))
04:02:22,885 DEBUG [org.jboss.modules] (main) Module org.jboss.as.core-security:main defined by local module loader @42f30e0a (finder: local module finder @24273305 (roots: xxxxx)
04:02:22,887 DEBUG [org.jboss.modules] (main) Module org.jboss.as.core-security-api:main defined by local module loader @42f30e0a (finder: local module finder @24273305 (roots: xxxxx))
04:02:22,894 DEBUG [org.jboss.modules] (main) Module org.jboss.as.domain-management:main defined by local module loader @42f30e0a (finder: local module finder @24273305 (roots: xxxxx))
logstash
  • 1 个回答
  • 582 Views
Martin Hope
spoovy
Asked: 2017-08-09 01:30:35 +0800 CST

Logtash grok / 多行混淆

  • 1

我的真实模式更复杂,但我试图将问题归结为核心问题。我不明白的东西。请在http://grokconstructor.appspot.com/do/match上试试这个

我正在尝试匹配以下几行:

Start-Date: 2017-08-07  06:48:12
End-Date: 2017-08-07  06:48:12

Start-Date: 2017-08-07  12:55:16
End-Date: 2017-08-07  12:56:01

使用附加模式:

DATE_EU2 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[\s]+?%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?
DATE_COMB %{DATE_EU2}?%{DATE_EU}?%{DATE_US}?

以及以下主要模式:

Start-Date: %{DATE_COMB:starttime}\nEnd-Date: %{DATE_COMB:endtime}

使用多行过滤器:

^\n (negated)

运行它,你应该(希望!)得到:

Start-Date: 2017-08-07 06:48:12 End-Date: 2017-08-07 06:48:12 Start-Date: 2017-08-07 12:55:16 End-Date: 2017-08-07 12:56:01
MATCHED
starttime   2017-08-07··06:48:12
endtime 2017-08-07··06:48:12
after match:    Start-Date: 2017-08-07 12:55:16 End-Date: 2017-08-07 12:56:01

所以它匹配第一个记录但不匹配第二个记录。如果我在主模式的末尾添加一个 '\z' ,那么它将匹配第二条记录但不匹配第一条记录。因此,它显然将整个事情视为一条线。但为什么?我的多行过滤器指出,如果一行不以换行符开头,它是上一条记录的一部分,对吗?那么这应该在中间留下一个空白行,显然确实以换行符开头,因此应该包含一个单独的事件,不是吗?

任何指点都感激地接受。

logstash
  • 1 个回答
  • 2667 Views
Martin Hope
Mikhail T.
Asked: 2017-06-23 15:56:42 +0800 CST

汇总新旧事件的统计数据

  • 1

我们希望将 CDN 日志提供给 Graphite,并在其中找到汇总数据(不同 HTTP 状态代码的比率、平均响应大小、平均缓存命中率等)

然而,日志只是偶尔上传给我们,有时甚至是乱序的——偶尔,早上的日志可以在晚上上传,也就是下午的日志上传和处理后的几个小时。此外,因为 CDN(显然)有多个服务器和数据中心,不同的日志可以覆盖重叠的时间段。

这意味着,任何聚合器都需要保持对所有早期统计数据的访问,以便在处理新日志时能够增强聚合......

什么——如果有的话——可以做到这一点?以及如何配置 logstash 来输入它?谢谢!

logstash
  • 1 个回答
  • 66 Views
Martin Hope
Garreth McDaid
Asked: 2017-03-17 04:30:18 +0800 CST

用于 Java 堆栈跟踪的 Logstash 多行编解码器

  • 1

logstash 文档表明您可以使用多行编解码器将 Java 堆栈跟踪日志条目中的多个缩进行折叠成单个事件:

https://www.elastic.co/guide/en/logstash/current/plugins-codecs-multiline.html

input {
   syslog {
       type => syslog
       port => 8514
       codec => multiline {
            pattern => "^\s"
            what => "previous"
       }
  }
}

这是基于 logstash 在行首找到一个缩进并将其与上一行结合起来的。

但是,logstash 文档是我唯一可以找到参考的地方。一般用户社区似乎正在使用精心制作的 grok 过滤器来达到相同的效果。

我已经尝试过logstash提供的基本缩进模式,但它不起作用。有没有其他人通过匹配缩进模式来实现这个工作?

java logstash grok
  • 1 个回答
  • 1932 Views
Martin Hope
armani
Asked: 2017-03-08 10:32:11 +0800 CST

Logstash 条件过滤器未应用

  • 1

我的 Windows 服务器上有 nxlog,将日志发送到 Logstash(JSON 格式)。我想将安全事件克隆到 SIEM,因此我添加了捕获某些 Windows 事件 ID 的逻辑:

Logstash 配置

即使应用了“Windows 事件日志”标签(通过“add_tag”),也从未添加过“Windows 安全事件”,即使我查看日志并找到像 4624 这样的 EventID。

以下是完整的纯文本 logstash.conf 供参考:

input {tcp{port=>1514}}
filter {
        if "im_msvistalog" in [message] {
                json {source => "message"}
                mutate {add_tag => "Windows Event Log"}
                if [EventID]=="4688" or [EventID]=="592" or [EventID]=="4624" or [EventID]=="528" or [EventID]=="540" or [EventID]=="5140" or [EventID]=="560" or [EventID]==5156 or [EventID]=="7045" or [EventID]=="601" or [EventID]=="4663" or [EventID]=="567" { 
                        mutate {add_tag => "Windows Security Event"}
                }
        }
}
output {stdout{codec=>rubydebug}}

编辑:这是输出的样子: 在此处输入图像描述

configuration nxlog logstash
  • 1 个回答
  • 585 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve