Maison > base de données > tutoriel mysql > 【Logstash系列】使用Redis并自定义Grok匹配

【Logstash系列】使用Redis并自定义Grok匹配

WBOY
Libérer: 2016-06-07 16:28:07
original
1361 Les gens l'ont consulté

之前提到,用RabbitMQ作为消息队列。但是这个东西实在太过高精尖,不懂erlang不会调优的情况下,很容易挂掉——基本上我这里试验结果跑不了半小时日志传输就断了。所以改用简单易行的redis来干这个活。 之前的lib里,有inputs/redis.rb和outputs/redis.rb两

之前提到,用RabbitMQ作为消息队列。但是这个东西实在太过高精尖,不懂erlang不会调优的情况下,很容易挂掉——基本上我这里试验结果跑不了半小时日志传输就断了。所以改用简单易行的redis来干这个活。

之前的lib里,有inputs/redis.rb和outputs/redis.rb两个库,不过output有依赖,所以要先gem安装redis库,可以修改Gemfile,取消掉相关行的注释,搜redis即可。

然后修改agent.conf:

input {
  file {
    type => "nginx"
    path => ["/var/log/nginx/access.log" ]
  }
}
output {
  redis {
    host => "MyHome-1.domain.com"
    data_type => "channel"
    key => "nginx"
    type => "nginx"
  }
}
Copier après la connexion

启动方式还是一样。

接着修改server.conf:

input {
  redis {
    host => "MyHome-1.domain.com"
    data_type => "channel"
    type => "nginx"
    key => "nginx"
  }
}
filter {
  grok {
    type => "nginx"
    pattern => "%{NGINXACCESS}"
    patterns_dir => ["/usr/local/logstash/etc/patterns"]
  }
}
output {
  elasticsearch { }
}
Copier après la connexion

然后创建Grok的patterns目录,主要就是github上clone下来的那个咯~在目录下新建一个叫nginx的文件,内容如下:

NGINXURI %{URIPATH}(?:%{URIPARAM})*
NGINXACCESS \[%{HTTPDATE}\] %{NUMBER:code} %{IP:client} %{HOSTNAME} %{WORD:method} %{NGINXURI:req} %{URIPROTO}/%{NUMBER:version} %{IP:upstream}(:%{POSINT:port})? %{NUMBER:upstime} %{NUMBER:reqtime} %{NUMBER:size} "(%{URIPROTO}://%{HOST:referer}%{NGINXURI:referer}|-)" %{QS:useragent} "(%{IP:x_forwarder_for}|-)"
Copier après la connexion

Grok正则的编写,可以参考wiki进行测试。

也可以不写配置文件,直接用–grok-patterns-path参数启动即可。

ps: 考察了一下statsd,发现它也要另存一份数据,放弃掉。转研究Kibana界面和Elasticsearch的分布式。

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal