ELK自動安裝腳本

ELK自動安裝腳本

一嘉抒、簡介

ELK由Elasticsearch、Logstash和Kibana三部分組件組成担孔;

Elasticsearch是個開源分布式搜索引擎替蛉,它的特點有:分布式,零配置冠胯,自動發(fā)現(xiàn)火诸,索引自動分片,索引副本機制涵叮,restful風格接口惭蹂,多數(shù)據(jù)源,自動搜索負載等割粮。

Logstash是一個完全開源的工具盾碗,它可以對你的日志進行收集、分析舀瓢,并將其存儲供以后使用

kibana 是一個開源和免費的工具廷雅,它可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數(shù)據(jù)日志航缀。

二商架、核心組件

Logstash: logstash server端用來搜集日志;

Elasticsearch: 存儲各類日志芥玉;

Kibana: web化接口用作查尋和可視化日志蛇摸;

Filebeat是一個日志文件托運工具,在你的服務(wù)器上安裝客戶端后灿巧,filebeat會監(jiān)控日志目錄或者指定的日志文件赶袄,追蹤讀取這些文件(追蹤文件的變化,不停的讀)抠藕,并且轉(zhuǎn)發(fā)這些信息到elasticsearch或者logstarsh中存放饿肺。

三、安裝腳本

#!/bin/bash

#mail:xuel@anchnet.com

#data:2017/9/7

#AutoInstall?ELK?scripts

#Software:elasticsearch-5.4.1/logstash-5.4.1/filebeat-5.4.1/kibana-5.4.1

clear

echo?"#############################################################################"

echo?"#???????????????????????????Auto?Install?ELK.??????????????????????????????##"

echo?"#???????????????????????????Press?Ctrl?+?C?to?cancel???????????????????????##"

echo?"#???????????????????????????Any?key?to?continue????????????????????????????##"

echo?"#?Softwae:elasticsearch-5.4.1/logstash-5.4.1/filebeat-5.4.1/kibana-5.4.1???##"

echo?"#############################################################################"

read?-n?1

software_dir="/usr/local/software"

elasticsearch_url="https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.tar.gz"

kibana_url="https://artifacts.elastic.co/downloads/kibana/kibana-5.4.1-linux-x86_64.tar.gz"

logstash_url="https://artifacts.elastic.co/downloads/logstash/logstash-5.4.1.tar.gz"

filebeat_url="https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.1-linux-x86_64.tar.gz"

sys_version=`cat?/etc/redhat-release?|awk?'{print?$4}'|cut?-d.?-f1`

IP=`ip?addr|grep?"inet?"|grep?-v?127.0.0.1|awk?'{print?$2}'|cut?-d/?-f1`

jvm_conf="/usr/local/elasticsearch/config/jvm.options"

sys_mem=`free?-m|grep?Mem:|awk?'{print?$2}'|awk?'{sum+=$1}?END?{print?sum/1024}'|cut?-d.?-f1`

#wget?software

wget_fun()?{

if?[?!?-d?${software_dir}?];then

mkdir?-p?${software_dir}?&&?cd?${software_dir}

else

cd?${software_dir}

fi

for?software?in?$elasticsearch_url?$kibana_url?$logstash_url?$filebeat_url

do

wget?-c?$software

done

clear

}

#initial?system:install?java?wget;set?hostname;disable?firewalld

init_sys()?{

[?-f?/etc/init.d/functions?]?&&?.?/etc/init.d/functions

[?"${sys_version}"?!=?"7"?]?&&?echo?"Error:This?Scripts?Support?Centos7.xx"?&&?exit?1

[?$(id?-u)?!=?"0"?]?&&?echo?"Error:?You?must?be?root?to?run?this?script"?&&?exit?1

sed?-i?"s/SELINUX=enforcing/SELINUX=disabled/"??/etc/selinux/config

setenforce?0

yum?install?-y?java-1.8.0-openjdk?wget

hostnamectl?set-hostname?elk-server

systemctl?stop?firewalld

cat?>>/etc/security/limits.conf<

*?soft?nofile?65536

*?hard?nofile?65536

*?soft?nGproc?65536

*?hard?nproc?65536

EOF

}

#install?elasticsearch

install_elasticsearch()?{

cd?$software_dir

tar?zxf?elasticsearch-5.4.1.tar.gz

mv?elasticsearch-5.4.1?/usr/local/elasticsearch

mkdir?-p?/usr/local/elasticsearch/data?/usr/local/elasticsearch/logs

useradd?elasticsearch

chown?-R?elasticsearch:elasticsearch?/usr/local/elasticsearch

echo?"vm.max_map_count?=?655360"?>>/etc/sysctl.conf?&&?sysctl?-p

if?[?${sys_mem}?-eq?0?];then

sed?-i?"s#`grep?"^-Xmx"?${jvm_conf}`#"-Xmx512m"#g"?${jvm_conf}

sed?-i?"s#`grep?"^-Xms"?${jvm_conf}`#"-Xms512m"#g"?${jvm_conf}

else

sed?-i?"s#`grep?"^-Xmx"?${jvm_conf}`#"-Xmx${sys_mem}g"#g"?${jvm_conf}

sed?-i?"s#`grep?"^-Xms"?${jvm_conf}`#"-Xms${sys_mem}g"#g"?${jvm_conf}

fi

cat?>>/usr/local/elasticsearch/config/elasticsearch.yml<

cluster.name:?my-application

node.name:?elk-server

path.data:?/usr/local/elasticsearch/data

path.logs:?/usr/local/elasticsearch/logs

network.host:?127.0.0.1

http.port:?9200

discovery.zen.ping.unicast.hosts:?["elk-server"]

EOF

su?-?elasticsearch?-c?"nohup?/usr/local/elasticsearch/bin/elasticsearch?&"

}

#install?logstash

install_logstash()?{

cd?$software_dir

tar?-zxf?logstash-5.4.1.tar.gz

mv?logstash-5.4.1?/usr/local/logstash

cat>/usr/local/logstash/config/01-syslog.conf<

input?{

beats?{

port?=>?"5044"

}

}

output?{

elasticsearch?{

hosts?=>?"127.0.0.1:9200"

}

stdout?{?codec?=>?rubydebug?}

}

EOF

nohup?/usr/local/logstash/bin/logstash?-f?/usr/local/logstash/config/01-syslog.conf?&?>/dev/null

}

#install?filebeat

install_filebeat()?{

cd?$software_dir

tar?-zxf?filebeat-5.4.1-linux-x86_64.tar.gz

mv?filebeat-5.4.1-linux-x86_64?/usr/local/filebeat

cat?>/usr/local/filebeat/filebeat.yml<

filebeat.prospectors:

-?input_type:?log

paths:

-?/var/log/*.log

output.logstash:

hosts:?["127.0.0.1:5044"]

EOF

cd?/usr/local/filebeat/

nohup?/usr/local/filebeat/filebeat?&?>/dev/null

}

#install?kibana

install_kibana()?{

cd?$software_dir

tar?-zxf?kibana-5.4.1-linux-x86_64.tar.gz

mv?kibana-5.4.1-linux-x86_64?/usr/local/kibana

cat?>>?/usr/local/kibana/config/kibana.yml?<

server.port:?5601

server.host:?"0.0.0.0"

elasticsearch.url:?"http://127.0.0.1:9200"

EOF

nohup?/usr/local/kibana/bin/kibana?&?>/dev/null

}

check()?{

port=$1

program=$2

check_port=`netstat?-lntup|grep?${port}|wc?-l`

check_program=`ps?-ef|grep?${program}|grep?-v?grep|wc?-l`

if?[?$check_port?-gt?0?]?&&?[?$check_program?-gt?0?];then

action?"${program}?run?is?ok!"?/bin/true

else

action?"${program}?run?is?error!"?/bin/false

fi

}

main()?{

init_sys

wget_fun

install_elasticsearch

install_filebeat

install_logstash

install_kibana

echo?-e?"\033[32m?Checking?Elasticsearch...\033[0m"

sleep?20

check?:9200?"elasticsearch"

echo?-e?"\033[32m?Checking?Logstash...\033[0m"

sleep?2

check?":9600"?"logstash"

echo?-e?"\033[32m?Checking?Kibana...\033[0m"

sleep?2

check?":5601"?"kibana"

action?"ELK?install?is?success!"?/bin/true

echo?"url:http://$IP:5601"

}

main

四盾似、腳本安裝

安裝完成訪問:http://IP:5601即可訪問

五敬辣、配置

通過web界面訪問,創(chuàng)建index patterns

六零院、查看日志與dashboard

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末溉跃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子门粪,更是在濱河造成了極大的恐慌喊积,老刑警劉巖烹困,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玄妈,死亡現(xiàn)場離奇詭異,居然都是意外死亡髓梅,警方通過查閱死者的電腦和手機拟蜻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枯饿,“玉大人酝锅,你說我怎么就攤上這事∩莘剑” “怎么了搔扁?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蟋字。 經(jīng)常有香客問我稿蹲,道長,這世上最難降的妖魔是什么鹊奖? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任苛聘,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘设哗。我一直安慰自己唱捣,他們只是感情好,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布网梢。 她就那樣靜靜地躺著震缭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪战虏。 梳的紋絲不亂的頭發(fā)上蛀序,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音活烙,去河邊找鬼徐裸。 笑死,一個胖子當著我的面吹牛啸盏,可吹牛的內(nèi)容都是我干的重贺。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼回懦,長吁一口氣:“原來是場噩夢啊……” “哼气笙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起怯晕,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤潜圃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后舟茶,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谭期,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年吧凉,在試婚紗的時候發(fā)現(xiàn)自己被綠了隧出。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡阀捅,死狀恐怖胀瞪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情饲鄙,我是刑警寧澤凄诞,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站忍级,受9級特大地震影響帆谍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜颤练,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一既忆、第九天 我趴在偏房一處隱蔽的房頂上張望驱负。 院中可真熱鬧,春花似錦患雇、人聲如沸跃脊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酪术。三九已至,卻和暖如春翠储,著一層夾襖步出監(jiān)牢的瞬間绘雁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工援所, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留庐舟,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓住拭,卻偏偏與公主長得像挪略,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子滔岳,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容