成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ELK結(jié)合logback搭建日志中心

tracy / 353人閱讀

摘要:日志監(jiān)控和分析在保障業(yè)務(wù)穩(wěn)定運(yùn)行時(shí),起到了很重要的作用。本文搭建的的是一個(gè)分布式的日志收集和分析系統(tǒng)。對(duì)于隊(duì)列上的這些未處理的日志,有不同的幾臺(tái)進(jìn)行接收和分析。再由統(tǒng)一的進(jìn)行日志界面的展示。如等配置文件可以配置,等日志報(bào)表可視化熟練

ELK簡介ELKStack即Elasticsearch + Logstash + Kibana。日志監(jiān)控和分析在保障業(yè)務(wù)穩(wěn)定運(yùn)行時(shí),起到了很重要的作用。比如對(duì)nginx日志的監(jiān)控分析,nginx是有日志文件的,它的每個(gè)請(qǐng)求的狀態(tài)等都有日志文件進(jìn)行記錄,所以可以通過讀取日志文件來分析;redis的list結(jié)構(gòu)正好可以作為隊(duì)列使用,用來存儲(chǔ)logstash傳輸?shù)娜罩緮?shù)據(jù)。然后elasticsearch就可以進(jìn)行分析和查詢了。
本文搭建的的是一個(gè)分布式的日志收集和分析系統(tǒng)。logstash有agent和indexer兩個(gè)角色。對(duì)于agent角色,放在多帶帶的web機(jī)器上面,然后這個(gè)agent不斷地讀取nginx的日志文件,每當(dāng)它讀到新的日志信息以后,就將日志傳送到網(wǎng)絡(luò)上的一臺(tái)redis隊(duì)列上。對(duì)于隊(duì)列上的這些未處理的日志,有不同的幾臺(tái)logstash indexer進(jìn)行接收和分析。分析之后存儲(chǔ)到elasticsearch進(jìn)行搜索分析。再由統(tǒng)一的kibana進(jìn)行日志web界面的展示。
以上為抄襲!?。?br>好吧,讓我們切入正題:

Java環(huán)境安裝

首先我們需要一臺(tái)linux機(jī)器,緊哥其實(shí)非常不喜歡在window下安裝軟件,hoho~
當(dāng)然我們也默認(rèn)你已經(jīng)安裝了java,建議版本是使用1.8,但是我使用的是1.7,就是這么任性~

colin@colindev:~$ java -version 
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
Logstash安裝

下載logstash并解壓,推薦使用最新版本

創(chuàng)建simple.conf文件,并編寫測試conf

input { stdin { } }
output {
  elasticsearch { host => localhost }
  stdout { codec => rubydebug }
}
colin@colindev:~$ wget https://download.elastic.co/logstash/logstash/logstash-2.3.1.tar.gz
colin@colindev:~$ tar -zvxf logstash-2.3.1.tar.gz
colin@colindev:~$ vim simple.conf 
colin@colindev:~$ /home/colin/logstash-2.3.1/bin/logstash -f simple.conf --debug

3.可以看到logstash已經(jīng)運(yùn)行,輸入hello world會(huì)有l(wèi)og打印出來則安裝成功

Elasticsearch安裝

ElasticSearch默認(rèn)的對(duì)外服務(wù)的HTTP端口是9200,節(jié)點(diǎn)間交互的TCP端口是9300(這個(gè)可以自配置),注意打開tcp端口

先下載并解壓

安裝mobz/elasticsearch-head插件

啟動(dòng)logstash并測試 elasticsearch 注意:啟動(dòng)elasticsearch的話不能用root賬號(hào)哈~

colin@colindev:~$  wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.1.tar.gz
colin@colindev:~$  tar -zxvf elasticsearch-1.7.1.tar.gz 
[colin@colindev:bin ]$ ./plugin install mobz/elasticsearch-head
[colin@colindev bin]$ elasticsearch start

啟動(dòng)起來的界面是:

接下來就要安裝kibana了

Kibana安裝
[root@hadoop-slave ~]# wget https://download.elastic.co/kibana/kibana/kibana-4.1.1-linux-x64.tar.gz
[root@hadoop-slave elk]# tar -zxf kibana-4.1.1-linux-x64.tar.gz 
[root@hadoop-slave elk]# mv kibana-4.1.1-linux-x64 /usr/local/elk
[root@hadoop-slave bin]# pwd
/usr/local/elk/kibana/bin
[root@hadoop-slave bin]# ./kibana  &

打開http://localhost:5601/
如果需要遠(yuǎn)程訪問,需要打開iptables的tcp的5601端口。

ELK+logback結(jié)合

需要修改logstash的配置文件

修改logback配置文件github-> 使用ogstash-logback-encode

input {
  tcp {
    host => "192.168.1.167" 
    port => 9250
    mode => "server"
    tags => ["tags"]
    codec => json_lines  //可能需要更新logstash插件
  }

}


output {
 stdout{codec =>rubydebug}
  elasticsearch {
   hosts => ["localhost:9200"]  //這塊配置需要帶端口號(hào)
    flush_size => 1000

  }
}


         

    
         
            %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
            
        
    
    
        192.168.1.167:9250

        
        
    

    
        
    


                        
        
        
    

寫一個(gè)測試程序:

import org.junit.Test;
import org.slf4j.LoggerFactory;


/**
 * Created by colinsu on 2016/4/14.
 */
public class LogstashTest {
    private static final org.slf4j.Logger LGR = LoggerFactory.getLogger(LogstashTest.class);

    @Test
    public void test() {
        LogstashTest obj = new LogstashTest();
        try{
            obj.divide();
        }catch(ArithmeticException ex){
            LGR.error("大家好111!", ex);
        }
    }
    private void divide(){
        int i = 10 /0;
    }
}

使用logstash debug模式

/home/colin/logstash-2.3.1/bin/logstash -f simple.conf --debug

這里可能因?yàn)閎uffer大小的原因不能flush,多執(zhí)行幾次就好了,timestamp會(huì)相差8小時(shí),沒有什么影響,在kibana會(huì)顯示正常

使用kibana來查看相應(yīng)的結(jié)果

待改進(jìn)和學(xué)習(xí)的地方

需要加上收集的緩沖組件。如 redis,kafka等

配置文件可以配置niginx,linux,jvm等日志

報(bào)表可視化熟練

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65772.html

相關(guān)文章

  • window環(huán)境下搭建簡單ELK日志收集

    摘要:部署環(huán)境依賴第三方組件下載地址官網(wǎng)簡單的流程示意圖跟都支持集群部署,本文只簡單描述如何單獨(dú)部署部署步驟三件套版本最好一致,小版本可以高,但是不可以低。 window環(huán)境下搭建簡單ELK日志收集 前言本文主要介紹如何在window環(huán)境下部署elk日志收集,網(wǎng)絡(luò)上大部分是linux的,剛好這邊服務(wù)需要用到window 環(huán)境,配置方式有點(diǎn)不同,大體是一樣的。 部署環(huán)境window serve...

    Baaaan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<