ELK配備
6448 ワード
マスター端子:elasticsearch+logstash+redis+kibana
slave端:logstash+nginx or logstash+rsyslog
1.slave側収集nginx、syslogログをlogstashでmaster上のredisに書き込む
2.master上のlogstashはredis中のログをelasticに出力し、kibanaはelastic上の内容を再マッチングする
一、環境構成
1.jdkのインストール
wget http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1473218169_4d538ded6eda268bfa110cc3f1af771b
tar zxf jdk-8u102-linux-x64.tar.gz
mv jdk1.8.0_102/usr/local/java
cat/etc/profile
source/etc/profile
2.インストールredis
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
tar zxf redis-3.2.3.tar.gz
cd redis-3.2.3
make
make install
./utils/install_server.sh
二、elasticsearch配置
1.elasticのインストール
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.0/elasticsearch-2.4.0.tar.gz
tar zxf elasticsearch-2.4.0.tar.gz
cd elasticsearch-2.4.0
cat config/elasticsearch.yml#プロファイル
mkdir -p/data/ela/data/data/ela/logs
useradd elk
chown -R elk.elk /data/ela/data/data/ela/logs/data/elasticsearch-2.4.0
/data/elasticsearch-2.4.0/bin/elasticsearch(elasticのデフォルトではrootを使用して-des.insecure.allow.root=trueパラメータを使用してrootを使用して起動できません)
2.プラグインのインストール
Headカード(ノードデータ表示管理)
./elasticsearch/bin/plugin install mobz/elasticsearch-head
Kopfカード(クラスタ管理)
./elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf
Bigdeskプラグイン(CPUメモリインデックスデータ検索状況http接続数の監視)
./elasticsearch/bin/plugin install hlstudio/bigdesk
Marvelプラグイン(管理と監視、kibanaからプラグインにアクセス)
./elasticsearch/bin/plugin install license
./elasticsearch/bin/plugin install marvel-agent
./kiabana/bin/kibana plugin --install elasticsearch/marvel/latest
三、logstash配置 logstash をインストール
wget https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar.gz
tar zxf logstash-2.4.0.tar.gz
cd logstash-2.4.0
vim config/logstash.conf#master側を構成するファイルを新規作成
./bin/logstash -f config/logstash-slave.conf#masterエンドlogstashの起動
vim config/logstash.conf#新規構成slave側のファイル(インストール手順はmasterと同じ)
./bin/logstash -f config/logstash-slave.conf#slaveエンドlogstashの起動
四、kibana配置
1.kibanaのインストール
wget https://download.elastic.co/kibana/kibana/kibana-4.6.1-linux-x86_64.tar.gz
tar zxf kibana-4.6.1-linux-x86_64.tar.gz
cd kibana-4.6.1-linux-x86_64
cat config/kibana.yml
./bin/kibana
slave端:logstash+nginx or logstash+rsyslog
1.slave側収集nginx、syslogログをlogstashでmaster上のredisに書き込む
2.master上のlogstashはredis中のログをelasticに出力し、kibanaはelastic上の内容を再マッチングする
一、環境構成
1.jdkのインストール
wget http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz?AuthParam=1473218169_4d538ded6eda268bfa110cc3f1af771b
tar zxf jdk-8u102-linux-x64.tar.gz
mv jdk1.8.0_102/usr/local/java
cat/etc/profile
JAVA_HOME=/usr/local/java
JRE_HOME=/usr/local/java/jre
PATH=/usr/local/java/jre/bin:/usr/local/java/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH
source/etc/profile
2.インストールredis
wget http://download.redis.io/releases/redis-3.2.3.tar.gz
tar zxf redis-3.2.3.tar.gz
cd redis-3.2.3
make
make install
./utils/install_server.sh
二、elasticsearch配置
1.elasticのインストール
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.0/elasticsearch-2.4.0.tar.gz
tar zxf elasticsearch-2.4.0.tar.gz
cd elasticsearch-2.4.0
cat config/elasticsearch.yml#プロファイル
cluster.name: elk-test # ( )
node.name: server-102 #
node.master: true # ( true)
node.data: true # ( true)
path.data: /data/ela/data #
path.logs: /data/ela/logs #
bootstrap.memory_lock: true # swap
network.host: 172.16.0.102 # ip ( 0.0.0.0)
http.port: 9200 #
node.max_local_storage_nodes: 1 # 1
index.number_of_shards: 5 # ( 5)
discovery.zen.minimum_master_nodes: 1 # ( 2-4)
discovery.zen.ping.timeout: 5s #
discovery.zen.ping.multicast.enabled: false # ( true )
discovery.zen.ping.unicast.hosts: ["host1", "host2:port", "host3:port"] #
mkdir -p/data/ela/data/data/ela/logs
useradd elk
chown -R elk.elk /data/ela/data/data/ela/logs/data/elasticsearch-2.4.0
/data/elasticsearch-2.4.0/bin/elasticsearch(elasticのデフォルトではrootを使用して-des.insecure.allow.root=trueパラメータを使用してrootを使用して起動できません)
2.プラグインのインストール
Headカード(ノードデータ表示管理)
./elasticsearch/bin/plugin install mobz/elasticsearch-head
Kopfカード(クラスタ管理)
./elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf
Bigdeskプラグイン(CPUメモリインデックスデータ検索状況http接続数の監視)
./elasticsearch/bin/plugin install hlstudio/bigdesk
Marvelプラグイン(管理と監視、kibanaからプラグインにアクセス)
./elasticsearch/bin/plugin install license
./elasticsearch/bin/plugin install marvel-agent
./kiabana/bin/kibana plugin --install elasticsearch/marvel/latest
三、logstash配置
wget https://download.elastic.co/logstash/logstash/logstash-2.4.0.tar.gz
tar zxf logstash-2.4.0.tar.gz
cd logstash-2.4.0
vim config/logstash.conf#master側を構成するファイルを新規作成
# redis
input {
redis {
host => "100.100.100.102"
data_type => "list"
key => "logstash:redis"
type => "redis-input"
}
}
# 5.3.3 down
filter {
if [message] !~ "5.3.3|down" {
ruby {
code => "event.cancel"
}
}
}
#
filter {
grok {
match => {"message" => "%{COMBINEDAPACHELOG}"}
}
}
# [
filter {
multiline {
pattern => "^[^[]"
negate => true
what => "previous"
}
}
# elastic
output {
if [type] == "syslog" {
elasticsearch {
hosts => "172.16.0.102:9200"
index => "syslog-%{+YYYY.MM.dd}"
}
}
if [type] == "nginx" {
elasticsearch {
hosts => "172.16.0.102:9200"
index => "nglog-%{+YYYY.MM.dd}"
}
}
# paramiko simplejson
if [message] =~ /paramiko|simplejson/ {
email {
to => "[email protected]"
from => "[email protected]"
contenttype => "text/plain; charset=UTF-8"
address => "smtp.163.com"
username => "[email protected]"
password => "12344"
subject => " %{host} "
body => "%{@timestamp} %{type}: %{message}"
}
}
}
./bin/logstash -f config/logstash-slave.conf#masterエンドlogstashの起動
vim config/logstash.conf#新規構成slave側のファイル(インストール手順はmasterと同じ)
# nginx
input {
file {
type => "nginx"
path => "/usr/local/nginx/logs/access.log"
add_field => {"ip"=>"100.100.100.100"}
start_position => "beginning" #
}
syslog {
type => "syslog"
host => "100.100.100.100"
port => "514"
}
file {
type=> "syslog"
path => "/var/log/messages"
}
}
# master redis
output {
redis {
host => "100.100.100.102"
port => "6379"
data_type => "list"
key => "logstash:redis"
}
}
./bin/logstash -f config/logstash-slave.conf#slaveエンドlogstashの起動
四、kibana配置
1.kibanaのインストール
wget https://download.elastic.co/kibana/kibana/kibana-4.6.1-linux-x86_64.tar.gz
tar zxf kibana-4.6.1-linux-x86_64.tar.gz
cd kibana-4.6.1-linux-x86_64
cat config/kibana.yml
server.port: 5601 #
server.host: "172.16.0.102" # ip
elasticsearch.url: "http://172.16.0.102:9200" # elastic
kibana.index: ".kibana" # elastic .kibana
./bin/kibana