このプラットフォームを構築する目的は、運用、保守、研究開発のためのログクエリを容易にすることです。 Kibana は無料の Web シェルであり、Logstash はさまざまなログ収集プラグインを統合し、優れた定期的なログ ツールです。Elasticsearch はオープン ソースの検索エンジン フレームワークです (クラスター アーキテクチャをサポートします)。
192.168.50.62 (HP DL 385 G7、RAM: 12G、CPU: AMD 6128、ディスク: SAS 146*4)
192.168.50.98 (HP DL 385 G7、RAM: 12G、CPU: AMD 6128、ディスク: SAS 146*6)
192.168.10.42 (Xen仮想マシン、RAM: 8G、CPU: ×4、DISK: 100G)
CentOS 5.6 X64
Nginx+php (インストールプロセスをスキップ)
JDK 1.6.0_25
logstash-1.1.0-monolithic.jar
elasticsearch-0.18.7.zip
redis-2.4.12.tar.gz
キバナ
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html
http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar
https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.18.7.zip
http://github.com/rashidkpc/Kibana/tarball/master
基本的なインストール
wget http://download.oracle.com/otn-pub/java/jdk/6u25-b06/jdk-6u25-linux-x64.bin
sh jdk-6u25-linux-x64.bin
mkdir -p /usr/java
mv ./jdk1.6.0_25 /usr/java
ln –s /usr/java/jdk1.6.0_25 /usr/java/default
/etc/profile ファイルを編集し、次の行を追加します
エクスポート JAVA_HOME=/usr/java/default
エクスポート PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATHをエクスポートします
環境変数を更新する
ソース/etc/profile
wget http://redis.googlecode.com/files/redis-2.4.14.tar.gz
make –j24
メイクインストール
mkdir -p /data/redis
cd /data/redis/
mkdir {db、ログなど}
cd/データ/
mkdir –p elasticsearch && cd elasticsearch
wget --no-check-certificate https://github.com/downloads/elasticsearch/elasticsearch/ elasticsearch-0.18.7.zip
elasticsearch-0.18.7.zip を解凍します
mkdir –p /data/logstash/ && cd /data/logstash
wget http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar
wget http://github.com/rashidkpc/Kibana/tarball/master --no-check-certificate
tar zxvf マスター
vim /data/redis/etc/redis.conf
#------------------------------------------------ ----
#これはredisの設定ファイルです
pidfile /var/run/redis.pid
ポート6379
タイムアウト0
ログレベルの詳細
ログファイル /data/redis/log/redis.log
データベース 16
900 1を保存
300 10を保存
60 10000を節約
rdb圧縮はい
dbファイル名 dump.rdb
ディレクトリ /data/redis/db/
slave-serve-stale-data はい
追加のみいいえ
appendfsync 毎秒
no-appendfsync-on-rewrite いいえ
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
slowlog-log-10000 より遅い
slowlog-max-len 128
vm 有効なし
vm-swap-file /tmp/redis.swap
vm-max-memory 0
vm-page-size 32
vm ページ 134217728
vm-max-threads 4
ハッシュ最大ジップマップエントリ 512
ハッシュ最大ジップマップ値 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
アクティブリハッシュはい
[logstash@Logstash_2 redis]# redis-server /data/redis/etc/redis.conf &
[logstash@Logstash_2 redis]# /data/elasticsearch/elasticsearch-0.18.7/bin/elasticsearch –p ../esearch.pid &
カール 127.0.0.1:9200/_cluster/nodes/192.168.50.62
入力{
レディス{
ホスト => "192.168.50.98"
data_type =>「リスト」
key => "logstash:redis"
type => "redis-input"
}
}
フィルター {
グロク{
type => "linux-syslog"
パターン => "%{SYSLOGLINE}"
}
グロク{
type => "nginx-access"
パターン => "%{NGINXACCESSLOG}"
}
}
出力{
弾性検索 {
ホスト=>「192.168.50.62」
}
}
java -jar logstash.jar エージェント -f my.conf &
プロフィール
入力{
ファイル{
type => "linux-syslog"
パス => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]
}
ファイル{
type => "nginx-access"
パス => "/usr/local/nginx/logs/access.log"
}
ファイル{
type => "nginx-error"
パス => "/usr/local/nginx/logs/error.log"
}
}
出力{
レディス{
ホスト => "192.168.50.98"
data_type =>「リスト」
key => "logstash:redis"
}
}
エージェントが開始します
java -jar logstash-1.1.0-monolithic.jar エージェント -f shipper.conf &
まずnginxにサイト構成を追加します
サーバー{
80を聞いてください;
サーバー名 logstash.test.com;
indexindex.php;
root /usr/local/nginx/html;
#charset koi8-r;
#access_log logs/host.access.log main;
場所 ~ .*.(php|php5)$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi.confを含める;
}
}
Elasticsearch.in.sh ファイルを編集します
ES_CLASSPATH=$ES_CLASSPATH:$ES_HOME/lib/*:$ES_HOME/lib/sigar/*
if [ "x$ES_MIN_MEM" = "x" ];
ES_MIN_MEM=4gフィ
if [ "x$ES_MAX_MEM" = "x" ];
ES_MAX_MEM=4g
フィ
4.1.2 Elasticsearchインデックス圧縮 vimindex_elastic.sh
#!/bin/bash#今すぐ elasticsearch のデータを圧縮
date=` 日付 +%Y.%m.%d `
# 新しいインデックスを圧縮します;
/usr/bin/curl -XPUT http://localhost:9200/logstash-$date/nginx-access/_mapping -d '{"nginx-access" : {"_source" : { "compress" : true } }}'
エコー「」
/usr/bin/curl -XPUT http://localhost:9200/logstash-$date/nginx-error/_mapping -d '{"nginx-error" : {"_source" : { "compress" : true } }}'
エコー「」
/usr/bin/curl -XPUT http://localhost:9200/logstash-$date/linux-syslog/_mapping -d '{"linux-syslog" : {"_source" : { "compress" : true } }}'
エコー「」
スクリプトを保存して実行します shindex_elastic.sh
5 使い方
5.1 Logstash クエリ ページ