Kibana+Logstash+Elasticsearch ログクエリシステム、kibanalogstash

WBOY
リリース: 2016-07-06 14:25:08
オリジナル
947 人が閲覧しました

Kibana+Logstash+Elasticsearch ログクエリシステム、kibanalogstash

このプラットフォームを構築する目的は、運用、保守、研究開発のためのログクエリを容易にすることです。 Kibana は無料の Web シェルであり、Logstash はさまざまなログ収集プラグインを統合し、優れた定期的なログ ツールです。Elasticsearch はオープン ソースの検索エンジン フレームワークです (クラスター アーキテクチャをサポートします)。

1 インストール要件

1.1 理論的トポロジー

1.2 設置環境

1.2.1 ハードウェア環境

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)

1.2.2 オペレーティングシステム

CentOS 5.6 X64

1.2.3 Webサーバー基本環境

Nginx+php (インストールプロセスをスキップ)

1.2.4 ソフトウェアリスト

JDK 1.6.0_25

logstash-1.1.0-monolithic.jar

elasticsearch-0.18.7.zip

redis-2.4.12.tar.gz

キバナ

1.3 入手方法

1.3.1 JDKの取得パス

http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html

1.3.2 Logstash パスの取得

http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar

1.3.3 Elasticsearch パスの取得

https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.18.7.zip

1.3.4 Kibana パスの取得

http://github.com/rashidkpc/Kibana/tarball/master

2 インストール手順

2.1 JDKのダウンロードとインストール

基本的なインストール

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

2.2 Redisのダウンロードとインストール

wget http://redis.googlecode.com/files/redis-2.4.14.tar.gz

make –j24

メイクインストール

mkdir -p /data/redis

cd /data/redis/

mkdir {db、ログなど}

2.3 Elasticsearchのダウンロードとインストール

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 を解凍します

2.4 Logstashのダウンロードとインストール

mkdir –p /data/logstash/ && cd /data/logstash

wget http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar

2.5 Kibanaのダウンロードとインストール

wget http://github.com/rashidkpc/Kibana/tarball/master --no-check-certificate

tar zxvf マスター

3 関連する設定と起動

3.1 Redisの設定と起動

3.1.1 設定ファイル

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

アクティブリハッシュはい

3.1.2 Redisの起動

[logstash@Logstash_2 redis]# redis-server /data/redis/etc/redis.conf &

3.2 Elasticsearchの設定と起動

3.2.1 Elasticsearchの起動

[logstash@Logstash_2 redis]# /data/elasticsearch/elasticsearch-0.18.7/bin/elasticsearch –p ../esearch.pid &

3.2.2 Elasticsearchクラスターの構成

カール 127.0.0.1:9200/_cluster/nodes/192.168.50.62

3.3 Logstash の設定と起動

3.3.1 Logstash設定ファイル

入力{

レディス{

ホスト => "192.168.50.98"

data_type =>「リスト」

key => "logstash:redis"

type => "redis-input"

}

}

フィルター {

グロク{

type => "linux-syslog"

パターン => "%{SYSLOGLINE}"

}

グロク{

type => "nginx-access"

パターン => "%{NGINXACCESSLOG}"

}

}

出力{

弾性検索 {

ホスト=>「192.168.50.62」

}

}

3.3.2 Logstash は Index として開始します

java -jar logstash.jar エージェント -f my.conf &

3.3.3 Logstash がエージェントとして開始します

プロフィール

入力{

ファイル{

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 &

3.3.4 キバナ構成

まず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を含める;

}

}

4つのパフォーマンスチューニング

4.1 Elasticsearch チューニング

4.1.1 JVM チューニング

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 クエリ ページ

Firefox または Google Chrome を使用して http://logstash.test.com にアクセスしてください

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート