Logstash cheat sheet: Difference between revisions

From misc notes
Jump to navigation Jump to search
Line 33: Line 33:
Kibana4 系は apache reverse proxy ではうまく動かないので、様子見中 (もちろん 最後の "/" 取ってるのだが...)
Kibana4 系は apache reverse proxy ではうまく動かないので、様子見中 (もちろん 最後の "/" 取ってるのだが...)
:どうも apache の Basic 認証をうまく越えられないようだ。Basic 認証外すと動く。network + Basic 認証にしておかないと怖いなぁ
:どうも apache の Basic 認証をうまく越えられないようだ。Basic 認証外すと動く。network + Basic 認証にしておかないと怖いなぁ
https://github.com/elastic/kibana/issues/3302
:このパッチと下記の設定でなんとかいけそげ

<pre>
<pre>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /kibana/ http://127.0.0.1:5601/ disablereuse=On ttl=120 timeout=3000
ProxyPassReverse /kibana/ http://127.0.0.1:5601/ timeout=3000
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
SetEnv proxy-initial-not-pooled 1

<Location /kibana>
Order Allow,Deny
Allow from 127.0.0.1 *ALLOW-NETWORKS*
<IfModule mod_authn_file.c>
AuthUserFile /path/htpasswd
AuthType Basic
</IfModule>
require valid-user
</Location>

<Location /kibana/elasticsearch>
<Location /kibana/elasticsearch>
Order Allow,Deny
Order Allow,Deny
Line 40: Line 61:
</Location>
</Location>
</pre>
</pre>

https://github.com/elastic/kibana/issues/3302





Revision as of 01:57, 18 March 2015

ELK (Elasticsearch + Logstash + Kibana)

splunk のデモをみて、自分の環境に logstash を入れてみた。 :)

logstash - open source log management

どうせやるなら、Centralized Setup with Event Parsing で構成してみた。

このページの構成図のようにしたが、Web インターフェースは Kibana のほうがいい感じ。

logstash-shipper -> redis -> logstash-indexer -> Elasticsearch -> Kibana


(この節は kibana 2 用の古い内容です)

Kibana で細かなアクセス権限を与える場合は、フロントに apache + mod_proxy で実装する。
ProxyPass              /kibana/  http://127.0.0.1:5601/
ProxyPassReverse       /kibana/  http://127.0.0.1:5601/
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
+いつもの ACL で

Kibana 3 系は elasticsearch を proxy する。あとは kibana 3 の config.js をごにょごにょ

ProxyRequests Off
ProxyPass              /es/  http://127.0.0.1:9200/ disablereuse=On ttl=120 timeout=3000
ProxyPassReverse       /es/  http://127.0.0.1:9200/ timeout=3000
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
SetEnv proxy-initial-not-pooled 1
+いつもの ACL で

Kibana4 系は apache reverse proxy ではうまく動かないので、様子見中 (もちろん 最後の "/" 取ってるのだが...)

どうも apache の Basic 認証をうまく越えられないようだ。Basic 認証外すと動く。network + Basic 認証にしておかないと怖いなぁ
https://github.com/elastic/kibana/issues/3302
このパッチと下記の設定でなんとかいけそげ
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass              /kibana/  http://127.0.0.1:5601/ disablereuse=On ttl=120 timeout=3000
    ProxyPassReverse       /kibana/  http://127.0.0.1:5601/ timeout=3000
    SetEnv force-proxy-request-1.0 1
    SetEnv proxy-nokeepalive 1
    SetEnv proxy-initial-not-pooled 1

    <Location /kibana>
      Order Allow,Deny
      Allow from 127.0.0.1 *ALLOW-NETWORKS*
      <IfModule mod_authn_file.c>
        AuthUserFile /path/htpasswd
	AuthType Basic
      </IfModule>
      require valid-user
    </Location>

    <Location /kibana/elasticsearch>
      Order Allow,Deny
      Allow from 127.0.0.1
      Satisfy any
    </Location>


java の shipper は重たい。 専用の shipper があるっぽい。 (私は、今は logstash-forwarder を使ってます)

My logstash config, grok filter, grok patterns @ github

indexer と shipper の java プロセスは別に起動したほうがパフォーマンスが良い。

lightweight shipper

redis にいれる lightweight shipper

beaver : python daemon that munches on logs and sends their contents to logstash

udp で直接ぶち込むには

-F string -t udp

lumberjack というのも良いらしい。

lumberjack
lumberjack は名前がかわって logstash-forwarder になった。elasticsearch 軍団に入った。
logstash-forwarder
elasticsearch の repository に logstash-forwarder の deb がひっそりあるのだが、 i386 版がなくってアセった....

parser

各種ログのパターンのメモ

apache error log 系

Logstash parser for ModSecurity/CRS entries in the Apache ErrorLog

postfix 系

Postfix LogStash patterns
Postfix grok filters

logstash の書籍がでた。うれしい

The LogStash Book

Elasticsearch のメンテナンス

elasticsearch-curator

ERROR

何故か接続が切れる...

Registrar received 100 events
Registrar received 100 events
Registrar received 100 events
Read error looking for ack: read tcp _SHIPPER_IP_:_SHIPPER_PORT_: i/o timeout
Setting trusted CA from file: /etc/logstash/logstash-forwarder.crt
Connecting to [_SHIPPER_IP_]:_SHIPPER_PORT_ (_SHIPPER_IP_)
Connected to _SHIPPER_IP_
Registrar received 100 events
Read error looking for ack: read tcp _SHIPPER_IP_:_SHIPPER_PORT_: i/o timeout
Setting trusted CA from file: /etc/logstash/logstash-forwarder.crt
Connecting to [_SHIPPER_IP_]:_SHIPPER_PORT_ (_SHIPPER_IP_)
Connected to _SHIPPER_IP_
Registrar received 100 events
Read error looking for ack: read tcp _SHIPPER_IP_:_SHIPPER_PORT_: i/o timeout
Setting trusted CA from file: /etc/logstash/logstash-forwarder.crt
Connecting to [_SHIPPER_IP_]:_SHIPPER_PORT_ (_SHIPPER_IP_)
Connected to _SHIPPER_IP_
Registrar received 100 events
spool-size=10 でしのぐ...
これか? https://github.com/elasticsearch/logstash-forwarder/issues/323