用途:node
1.問題排查。咱們常說,運維和開發這一生無非就是和問題在戰鬥,因此這個提及來很樸實的四個字,實際上是沉甸甸的。不少公司其實不缺錢,就要穩定,而要穩定,就要運維和開發可以快速的定位問題,甚至防微杜漸,把問題殺死在搖籃裏。日誌分析技術顯然問題排查的基石。基於日誌作問題排查,還有一個很帥的技術,叫全鏈路追蹤,好比阿里的eagleeye 或者Google的dapper,也算是日誌分析技術裏的一種。 2.監控和預警。 日誌,監控,預警是相輔相成的。基於日誌的監控,預警使得運維有本身的機械戰隊,大大節省人力以及延長運維的壽命。 3.關聯事件。多個數據源產生的日誌進行聯動分析,經過某種分析算法,就可以解決生活中各個問題。好比金融裏的風險欺詐等。這個能夠能夠應用到無數領域了,取決於你的想象力。 4.數據分析。 這個對於數據分析師,還有算法工程師都是有所裨益的。
官網下載:https://www.elastic.co/cn/downloads/
網速慢這邊有百度網盤:
連接:https://pan.baidu.com/s/15bojKanJ5k_YbBayjP1bdw
提取碼:m4vclinux
下載上述三個安裝包以後,上傳至服務器,準備開始安裝git
#建立用戶組esgithub
注:elasticsearch 不容許以 root 權限來運行!因此須要建立一個非root用戶,因爲ElasticSearch能夠接收用戶輸入的腳本而且執行,爲了系統安全考慮,
建議建立一個單獨的用戶用來運行ElasticSearch。算法
groupadd es
#建立新用戶es,設置用戶組爲es,密碼esnpm
useradd es -g es -p es
#受權,更改elasticsearch-7.12.0文件夾所屬用戶及用戶組爲es:es(首先在/home/elk 目錄下建立名成爲elasticsearch-7.12.0文件夾)json
chown -R es:es elasticsearch-7.12.0
#切換用戶esbootstrap
su - es
#開始安裝解壓vim
tar -xzvf elasticsearch-7.12.0-linux-x86_64.tar.gz
#修改es配置文件centos
1)調整jvm內存大小(機器內存夠也可不調整) vim elasticsearch-7.1.1/config/jvm.options #修改以下配置 -Xms512m -Xmx512m 2)vim /config/elasticsearch.yml network.host: 0.0.0.0 http.port: 9200 cluster.name: es_cluster path.data: /tmp/elasticsearch/data path.logs: /tmp/elasticsearch/logs 注:#對應目錄下用es用戶建立data和logs文件夾 node.name: node-1 bootstrap.memory_lock: false bootstrap.system_call_filter: false cluster.initial_master_nodes: ["node-1"]
#修改虛擬機配置文件
1)vim /etc/security/limits.conf 添加如下內容: * soft nofile 65536 * hard nofile 65536 2)vim /etc/sysctl.conf #添加如下配置信息 vm.max_map_count=262144 3)而且執行命令使前兩個配置生效: sysctl -p
#先彆着急啓動es
此時啓動es有可能會爆出如下錯誤
[es@VM-0-10-centos bin]$ ./elasticsearch warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/jdk1.8.0_211/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set. warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/jdk1.8.0_211/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
大體意思就是當前JDK版本不符合該版本的es,咱們須要作的就是要麼更換本機jdk 匹配當前版本的es,要麼使用該版本的自帶jdk,咱們選擇使用自帶的jdk。
在 /bin 下看到了一堆的可執行文件,其中有一個elasticsearch-env vim elasticsearch-env 新增:ES_JAVA_HOME="/home/elk/elasticsearch-7.12.0/jdk/"
#好的,整理心情,啓動es(es啓動可能會好久,須要耐心等待...)
#elasticsearch經常使用命令 #啓動命令 ./elasticsearch #後臺啓動命令 ./elasticsearch -d #設置開機自啓動 systemctl enable elasticsearch.service
#檢測是否啓動成功
第一種方法:看啓動日誌
第二種方法:訪問你本機的ip http://150.xxx.xxx.xxx:9200/
#安裝Elasticsearch-Head
1)nodejs安裝
# wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz // 下載 # tar xf node-v10.9.0-linux-x64.tar.xz // 解壓 # cd node-v10.9.0-linux-x64/ // 進入解壓目錄 # ./bin/node -v // 執行node命令 查看版本 v10.9.0 2)解壓文件的 bin 目錄底下包含了 node、npm 等命令,咱們能夠使用 ln 命令來設置軟鏈接:
ln -s /usr/software/nodejs/bin/npm /usr/local/bin/ ln -s /usr/software/nodejs/bin/node /usr/local/bin/
3)2)phantomjs安裝配置
wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
#缺乏bzip2包的同窗記得安裝下bzip2
yum -y install bzip2
tar -xvf phantomjs-2.1.1-linux-x86_64.tar.bz2
vim /etc/profile
export PATH=$PATH:/home/elk/phantomjs-2.1.1-linux-x86_64/bin
#注意環境變量$Path移動在最前面
source /etc/profile
4)elasticsearch-head安裝(他的主要用處我也沒搞清楚,後期再補充進來吧)
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
yum install -y nodejs
npm install -g cnpm --registry=https://registry.npm.taobao.org
#可能時間比較長
5)/elasticsearch-head 目錄下執行
npm install
npm run start
#安裝完成後 ,訪問地址
http://localhost:9200/ es #上面已經訪問過了
http://localhost:9100/ es head #訪問截圖以下,鏈接剛纔的es節點是否健
#解壓
tar -zxvf logstash-7.12.0-linux-x86_64.tar.gz
#修改配置文件
cd logstash-7.12.0/config/ vim log4j_to_es.conf #沒有改文件的自行建立一下
#文件中插入一下內容
input { stdin { } beats { port => 5000 } tcp { port => 4569 codec => "json" } } output { elasticsearch { action => "index" hosts => "本機ip:9200" index => "%{[appname]}-%{+YYYY-MM}" } stdout { codec=> rubydebug } }
#啓動
./bin/logstash -f config/log4j_to_es.conf &
#解壓
tar -zxvf kibana-7.12.0-linux-x86_64
#修改Kibana的配置文件
cd kibana-7.12.0-linux-x86_64/config/ vim kibana.yml 修改配置文件以下: # 端口 server.port: 5601 # 指定本機ip讓外部能訪問 server.host: "0.0.0.0" # 請求數據指向的elasticsearch服務器 elasticsearch.hosts: ["http://ip:9200"]
#啓動
sh kibana &
#訪問地址:http://ip:5601