elk+redis分布式分析nginx日志
一.elk套件介紹
ELK 由 ElasticSearch 、 Logstash 和 Kiabana 三個(gè)開源工具組成。官方網(wǎng)站:?https://www.elastic.co/products
Elasticsearch 是個(gè)開源分布式搜索引擎,它的特點(diǎn)有:分布式,零配置,自動(dòng)發(fā)現(xiàn),索引自動(dòng)分片,索引副本機(jī)制, restful 風(fēng)格接口,多數(shù)據(jù)源,自動(dòng)搜索負(fù)載等。
Logstash 是一個(gè)完全開源的工具,他可以對你的日志進(jìn)行收集、分析,并將其存儲(chǔ)供以后使用(如,搜索)。
kibana 也是一個(gè)開源和免費(fèi)的工具,他 Kibana 可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數(shù)據(jù)日志。
工作原理如下如所示:
**客戶端的logstash從日志里取出數(shù)據(jù)推送到服務(wù)端的redis里,服務(wù)端的logstash從redis里取出推送到elasticsearch,elasticsearch進(jìn)行分析,kibana來展示
注:安裝全部使用rpm安裝,方便管理
二、服務(wù)端安裝過程
1.安裝依賴JDK
版本:jre-8u91-linux-x64.rpm
# rpm -ivh jre-8u91-linux-x64.rpm Preparing... ########################################### [100%] 1:jre1.8.0_91 ########################################### [100%] Unpacking JAR files...plugin.jar...javaws.jar...deploy.jar...rt.jar...jsse.jar...charsets.jar...localedata.jar...jfxrt.jar...2.安裝logstash
版本:logstash-2.3.2-1.noarch.rpm
# rpm -ivh logstash-2.3.2-1.noarch.rpm Preparing... ########################################### [100%]3.安裝elasticsearch
版本:elasticsearch-2.3.3.rpm
# rpm -ivh elasticsearch-2.3.3.rpm Preparing... ########################################### [100%]4.安裝kibana
版本:kibana-4.5.1-1.x86_64.rpm
# rpm -ivh kibana-4.5.1-1.x86_64.rpm Preparing... ########################################### [100%] 1:kibana ########################################### [100%]5.安裝redis
版本: redis-3.0.0.tar.gz
#tar xf redis-3.0.0.tar.gz #cd redis-3.0.0 #make #mkdir /usr/local/redis #mkdir /usr/local/redis/bin #cp src/redis-benchmark /usr/local/redis/bin/ #cp src/redis-check-aof /usr/local/redis/bin/ #cp src/redis-check-dump /usr/local/redis/bin/ #cp src/redis-cli /usr/local/redis/bin/ #cp src/redis-sentinel /usr/local/redis/bin/ #cp src/redis-server /usr/local/redis/bin/ #cp redis.conf /usr/local/redis/ #cd /usr/local/redis/ #mv redis.conf redis_6378.conf三.客戶端安裝過程
1.安裝依賴JDK
版本:jre-8u91-linux-x64.rpm
# rpm -ivh jre-8u91-linux-x64.rpm Preparing... ########################################### [100%] 1:jre1.8.0_91 ########################################### [100%] Unpacking JAR files...plugin.jar...javaws.jar...deploy.jar...rt.jar...jsse.jar...charsets.jar...localedata.jar...jfxrt.jar...2.安裝logstash
版本:logstash-2.3.2-1.noarch.rpm
# rpm -ivh logstash-2.3.2-1.noarch.rpm Preparing... ########################################### [100%]四.客戶端配置
#cd /etc/logstash/conf.d/ #新建一個(gè)conf文件 ## vi nginx_access.conf配置文件如下:
input {file {type => "nginx_access"#分析的日志路徑。一般都是咱們的squid or nginx日志路徑path => ["/usr/local/nginx/logs/access.log"]codec => plain {charset => ["UTF-8"] #字符編碼UTF-8}}}output {stdout {}redis {#將過濾好的數(shù)據(jù)推送到服務(wù)端的redis里host => '服務(wù)端IP地址'data_type => 'list'key => 'elk:redis'codec => json {charset => ["UTF-8"]}}}啟動(dòng)服務(wù)
/etc/init.d/logstash start五、服務(wù)端配置
1.修改logstash配置文件
# cd /etc/logstash/conf.d/ # vi nginx_access.confinput {redis {#從redis里取出日志host => '服務(wù)器IP地址'data_type => 'list'port => "6378"key => 'elk:redis'type => 'redis-input'codec => plain {charset => "UTF-8"}} } filter {json{source =>"message" } } #把日志交給elastic分析 output {elasticsearch {hosts => ["127.0.0.1:9200"]codec => "json"} }2.修改logstash運(yùn)行內(nèi)存
vi /etc/init.d/logstash LS_HEAP_SIZE="1g" #此處可以根據(jù)你服務(wù)器的配置來修改3.配置elasticsearch
vi /usr/share/elasticsearch/bin/elasticsearch.in.sh if [ "x$ES_MAX_MEM" = "x" ]; thenES_MAX_MEM=4g fi 將max調(diào)整為4g #此處可以根據(jù)你服務(wù)器的配置來修改 修改elasticsearch 監(jiān)聽地址 vi /etc/elasticsearch/elasticsearch.yml network.host: 0.0.0.04.啟動(dòng)相關(guān)服務(wù)
/etc/init.d/elasticsearch start /etc/init.d/logstash start /etc/init.d/kibana start /usr/local/redis/bin/redis-server /usr/local/redis/redis_6378.conf & #記得redis添加防火墻,要不容易被啪啪。5.kibana顯示
略。來源:https://www.cnblogs.com/liu-yao/p/5678963.html
總結(jié)
以上是生活随笔為你收集整理的elk+redis分布式分析nginx日志的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软银中国和日本软银有什么关系 方便在中国
- 下一篇: 沪深股市开盘时间和收盘时间 注意不