Articles of logstash

如何在Graphite中绘制Apache HTTPd状态计数而不使用Logstash统计?

我想发送Apache HTTPd日志统计信息,例如200个状态计数到Graphite / Carbon。 Logstash看起来很理想,但是我所见过的所有例子都使用Statsd作为状态计数器。 这意味着启动一个Statsd服务器(或在Collectd 5.x中启用Statsd)。 Logstash是否有办法直接将计数器写入Graphite / Carbon?

将docker日志发送到logstash

我在Amazon AWS上有许多CoreOS服务器,并希望收集来自它们的事件或日志,并将它们转发到我的ELK堆栈提供程序logz.io上。 对于ELK堆栈来说,我有点新意,但是在如何最好地获取数据方面我有些遗憾。 有人build议我使用filebeat。 但是filebeat可以和普通的日志文件一起工作,而且大部分数据正在被input到日志文件中。 我所有的服务都在docker上运行,我看到docker有logging驱动程序的想法。 我能以某种方式插入吗? 有一个叫做journalbeat的项目,看起来很有前途,但是不完整,目前正在转发一切。 我只想具体的单位,实际上,具体的事件。 所以我可能不得不在这个项目上工作,使它做我所需要的。 但是,在我进一步去之前,或许还有另一种方式呢? 例如我可以在机器上运行的另一个轻量级服务,它可以接受日志logging事件并将其转发。 只要它不是logstash,因为这会占用我已经有的内存太多的资源,并且cpu会限制aws实例。 我当然不是唯一遇到这种问题的人。

Logstash通过端口input日志stream

有什么方法可以读取通过某个端口转发的logstash原始input数据吗? input设置如下 input { tcp { port => 1234 type => "test" } } 并从输出configuration… output { stdout { codec => rubydebug } } 我们只能看到logstash输出,而不能看到原始的input数据。 任何想法如何读取input日志?

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

使用RPM从logstash 5.4.1更新到5.6.4 一切都很好,但命令: yum localinstall logstash-5.6.4.rpm 导致我的/etc/logstash/logstash.yml被rpm中的configuration覆盖。 我不记得以前看到一个RPM做的。 RPM是否会对之前的yml文件的某个魔术地方进行备份?

时间戳+5小时logstash

我正在使用logstash将syslog数据发送到elasticsearch。 除了logstash代理正在发送带有时间戳+5小时的数据之外,一切正常。 这是我的configuration: input { file { type => "syslog" # modify to path to suit your local syslog configuration. # The below will recursively grab all files in /var/log/rsyslog that end in .log path => ["/var/log/syslog", '/var/log/auth.log', '/var/log/faillog', '/var/log/mail.log', '/var/log/postgresql/postgresql-9.1-main.log'] # comment out below after logstash has slurped in all of your existing logs […]

logstash尝试连接到映射的ipv6地址上的redis服务器

我刚刚开始使用logstash ,而且在将日志发送器进程发送到其他主机上的redis服务器时遇到问题。 我的logstashconfiguration文件的output节读取 输出{ redis {host =>“11.22.33.44”data_type =>“list”key =>“logstash”} } 但是,当我运行logstash进程时,我收到包含错误消息 :exception =>#<SocketError:networking无法访问> 有点strace ing显示它在这里是失败的: (13,{sa_family = AF_INET6,sin6_port = htons(6379),inet_pton(AF_INET6,“:: ffff:11.22.33.44”,&sin6_addr)= -1 ENETUNREACH(Network is unreachable) 即它试图连接到ipv6映射的ipv4地址上的redis主机。 主机没有本地ipv6地址,连接失败。 我怎么能得到进程使用AF_INET而不是AF_INET6 ,或者以某种方式configuration我的主机解决这个问题? 如果它是相关的,我的Java版本是 java版本“1.6.0_18” OpenJDK运行环境(IcedTea6 1.8.13)(6b18-1.8.13-0 + squeeze2) OpenJDK 64位服务器虚拟机(构build14.0-b16,混合模式)

将varhost的名称从varnish中统一到statsd

设置 我使用Logstash从Varnish收集统计信息, Logstashconfiguration为根据服务器日志中的虚拟主机和结果代码来增加statsd计数器。 我也有碳为石墨创造耳语档案。 我正在从varnishncsa读取日志,该日志configuration为向标准日志添加虚拟主机和请求处置: VARNISHNCSA_LOG_FORMAT="%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\" %{Host}i %{Varnish:hitmiss}x" 我的logstash托运人configuration如下所示: input { file { path => "/var/log/varnish/varnishncsa.log" type => varnish } } filter { grok { type => varnish pattern => "%{COMBINEDAPACHELOG} %{NOTSPACE:vhost} %{WORD:varnish_handling}" pattern => "%{COMBINEDAPACHELOG}" } mutate { rename => [ 'response', 'status' ] } } […]

Logstash除非世界可读,否则不会读取日志

我最近用Kibana和Elasticsearch设置了Logstash,但是有一个问题,它不读日志,除非目录权限是世界读/执行(至less是世界读取的文件)。 我已经从RPM中安装了版本1.4.2,它以logstash用户身份运行。 我已经确定logstash用户是与需要读取的日志有关的组的成员,例如“apache”。 [root@rhel-00081 conf]# id logstash uid=497(logstash) gid=497(logstash) groups=48(apache),10081(nexus),27666(spark),497(logstash) / var / log / http上的默认权限是drwxr-x— root apache ,但Logstash将不会处理日志,直到将其更改为drwxr-xr-x 任何想法,为什么这是?

Logstash如何在内部使用消息/事件?

我是Logstash的新手,我正试图理解input,filter和输出如何一起工作。 我知道有各种各样的input,filter和输出,但是我没有得到的是Logstash如何在内部处理消息。 假设我configuration了一个系统日志input,并且我希望将syslog事件作为GELF发送到日志索引。 有一个我可以使用的系统日志input,还有一个我可以使用的GELF输出。 但是,我的责任(使用filter)基于来自syslog事件的值填充正确的GELF字段? 我是否应该将事件(从inputfilter)看作具有命名字段的实体(对key:value数组进行sorting),然后使用filter来确保输出可以获得正确的数据?

我如何parsingLogstash中的可读字节数?

我正在处理包含如下部分的日志文件: 538,486K of 1,048,576K 这些表示以可读格式呈现的内存使用(Java堆空间)。 我想在Kibana的图表中跟踪这些数字。 要做到这一点,我想以某种方式使用Logstash的grokfilter来parsing这些数字,但我不知道如何处理(即忽略)千位分隔符。 理想情况下,我会有一些也可以处理“K”和乘以一千的东西。 在这个时候,我不知道任何系统都以千字节为单位login,但我不想做这个假设。