日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ELK安装配置及nginx日志分析

發布時間:2023/12/15 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ELK安装配置及nginx日志分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、ELK簡介
1、組成
ELK是Elasticsearch、Logstash、Kibana三個開源軟件的組合。在實時數據檢索和分析場合,三者通常是配合使用,而且又都先后歸于 Elastic.co 公司名下,故有此簡稱。
Elasticsearch是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。
Logstash是一個完全開源的工具,它可以對你的日志進行收集、分析,并將其存儲供以后使用。
kibana 是一個開源和免費的工具,它可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數據日志。
2、工作流程
在需要收集日志的所有服務上部署logstash,作為logstash agent(logstash shipper)用于監控并過濾收集日志,將過濾后的內容發送到Redis,然后logstash indexer將日志收集在一起交給全文搜索服務ElasticSearch,可以用ElasticSearch進行自定義搜索通過Kibana 來結合自定義搜索進行頁面展示。

二、ELK安裝及配置

1、系統及軟件版本介紹:
系統:CentOS6.5_64
elasticsearch:elasticsearch-2.3.5.tar.gz
logstash:logstash-2.3.4.tar.gz
kibana:kibana-4.5.4-linux-x64.tar.gz
redis:redis-2.8.17.tar.gz
JDK:jdk-8u73-linux-x64.tar.gz

2、服務器規劃
在兩臺服務器安裝ELK組件
A(需要分析的nginx日志服務器):安裝logstash(logstash agent)
B(ELK服務端):安裝elasticsearch、logstash(logstash index)、kibana、redis

軟件包安裝目錄:/data/elk

3、創建用戶

# groupadd app # useradd -g app -d /data/elk elk

4、安裝及配置JDK
logstash及elasticsearch需要JDK支持

# su - elk $ tar zxf jdk-8u73-linux-x64.tar.gz $ vim .bash_profile (添加及修改如下內容)JAVA_HOME=/data/elk/jdk1.8.0_73 PATH=${JAVA_HOME}/bin:$PATH:$HOME/binexport PATH JAVA_HOME$ . .bash_profile

執行java -version命令查看到如下內容表示JDK配置OK。

java version "1.8.0_73" Java(TM) SE Runtime Environment (build 1.8.0_73-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)

注:以上3-4步在A、B服務器都需要進行操作。

5、A服務器安裝及配置logstash(logstash agent)

$ tar zxf logstash-2.3.4.tar.gz $ mv logstash-2.3.4 logstash $ mkdir logstash/conf $ vim logstash/conf/logstash_agent.conf #手動創建logstash配置文件,添加如下內容 input {file {type => "nginx access log"path => ["/app/nginx/logs/access.log"] #nginx日志路徑} } output {redis {host => "123.56.xx.xx" #redis server IPport => "6079" #redis server portdata_type => "list" #redis作為隊列服務器,key的類型為listkey => "logstash:redis" #key的名稱,可以自定義} }

語法檢查:

$ ./logstash -t -f ../conf/logstash_agent.conf Configuration OK

啟動logstash(最好是在B服務器安裝好redis后再進行啟動):

$ cd logstash/bin $ nohup ./logstash -f ../conf/logstash_agent.conf & $ tail -f nohup.out #查看日志,輸出以下內容,表示logstash正常啟動 {:timestamp=>"2016-12-05T11:06:35.407000+0800", :message=>"Pipeline main started"}

注:以下安裝及配置內容全部在B服務器上進行

6、安裝及配置redis

這個比較簡單(過程略,端口使用6079)

啟動redis

/data/elk/redis/bin/redis-server /data/elk/redis/conf/redis.conf

7、安裝及配置elasticsearch

$ tar zxf elasticsearch-2.3.5.tar.gz $ mv elasticsearch-2.3.5 elasticsearch $ mkdir elasticsearch/{logs,data} #創建日志及數據存放目錄 $ vim elasticsearch/config/elasticsearch.yml #修改如下內容 cluster.name: server node.name: node-1 path.data: /data/elk/elasticsearch/data path.logs: /data/elk/elasticsearch/logs network.host: 123.56.xx.xx http.port: 9200

啟動elasticsearch

$ cd elasticsearch/ $ nohup ./bin/elasticsearch &

通過瀏覽器訪問:

http://123.56.xx.xx:9200/

安裝elasticsearch-head插件:

$ cd elasticsearch/bin/ $ ./plugin install mobz/elasticsearch-head

訪問http://123.56.xx.xx:9200/_plugin/head/,可以查看集群狀態,集群的內容,執行搜索和普通的rest請求等:

8、安裝及配置logstash(logstash index)

$ tar zxf logstash-2.3.4.tar.gz $ mv logstash-2.3.4 logstash $ mkdir logstash/conf $ vim logstash/conf/logstash_indexer.conf #手動創建logstash配置文件,添加如下內容 input {redis {host => "123.56.xx.xx"port => "6079"data_type => "list"key => "logstash:redis"type => "redis-input"} } filter {grok {match => { "message" => "%{NGINXACCESS}" }}geoip {source => "clientip"add_tag => [ "geoip" ]database => "/data/elk/logstash/GeoLiteCity.dat"add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]}mutate {convert => [ "[geoip][coordinates]", "float"]}date {match => [ "timestamp","dd/MMM/yyyy:HH:mm:ss Z" ]remove_field => [ "timestamp" ]}useragent {source => "http_user_agent"target => "browser"} }output {elasticsearch {hosts => ["123.56.xx.xx:9200"]}stdout {codec => rubydebug} }

配置Logstash以使用GeoIP,下載最新的GeoLite城市數據庫

$ cd /data/elk/logstash $ curl -O "http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz" $ gzip -d GeoLiteCity.dat.gz

添加geo_point映射

curl -O https://gist.githubusercontent.com/thisismitch/3429023e8438cc25b86c/raw/d8c479e2a1adcea8b1fe86570e42abab0f10f364/filebeat-index-template.json curl -XPUT 'http://123.56.xx.xx:9200/_template/filebeat?pretty' -d@filebeat-index-template.json

定義nginx日志匹配規則

$ mkdir logstash/patterns $ vim nginx #添加內容如下: NGUSERNAME [a-zA-Z\.\@\-\+_%]+ NGUSER %{NGUSERNAME} NGINXACCESS %{IPORHOST:clientip} - %{NOTSPACE:remote_user} \[%{HTTPDATE:timestamp}\] \"(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})\" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} %{NOTSPACE:http_x_forwarded_for}

檢查配置并啟動logstash

$ ./logstash -t -f ../conf/logstash_indexer.conf Configuration OK nohup ./logstash -f ../conf/logstash_indexer.conf &

?9、安裝及配置kibana

$ tar zxf kibana-4.5.4-linux-x64.tar.gz $ mv kibana-4.5.4 kibana $ vi kibana/config/kibana.yml #修改內容如下 elasticsearch.url: "http://123.56.xx.xx:9200"

啟動kibana

$ cd kibana/bin $ nohup ./kibana &

訪問kibana

瀏覽器打開http://123.56.xx.xx:5601/

創建索引

使用默認的logstash-*的索引名稱,并且是基于時間的,點擊“Create”即可。

?

轉載于:https://www.cnblogs.com/Eivll0m/p/6134426.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的ELK安装配置及nginx日志分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。