日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡單介紹一下Logstash開源日志管理

Logstash是具有實(shí)時流水線能力的開源的數(shù)據(jù)收集引擎。Logstash可以動態(tài)統(tǒng)一不同來源的數(shù)據(jù),并將數(shù)據(jù)標(biāo)準(zhǔn)化到您選擇的目標(biāo)輸出。它提供了大量插件,可幫助我們解析,豐富,轉(zhuǎn)換和緩沖任何類型的數(shù)據(jù)。

10年積累的網(wǎng)站設(shè)計制作、做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計制作后付款的網(wǎng)站建設(shè)流程,更有高平免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

一、原理

Input

可以從文件中、存儲中、數(shù)據(jù)庫中抽取數(shù)據(jù),Input有兩種選擇一個是交給Filter進(jìn)行過濾、修剪。另一個是直接交給Output

Filter

能夠動態(tài)地轉(zhuǎn)換和解析數(shù)據(jù)??梢酝ㄟ^自定義的方式對數(shù)據(jù)信息過濾、修剪

Output

提供眾多輸出選擇,您可以將數(shù)據(jù)發(fā)送到您要指定的地方,并且能夠靈活地解鎖眾多下游用例。

二、安裝使用

1.安裝

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.0.1.rpm
yum install -y ./logstash-6.0.1.rpm

2.Logstash配置文件

vim /etc/logstash/logstash.yml
path.data: /var/lib/logstash                                    # 數(shù)據(jù)存放路徑
path.config: /etc/logstash/conf.d/*.conf                        # 其他插件的配置文件,輸入輸出過濾等等
path.logs: /var/log/logstash                                    # 日志存放路徑

3.Logstash中的JVM配置文件

Logstash是一個基于Java開發(fā)的程序,需要運(yùn)行在JVM中,可以通過配置jvm.options來針對JVM進(jìn)行設(shè)定。比如內(nèi)存的最大最小、垃圾清理機(jī)制等等。這里僅僅列舉最常用的兩個。

JVM的內(nèi)存分配不能太大不能太小,太大會拖慢操作系統(tǒng)。太小導(dǎo)致無法啟動。

vim /etc/logstash/jvm.options                               # logstash有關(guān)JVM的配置
-Xms256m                                                    # logstash最大最小使用內(nèi)存
-Xmx1g

4.最簡單的日志收集配置

安裝一個httpd用于測試,配置Logstash收集Apache的accless.log日志文件

yum install httpd
echo "Hello world" > /var/www/html/index.html               # 安裝httpd,創(chuàng)建首頁用于測試
vim /etc/logstash/conf.d/test.conf
input {
   file {                                                  # 使用file作為數(shù)據(jù)輸入
       path => ['/var/log/httpd/access_log']               # 設(shè)定讀入數(shù)據(jù)的路徑
       start_position => beginning                         # 從文件的開始處讀取,end從文件末尾開始讀取
   }
}
output {                                                    # 設(shè)定輸出的位置
   stdout {
       codec => rubydebug                                  # 輸出至屏幕
   }
}

5.測試配置文件

logstash是自帶的命令但是沒有再環(huán)境變量中,所以只能使用絕對路徑來使用此命令。

/usr/share/logstash/bin/logstash -t  -f  /etc/logstash/conf.d/test.conf   # 測試執(zhí)行配置文件,-t要在-f前面
Configuration OK                                                          # 表示測試OK

6.啟動logstash

在當(dāng)前會話運(yùn)行l(wèi)ogstash后不要關(guān)閉這個會話暫時稱其為會話1,再打開一個新的窗口為會話2

/usr/share/logstash/bin/logstash  -f  /etc/logstash/conf.d/test.conf

啟動以后在會話2中使用curl命令進(jìn)行測試

curl 172.18.68.14

然后在回到之前的會話1可以看到輸出的信息

{
     "@version" => "1",
         "host" => "logstash.shuaiguoxia.com",
         "path" => "/var/log/httpd/access_log",
   "@timestamp" => 2017-12-10T14:07:07.682Z,
      "message" => "172.18.68.14 - - [10/Dec/2017:22:04:44 +0800] \"GET / HTTP/1.1\" 200 12 \"-\" \"curl/7.29.0\""
}

至此最簡單的Logstash配置就已經(jīng)完成了,這里僅僅是將收集到的直接輸出沒有進(jìn)行過濾或者修剪。

三、Elasticsearch與Logstash

上面的配置時Logsatsh從日志文件中抽取數(shù)據(jù),然后輸出至屏幕。那么在生產(chǎn)中往往是將抽取的數(shù)據(jù)過濾后輸出到Elasticsearch中。下面講解Elasticsearch結(jié)合Logstash

Logstash抽取httpd的access.log文件,然后經(jīng)過過濾(結(jié)構(gòu)化)之后輸出給Elasticsearch Cluster,在使用Head插件就可以看到抽取到的數(shù)據(jù)。(Elasticsearch Cluster與Head插件搭建請查看前兩篇文章)

配置Logstash

   vim /etc/logstash/conf.d/test.conf
   input {
   file {
       path => ['/var/log/httpd/access_log']
       start_position => "beginning"
   }
   }
   filter {
   grok {
       match => {
           "message" => "%{COMBINEDAPACHELOG}"
       }

       remove_field => "message"  
   }
   }
   output {
   elasticsearch {
       hosts => ["http://172.18.68.11:9200","http://172.18.68.12:9200","http://172.18.68.13:9200"]
       index => "logstash-%{+YYYY.MM.dd}"
       action => "index"
       document_type => "apache_logs"
   }
   }

啟動Logstash

    /usr/share/logstash/bin/logstash -t -f /etc/logstash/conf.d/test.conf       # 測試配置文件
   Configuration OK
    /usr/share/logstash/bin/logstash  -f /etc/logstash/conf.d/test.conf         # 啟動Logstash

測試

每個執(zhí)行10次172.18.68.14,位Logstash的地址

   curl 127.0.0.1
   curl 172.18.68.14

驗(yàn)證數(shù)據(jù)

使用瀏覽器訪問172.18.68.11:9100(Elastisearch 安裝Head地址,前面文章有講)

選擇今天的日期,就能看到一天內(nèi)訪問的所有數(shù)據(jù)。

四、監(jiān)控其他

監(jiān)控Nginx日志

僅僅列了filter配置塊,input與output參考上一個配置

   filter {
       grok {
               match => {
                       "message" => "%{HTTPD_COMBINEDLOG} \"%{DATA:realclient}\""
               }
               remove_field => "message"
       }
       date {
               match => ["timestamp","dd/MMM/YYYY:H:m:s Z"]
               remove_field => "timestamp"
       }
   }

監(jiān)控Tomcat

僅僅列了filter配置塊,input與output參考上一個配置

   filter {
       grok {
               match => {
                       "message" => "%{HTTPD_COMMONLOG}"
               }
               remove_field => "message"
       }
       date {
               match => ["timestamp","dd/MMM/YYYY:H:m:s Z"]
               remove_field => "timestamp"
       }
   }

五、Filebeat

現(xiàn)在已經(jīng)搭建成在節(jié)點(diǎn)安裝Logstash并發(fā)送到Elasticsearch中去,但是Logstash是基于Java開發(fā)需要運(yùn)行在JVM中,所以是一個重量級采集工具,僅僅對于一個日志采集節(jié)點(diǎn)來說使用Logstash太過重量級,那么就可以使用一個輕量級日志收集工具Filebeat來收集日志信息,F(xiàn)ilebeat同一交給Logstash進(jìn)行過濾后再Elasticsearch。這些在接下來的文章在進(jìn)行講解,先放一張架構(gòu)圖吧。


文章題目:簡單介紹一下Logstash開源日志管理
地址分享:http://www.dlmjj.cn/article/coehdhe.html