日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【产品环境】使用ELK搭建日志系统

發布時間:2025/3/20 windows 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【产品环境】使用ELK搭建日志系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

隨著業務不斷完善與發展,日志的重要性穩步上升。我們需要從日志中排查錯誤,以及分析用戶行為,為業務發展提供參考意見。因此,需要一套專門的日志系統幫助我們收集、分析、處理日志。

以前我曾經寫過一個logstash的blog: http://my.oschina.net/abcfy2/blog/372138 ,版本比較低,但是logstash的配置沒變過。此篇blog將比上述blog更詳盡一些,擴展到產品環境搭建完整的日志系統,但是logstash本身的配置不多做介紹,因為舊Blog已經介紹的比較詳細了。

本篇Blog主要介紹我們目前使用的日志系統的總體架構和部分配置。Kibana的使用暫時不在本篇Blog的覆蓋范圍之內,以后也許會單獨寫一篇kibana的使用,讀者也可以參考饒琛琳的《ELK stack權威指南》一書的相關章節。

本篇Blog的內容也并非自己獨自完成,關于log4j 1.2部分的配置和使用是開發同事共同探究實現的。

最后要說的一點是,日志系統的實現并不只是運維的工作,開發也需要配合,規范日志格式,規范項目埋點,便于排查問題。最后歸結與一點,要有執行力,要有人推動,不能隨隨便便的打日志,更不允許產品環境有亂七八糟的println這種調試方式的日志輸出。

關于ELK

ELK Stack指代三個獨立的組件: Elasticsearch,Logstash,Kibana。這三個獨立的組件組合使用,可以形成一套完整的日志解決方案。目前這三個產品先后歸于Elastic.co公司旗下,該公司圍繞Elasticsearch這個核心產品逐步打造一整套生態環境,使得ELK Stack這套架構日益成熟,而且周邊也逐步開始完善。

其中,Logstash的作用是處理日志,將日志解析為JSON格式進行傳遞。Elasticsearch的作用是數據庫,將最終解析的結果存庫,用于日后查詢與分析使用。Kibana是Elasticsearch的dashboard,用于圖形化展示elasticsearch數據庫的查詢結果。這三個組件搭配使用,將十分靈活,有以下幾個優點(以下內容節選自饒琛琳的《ELK stack權威指南》一書,感謝作者的努力):

  • 處理方式靈活。Elasticsearch是實時全文索引,不需要像Storm那樣預先編程才能使用。
  • 配置簡易上手。Elasticsearch全部采用JSON接口,Logstash是Ruby DSL設計,都是目前業界最通用的配置語法設計。
  • 檢索性能高效。雖然每次查詢都是實時計算,但是優秀的設計和實現基本可以達到百億級數據查詢的秒級響應。
  • 集群線性擴展。不管是Elasticsearch集群還是Logstash集群都是可以線性擴展的。
  • 前端操作炫麗。Kibana界面上,只需點擊鼠標,就可以完成搜索、聚合功能,生成炫麗的儀表盤。

Kibana的可視化效果:

Logstash的處理流程

其中,ELK的靈活性得益于Logstash的插件式設計,而且插件之間都是松耦合(通過JSON事件交互,接口統一)。數據流在Logstash會經過三個階段: Input -> Filter -> Output,而且Filter可以無限制串聯,形成流式處理,甚至可以干脆沒有。這三個階段既可以在單節點上完成,也可以直接Output到其他節點上,分布處理與卸載壓力。整個Logstash的基本流程圖如下:

Logstash的數據處理過程描述如下:

  • 進入Logstash的數據流,會被解析成一條一條的JSON記錄。每一條JSON在Logstash中稱為一個事件(event)。
  • Logstash對每條事件記錄可以使用Filter進行處理,如篩選,簡單聚合(如Multiline插件將多行JAVA堆棧異常聚合為一個事件),編解碼(如將unix時間戳轉為時間字符串,將k1=v1,k2=v2這種kv格式解析為{k1:v1, k2:v2}這種JSON格式,正則解析文本日志等),執行Ruby代碼等等,并且Filter可以無限制串聯。此過程可直接跳過,即不對事件做任何處理。
  • 通過Output插件,將解析處理過的數據輸出到指定目標,如RDB,TCP/UDP端口,Elasticsearch,消息隊列,文件等等,只要有對應插件的支持,就可以輸出到對應的目標中。
  • 整個Logstash的ruby DSL配置語法看起來像這樣:

    input {插件名1 {# 插件相關配置屬性}插件名2 {# 插件相關配置屬性}... SNIP ...插件名3 {# 插件相關配置屬性} }filter {插件名1 {# 插件相關配置屬性}插件名2 {# 插件相關配置屬性}... SNIP ...插件名3 {# 插件相關配置屬性} }output {插件名1 {# 插件相關配置屬性}插件名2 {# 插件相關配置屬性}... SNIP ...插件名3 {# 插件相關配置屬性} }

    舉個例子,比如存儲于日志文件中的某http access log日志:

    55.3.244.1 GET /index.html 15824 0.043

    經過了Logstash的inputs-file插件,輸入成為Logstash的一個事件,在Logstash會變成這樣(以rubydebug格式顯示):

    {"message" => "55.3.244.1 GET /index.html 15824 0.043","@version" => "1","@timestamp" => "2016-03-01T03:37:33.081Z","host" => "fengyu-Vostro-3900" }

    日志本身內容會存放在message這個field中,除此之外還會加上一些元數據,如host,@timestamp等。

    加上filters-grok這個Filter進行正則解析處理,解析message這個field(詳細配置參考filters-grok的文檔),最終將該事件解析成如下的事件:

    {"message" => "55.3.244.1 GET /index.html 15824 0.043","@version" => "1","@timestamp" => "2016-03-01T03:51:03.914Z","host" => "fengyu-Vostro-3900","client" => "55.3.244.1","method" => "GET","request" => "/index.html","bytes" => "15824","duration" => "0.043" }

    最后,通過outputs-elasticsearch這個output插件,將解析過的日志推送至Elasticsearch數據庫中存儲。

    通過elasticsearch中的各種查詢方式,即可按照自己的需求展示這些數據了。

    Logstash的這種設計,可以很容易進行線性擴展,比如不做filter處理,直接output到其他logstash實例的input端,將處理分散在不同的節點上。最極端的情況,甚至可以擴展成這個架構,兼顧HA(High Availability)與HP(High Performance):

    三個logstash實例互為冗余,將解析的結果推送至消息隊列,由另一個logstash實例將日志從消息隊列取出,推送至elasticsearch集群中。

    架構設計

    整個日志數據流的模型圖:

    每臺服務器上部署有我們自己開發的應用程序,以及這些應用程序的第三方依賴服務項(如數據庫,web服務器等)。

    因此日志源主要有兩種: 自己開發的應用程序的日志,依賴的第三方軟件的日志。

    我們自己開發的程序,直接將日志以JSON格式寫入消息隊列中。第三方服務大部分無法直接將日志寫入消息隊列中,而是輸出為日志文件,這種日志源通過logstash的filters-grok插件,解析日志文件后推送至消息隊列中。

    需要收集的第三方依賴的日志,以及收集哪些日志,詳見文檔末的附錄。

    消息隊列使用kafka + zookeeper的方式實現。日志專用的消息隊列部署在日志服務器中。

    注: 如果日志量比較小的話,可以沒必要這么復雜,比如省略掉kafka這個消息隊列,日志服務器也無需部署logstash,直接在應用服務器上用logstash將解析過的log推送至日志服務器上的es數據庫中。

    安全問題:

    所有服務盡可能只對內網ip暴露(通過防火墻實現),減少對外暴露的服務,并且以低權限賬戶運行。跨節點的服務(如mongodb復制集,kafka+zookeeper,postgresql集群等)連接一律采用SSL雙向認證的方案,提高安全性。

    詳細配置參考文檔末附錄的內容。

    解決方案

    根據上述描述,我們需要搭建一臺日志服務器,安裝ELK與日志專用的消息隊列。

    應用程序產生的日志直接推送至日志服務器的消息隊列中,經過logstash的處理最終推送至elasticsearch中,在kibana上進行展示。

    可以在logstash的Filter上定義報警規則,當日志有嚴重的錯誤時Output郵件報警。

    部署方案

    服務器上應用程序列表如圖所示:

    多臺產品服務器上,每臺服務器分別部署有應用程序和logstash,其他第三方服務按照需要組成集群(如postgresql集群,mongodb復制集等)。日志服務器上部署完整的ELK Stack和Kafka+Zookeeper。

    • 日志信息由應用程序生成時,直接寫入日志服務器的kafka隊列中。相關規范與配置參考文檔末的附錄內容。
    • 由第三方依賴程序產生的log,通常以文件形式存儲在產品服務器上。通過產品服務器的logstash解析日志文件后,推送至日志服務器的kafka。需要收集的日志列表參考文檔末的附錄。
    • 日志統一輸出到logs這個TOPIC中。
    • 日志服務器的logstash負責從日志服務器的kafka隊列中取出日志信息,推送至elasticsearch儲存,同時做報警規則,遇到需要報警的日志通過郵件方式報警。kibana作為elasticsearch的dashboard使用,對es數據庫存儲的內容進行可視化展示。

    擴展問題

    此架構在擴展上將即為便利,共有三個可擴展的點:

  • 通過消息隊列將外部依賴解耦,使得橫向擴展很容易,如果日志解析負載較高,可以利用消息隊列,在別的節點上進行解析后推送至es數據庫。甚至借助于Hadoop,Spark這樣的大數據處理引擎去解析。
  • 如果存儲容量成為一個問題,可以選擇hdfs,ceph這種分布式存儲解決方案,分散數據存儲容量,也可以使用增加elasticsearch分片節點解決這個問題。
  • 如果elasticsearch存儲效率成為了瓶頸,可以選擇增加elasticsearch分片集群節點解決這個問題。
  • 這些擴展方案均可在無需原程序改動的條件下進行擴展。

    部署步驟

    單節點部署

    推薦使用elastic.co的倉庫(RHEL/CentOS和Ubuntu/Debian倉庫為官方維護):

    • Elasticsearch地址: https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html
    • Logstash地址: https://www.elastic.co/guide/en/logstash/current/package-repositories.html
    • Kibana地址: https://www.elastic.co/guide/en/logstash/current/package-repositories.html

    推薦使用清華大學鏡像倉庫,我的issue已經被tuna接受,國內安裝速度會快許多(官方倉庫在S3上,所以你懂的)。tuna鏡像地址: http://mirrors.tuna.tsinghua.edu.cn/ELK/

    按照官方文檔的步驟,安裝之后根據需要定制配置,啟動服務,啟用開機自啟動即可。

    包管理器安裝的logstash,啟動配置存放于/etc/logstash/conf.d/,這個目錄一開始是空的,自己將logstash的配置文件以.conf結尾扔到這個目錄后,即可使用service logstash start啟動服務,日志存放于/var/log/logstash/。logstash的配置文件可以拆分成多個.conf文件,以規范配置,比如input.conf,filter.conf,output.conf。

    特別注意: logstash可以在一個目錄下存放多個.conf文件,logstash內部會將多個.conf文件合并為一個大的配置文件,合并的順序為文件名順序。所以特別注意你的filter配置,如果多個配置文件都有filter配置,特別注意filter的加載次序!否則會搞亂你的配置。如果你的filter只針對某個應用的日志使用,那么推薦你使用if [type] == "appname" { filter配置 }這種方式限制住你的filter的作用范圍。

    批量部署

    我用的是salt,產品環境Ubuntu Server 14.04 LTS,當然你也可以使用其他類似的工具,如puppet,chef,ansible等等。

    salt的logstash這個state的目錄結構如下:

    $ tree /srv/salt/logstash/ /srv/salt/logstash/ ├── config │?? ├── logagent │?? │?? ├── 00_log4j.conf │?? │?? ├── 01_vertx.conf │?? │?? ├── 02_mongod.conf │?? │?? ├── 03_postgresql.conf │?? │?? ├── 04_nginx.conf │?? │?? └── 99_output.conf │?? └── logserver │?? └── logserver.conf └── init.sls $ cat /srv/salt/logstash/init.sls logstash_repo:pkgrepo.managed:- name: deb http://mirrors.tuna.tsinghua.edu.cn/ELK/apt/logstash/2.3/ stable main- file: /etc/apt/sources.list.d/logstash.list- key_url: https://packages.elastic.co/GPG-KEY-elasticsearch- clean_file: Truelogstash:pkg.latest:- require:- pkgrepo: logstash_repologstash_grains:grains.list_present:- name: roles- value: logstashlogstash-config:file.recurse:- name: /etc/logstash/conf.d{% if 'logserver' in grains.get('roles', '') %}- source: salt://logstash/config/logserver/{% else %}- source: salt://logstash/config/logagent/{% endif %}- clean: True- makedirs: True- template: jinja{% if 'postgresql' in grains.get('roles', '') %} logstash-user:group.present:- name: adm- addusers: - "logstash" {% endif %}logstash-service:service.running:- name: logstash- enable: True- watch:- pkg: logstash- file: logstash-config

    最終推送到/etc/logstash/conf.d/目錄下的文件為00_log4j.conf,01_vertx.conf,02_mongod.conf,03_postgresql.conf,04_nginx.conf,99_output.conf,這樣命名是為了按照自己預期的文件順序疊加input,filter,output配置,而不會造成混亂。有關00_log4j.conf的配置內容參考博客開頭提供的舊的blog,這里基本沒大改過。

    測試用例

    為了演示這套架構的流程與效果,所以將這套架構最小化,將產品服務器的應用與日志服務器的應用全部部署在一個節點上測試。

    日志文件數據源以Nginx的access log為例,使用logstash將nginx access log中的內容推送至kafka隊列中,另一個logstash實例從kafka將nginx的log取出存入elasticsearch中。

    自己開發的應用程序直接按照上述日志規范打印日志進入kafka,由logstash從kafka中取出應用程序的日志,推送至elasticsearch中。

    日志文件用例

    修改Nginx的配置文件,使之打印出JSON格式的access log,配置方法見附錄內容。 access log內容如下:

    {"@timestamp":"2016-03-03T13:11:03+08:00","host":"sinoiot-172-16-250-3","clientip":"172.16.1.34","size":191,"responsetime":0.000,"http_host":"172.16.250.3","url":"/mirror/","xff":"-","referer":"-","agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36","status":200} {"@timestamp":"2016-03-03T13:11:03+08:00","host":"sinoiot-172-16-250-3","clientip":"172.16.1.34","size":0,"responsetime":0.000,"http_host":"172.16.250.3","url":"/favicon.ico","xff":"-","referer":"http://172.16.250.3/mirror/","agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36","status":204} ...

    模擬產品環境的Logstash的配置文件如下所示:

    input {file {path => "/var/log/nginx/access.log"codec => jsontype => "nginx"tags => "access"} }output {# stdout這個output插件僅作為調試階段使用,用于將處理過的結果打印在終端# 真實產品環境不需要這個outputstdout {codec => "rubydebug"}kafka {topic_id => "logs"bootstrap_servers => "172.16.250.10:9092" # 真實產品環境需要修改對應的kafka集群列表} }

    啟動logstash,將會看到終端上顯示解析過的事件:

    {"@timestamp" => "2016-03-03T05:11:03.000Z","host" => "sinoiot-172-16-250-3","clientip" => "172.16.1.34","size" => 191,"responsetime" => 0.0,"http_host" => "172.16.250.3","url" => "/mirror/","xff" => "-","referer" => "-","agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36","status" => 200,"@version" => "1","path" => "/var/log/nginx/access.log","type" => "nginx","tags" => [[0] "access"] } {"@timestamp" => "2016-03-03T05:11:03.000Z","host" => "sinoiot-172-16-250-3","clientip" => "172.16.1.34","size" => 0,"responsetime" => 0.0,"http_host" => "172.16.250.3","url" => "/favicon.ico","xff" => "-","referer" => "http://172.16.250.3/mirror/","agent" => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36","status" => 204,"@version" => "1","path" => "/var/log/nginx/access.log","type" => "nginx","tags" => [[0] "access"] }

    從kafka隊列中的logs這個topic獲取日志信息,將看到下列內容:

    $ bin/kafka-console-consumer.sh --zookeeper 172.16.250.10:2181 --topic logs --from-beginning {"@timestamp":"2016-03-03T05:12:21.000Z","host":"sinoiot-172-16-250-3","clientip":"218.75.124.3","size":162,"responsetime":0.000,"http_host":"218.75.124.3","url":"/mirror/packages.elastic.co/elasticsearch/2.x/debian/dists/stable/main/i18n/Translation-en","xff":"-","referer":"-","agent":"Debian APT-HTTP/1.3 (1.0.1ubuntu2)","status":404,"@version":"1","path":"/var/log/nginx/access.log","type":"nginx","tags":["access"]} {"@timestamp":"2016-03-03T05:12:21.000Z","host":"sinoiot-172-16-250-3","clientip":"218.75.124.3","size":162,"responsetime":0.000,"http_host":"218.75.124.3","url":"/mirror/packages.elastic.co/kibana/4.4/debian/dists/stable/main/i18n/Translation-en_US","xff":"-","referer":"-","agent":"Debian APT-HTTP/1.3 (1.0.1ubuntu2)","status":404,"@version":"1","path":"/var/log/nginx/access.log","type":"nginx","tags":["access"]}

    證明logstash已經將解析過的事件推送至kafka隊列中。

    由于消息隊列中存儲的日志都是解析過的,所以日志服務器上的配置就簡單多了,只需要通過logstash將kafka中的日志推送至elasticsearch存儲即可。

    日志服務器的logstash配置就簡單的多(真實產品環境下需要配置email filter插件,用于郵件報警)。

    模擬日志服務器的logstash配置:

    input {kafka {topic_id => "logs"zk_connect => "172.16.250.10:2181" # 真實產品環境替換為對應的zookeeper集群列表} }output {elasticsearch {codec => json}# 產品環境調試完畢,不需要stdout這個output pluginstdout {codec => "rubydebug"}# 產品環境需要郵件報警的話,加入email output# if 報警條件 {# email {# # email output插件的配置# }#} }

    最后,在kibana中將看到如下的效果:

    應用程序日志

    自己開發的應用程序直接按照JSON格式推送至Kafka消息隊列中,因此不需要通過logstash output kafka這種方式。log4j 1.2版本需要手工格式化成JSON,log4j 2.x版本提供了JSON appender,不過目前來看log4j 1.x版本依舊占據主流。輸出到kafka的配置參考附錄。

    由于推送的topic_id是一樣的,因此日志服務器中的logstash配置也無需修改。

    從kafka隊列中取出log,看看格式:

    $ bin/kafka-console-consumer.sh --zookeeper 172.16.250.10:2181 --topic logs --from-beginning {"@timestamp":"2016-03-03T17:03:32.772+08:00","host":"172.16.1.4","type":"rtds","loglevel":"INFO","classname":"hawkeyes.rtds.MainVerticle","logdetail":{"a":1,"b":2}} {"@timestamp":"2016-03-03T17:03:32.773+08:00","host":"172.16.1.4","type":"rtds","loglevel":"DEBUG","classname":"hawkeyes.rtds.MainVerticle","logdetail":{"c":1,"d":2}} {"@timestamp":"2016-03-03T17:03:32.813+08:00","host":"172.16.1.4","type":"rtds","loglevel":"ERROR","classname":"hawkeyes.rtds.MainVerticle","logdetail":{"errormsg":" java.math.BigDecimal.divide(Unknown Source)\n org.codehaus.groovy.runtime.typehandling.BigDecimalMath.divideImpl(BigDecimalMath.java:68)\n org.codehaus.groovy.runtime.typehandling.IntegerMath.divideImpl(IntegerMath.java:49)\n org.codehaus.groovy.runtime.dgmimpl.NumberNumberDiv$NumberNumber.invoke(NumberNumberDiv.java:323)\n org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)\n org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)\n org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)\n org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)\n hawkeyes.rtds.MainVerticle.test(MainVerticle.groovy:69)\n hawkeyes.rtds.MainVerticle.deployInStandaloneMode(MainVerticle.groovy:63)\n sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\n sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\n java.lang.reflect.Method.invoke(Unknown Source)\n org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)\n groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)\n groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1210)\n groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1077)\n groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1019)\n groovy.lang.Closure.call(Closure.java:426)\n groovy.lang.Closure.call(Closure.java:420)\n java_util_concurrent_Callable$call.call(Unknown Source)\n org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)\n org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)\n org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)\n hawkeyes.rtds.MainVerticle.start(MainVerticle.groovy:30)\n io.vertx.lang.groovy.GroovyVerticle.start(GroovyVerticle.groovy:64)\n io.vertx.lang.groovy.GroovyVerticle$1.start(GroovyVerticle.groovy:93)\n io.vertx.core.impl.DeploymentManager.lambda$doDeploy$159(DeploymentManager.java:429)\n io.vertx.core.impl.ContextImpl.lambda$wrapTask$16(ContextImpl.java:335)\n io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:358)\n io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)\n io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)\n java.lang.Thread.run(Unknown Source)\n"}} {"@timestamp":"2016-03-03T17:03:32.814+08:00","host":"172.16.1.4","type":"rtds","loglevel":"INFO","classname":"hawkeyes.rtds.MainVerticle","logdetail":{"a":1,"b":2}} {"@timestamp":"2016-03-03T17:03:32.814+08:00","host":"172.16.1.4","type":"rtds","loglevel":"DEBUG","classname":"hawkeyes.rtds.MainVerticle","logdetail":{"c":1,"d":2}}

    最終在kibana中展示的效果如圖:

    總結

    ELK這套架構的設計由于其外部組件的松耦合性,幾乎可以滿足各種規模日志收集,組合消息隊列,更是帶來了彈性伸縮的可能性。

    這套架構的引入,將對今后日志的收集管理提供便利,通過日志提供的數據,也便于業務跟蹤。而且此架構在未來也容易擴展。

    此架構涉及到的組件也相對較多,需要有一定的維護量。數據分析時不但需要有規范化的數據結構,也需要熟悉elasticsearch的聚合表達式,需要一些專業知識與學習成本。

    附錄

    附錄一 應用程序log輸出到Kafka的方法

    修改log4j.properties文件,配置kafka appender即可將log內容輸入到kafka消息隊列中。

    log4j.logger.hawkeyes.rtds=INFO, Kafka log4j.appender.Kafka=org.apache.kafka.log4jappender.KafkaLog4jAppender log4j.appender.Kafka.layout=org.apache.log4j.EnhancedPatternLayout log4j.appender.Kafka.layout.ConversionPattern=%m log4j.appender.Kafka.brokerList=127.0.0.1:9092 log4j.appender.Kafka.topic=logs log4j.appender.Kafka.requiredNumAcks=1

    LOG4J主要由三大組件組成:

    • Logger: 決定什么日志信息應該被輸出、什么日志信息應該被忽略;
    • Appender: 指定日志信息應該輸出到什么地方, 這些地方可以是控制臺、文件、網絡設備;
    • Layout: 指定日志信息的輸出格式;

    按照原來配置log4j.rootLogger=DEBUG, Kafka這使程序中所有日志都會向Kafka中寫入。但KafkaLog4jAppender在初始化時,本身會打印log,它在獲取logger對象時又會繼續創建KafkaLog4jAppender,新的KafkaLog4jAppender又會打log, 這就成了死循環,因此定義了一個輸出范圍log4j.category.hawkeyes.rtds=INFO, Kafka,所有hawkeyes.rtds包下的類才會向kafka消息隊列中輸出,這不會影響KafkaLog4jAppender中log輸出。

    附錄二 應用程序動態調整日志級別的實現方法

    為滿足不重啟程序就能修改日志級別的需求,可以使用log4j的動態改變log輸出級別的功能。

    動態修改loglevel原理

    改變Logger中level屬性即可。

    參考代碼:

    def rtdsLogger = Logger.getLogger("hawkeyes.rtds") rtdsLogger.setLevel(Level.toLevel("info"))

    然后將這種方法進行封裝,對外提供一個可以操作的api即可(如REST api)。

    附錄三 部分相關服務的配置參考

    Nginx輸出JSON格式的log配置方法

    編輯/etc/nginx/nginx.conf配置文件,加入以下內容:

    log_format json '{"@timestamp":"$time_iso8601",''"host":"$hostname",''"clientip":"$remote_addr",''"size":$body_bytes_sent,''"responsetime":$request_time,''"http_host":"$host",''"url":"$uri",''"xff":"$http_x_forwarded_for",''"referer":"$http_referer",''"agent":"$http_user_agent",''"status":$status}';access_log /var/log/nginx/access.log json;

    刪掉原來默認的配置行access_log /var/log/nginx/access.log。重啟nginx,之后nginx的access log文件/var/log/nginx/access.log將以json_lines的格式打印日志。

    以上配置參考了饒琛琳的《ELK stack權威指南》的相關章節

    Zookeeper相關配置參考

    Zookeeper集群配置范例:

    需要改動的文件有兩個。在zookeeper的配置目錄中

    • myid: 這個文件的內容修改為一個正整數,要求每個節點的數值不同
    • zoo.cfg: 修改server.${id}=${ip}:2888:3888。這個id和myid中的數字一一對應,后面的ip是節點的ip(注意不要使用環回ip,必須是能被其他節點訪問到的ip,也可以是域名)。參考范例:
    server.1=172.16.250.10:2888:3888 server.2=172.16.250.13:2888:3888 server.3=172.16.250.14:2888:3888

    Zookeeper啟用SSL雙向認證: //TODO

    Kafka相關配置參考

    Kafka集群配置范例:

    修改config目錄下的主配置文件server.properties。關鍵的幾個配置參數如下:

    broker.id=1 advertised.host.name=172.16.250.10 zookeeper.connect=172.16.250.10:2181,172.16.250.13:2181,172.16.250.14:2181
    • broker.id: 同zookeeper集群配置,每個節點的id均為不重復的正整數。
    • advertised.host.name: 同zookeeper的集群配置,設置為能被其他節點訪問到的ip或域名(該選項默認為系統主機名,不用hosts或dns基本無法被其他節點訪問到)。
    • zookeeper.connect: 為zookeeper集群列表,格式為ip:port。多個節點使用,分割。

    Kafka啟用SSL雙向認證: //TODO

    Logstash配置參考

    產品服務器的logstash將日志從文件取出,格式化后推送至日志服務器的Kafka中:

    input {file {path => "/path/to/log/file" # 日志文件路徑type => "app" # 應用名,如nginx,postgresql等... SNIP ... # 這里根據不同的文件格式可能需要做不同處理} }filter {# filter這里主要是grok正則,nginx配置JSON日志格式后不需要grok解析grok {... SNIP ...} }output {kafka {topic_id => "logs"bootstrap_servers => "kafka" # 真實產品環境需要修改對應的kafka集群列表... SINP ...} }

    日志服務器logstash從kafka消息隊列中取出對應的日志消息,推送至elasticsearch存儲。 日志報警規則在日志服務器指定,便于修改報警規則。

    input {kafka {zk_connect => "zookeeper_cluster:2181"topic_id => "logs"... SNIP ...} }filter {# 這里詳細指定郵件報警規則if "email_alert" in [tags] {email {... SNIP ...}} }output {elasticsearch {... SNIP ...} }

    參考文獻

    • ELKstack 中文指南: https://www.gitbook.com/book/chenryn/kibana-guide-cn/details
    • Logstash官方文檔: https://www.elastic.co/guide/en/logstash/2.2/index.html
    • Kafka官方文檔集群配置: http://kafka.apache.org/documentation.html#quickstart_multibroker
    • Zookeeper官方文檔集群配置: https://zookeeper.apache.org/doc/r3.3.2/zookeeperAdmin.html#sc_zkMulitServerSetup

    轉載于:https://my.oschina.net/abcfy2/blog/703158

    總結

    以上是生活随笔為你收集整理的【产品环境】使用ELK搭建日志系统的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    国产免费观看高清完整版 | 国产无限资源在线观看 | 免费看片成人 | 黄色在线小网站 | 国产精品自产拍在线观看桃花 | 日日爽天天 | 91麻豆精品国产91久久久无限制版 | 玖玖在线精品 | 69视频在线播放 | 亚洲黄a | 亚洲精品国产日韩 | 天天曰天天| 久久久国产一区二区三区四区小说 | 中文字幕在线有码 | 天天射天天操天天干 | 欧美日韩国产一二 | 天天草网站 | 手机av资源 | 美女视频黄频 | 国产伦精品一区二区三区免费 | 精品亚洲一区二区三区 | 中文字幕亚洲欧美日韩 | 亚洲黄网址 | 日韩中文在线观看 | 亚洲精品视频在线观看视频 | 亚洲精品www| 免费网站污| 久久综合影音 | 最近乱久中文字幕 | 国产精品丝袜在线 | 久久久久在线视频 | 久久久精品福利视频 | 免费在线激情电影 | 日韩成人免费电影 | 99色在线视频 | 九九在线视频免费观看 | 免费在线观看av的网站 | 久久久电影网站 | 国产精品福利一区 | 西西444www大胆高清图片 | 亚洲激情 在线 | www.色午夜 | 五月天六月丁香 | 亚洲一区二区三区精品在线观看 | 国产1区2区 | 91福利视频免费观看 | 久久综合久久综合这里只有精品 | 六月丁香在线观看 | 久久亚洲欧美日韩精品专区 | 欧美极品少妇xbxb性爽爽视频 | 久久电影日韩 | 在线三级中文 | 欧美淫aaa免费观看 日韩激情免费视频 | 中文字幕在线国产精品 | 欧美日韩观看 | 中文不卡视频 | 国产一级免费电影 | 国产精品麻 | 波多野结衣一区 | 亚洲成人精品影院 | 午夜精品一区二区三区在线观看 | 国产精品免费一区二区三区在线观看 | 成人亚洲综合 | 66av99精品福利视频在线 | 久久精品欧美 | 九九精品视频在线 | 日日日干| 日韩美视频 | 国产999精品久久久久久绿帽 | 中文字幕电影网 | 亚洲国产日韩欧美在线 | 九九九九九精品 | 很黄很黄的网站免费的 | 精品久久精品久久 | 日韩黄色免费在线观看 | 毛片区| 日韩二区三区在线观看 | av中文字幕免费在线观看 | 九九久久在线看 | 亚洲一区二区三区四区精品 | 国产精品永久免费观看 | 最新中文字幕视频 | 国产精品免费观看在线 | 国产视频一 | 激情欧美国产 | 久久99久久久久久 | 精品久久国产一区 | av 在线观看| 国产理论一区二区三区 | 91色九色 | 天堂av在线中文在线 | 久久国语露脸国产精品电影 | 久久久久国产一区二区三区四区 | 日本精品一区二区三区在线播放视频 | 日韩欧美久久 | 午夜性色 | 一区二区三区在线观看免费 | 亚洲 欧美日韩 国产 中文 | 午夜精品一二区 | 99久久精品国产一区二区成人 | 国产在线国偷精品产拍免费yy | 九色视频自拍 | 亚洲天堂网视频在线观看 | 丁香久久激情 | 91少妇精拍在线播放 | 中文字幕精品一区 | 精品视频免费 | 日韩欧美国产精品 | 色综合婷婷久久 | 日本高清dvd | 中文字幕免费高清在线 | 日韩精品资源 | 丁香花在线观看免费完整版视频 | 久久只有精品 | 日韩v欧美v日本v亚洲v国产v | 99热免费在线 | 欧美精品久久久久 | 国产精品免费观看视频 | 久久视频国产精品免费视频在线 | 91久久国产综合精品女同国语 | 欧美成人在线免费观看 | 久久久久在线观看 | 亚洲精选国产 | 亚洲毛片一区二区三区 | 久久狠狠婷婷 | 欧美在线1| 黄色免费网战 | 91国内产香蕉 | 国产精品夜夜夜一区二区三区尤 | 国产视频一区二区在线 | 欧美色伊人 | 骄小bbw搡bbbb揉bbbb | 91视频com | 97精品国产97久久久久久粉红 | 在线精品观看 | 97超碰成人在线 | 国产精品久久久久久影院 | 探花视频在线观看+在线播放 | 国产成人精品久久二区二区 | 丁香六月婷婷 | 玖玖视频网 | 久久久久网址 | 国产成人高清 | 人人爽人人爽人人爽学生一级 | 久久亚洲国产精品 | 免费黄色网止 | 四虎免费av | 国产精品成人自产拍在线观看 | 青草视频在线看 | 不卡av在线 | 久久午夜剧场 | 在线观看91视频 | 久久久久久电影 | 四虎在线免费观看 | 国产精品va在线观看入 | 九九热视频在线免费观看 | 99视频免费看 | 色在线中文字幕 | 久久久www成人免费精品张筱雨 | 在线免费三级 | 在线观看中文字幕亚洲 | 精品在线免费视频 | 四虎国产永久在线精品 | 亚洲视频久久 | 天天综合天天做天天综合 | 91亚洲狠狠婷婷综合久久久 | 中文字幕欧美日韩va免费视频 | 亚洲精品国产自产拍在线观看 | 丁香婷婷在线观看 | 亚洲精品国产自产拍在线观看 | 欧洲精品码一区二区三区免费看 | 日韩精品在线免费播放 | 精品国产一区二区久久 | 天天操天天操天天 | 国产自产在线视频 | 亚洲精品乱码久久久久久写真 | 欧美极品少妇xxxx | 日韩精品久久久久久久电影99爱 | 欧美另类xxxxx | 天天干,夜夜操 | 一区二区精品视频 | 日日麻批40分钟视频免费观看 | 一区二区三区www | av+在线播放在线播放 | 在线成人av | 在线观看视频亚洲 | 在线视频免费观看 | 国产精品成人一区二区 | 久久久精品一区二区三区 | 久久99网| 国产精品一区二区久久久久 | 午夜.dj高清免费观看视频 | 国产精品69av | 国产精品美女久久 | 欧美精品久久久久久久免费 | www视频免费在线观看 | 国产人成看黄久久久久久久久 | 一级做a爱片性色毛片www | 天天干天天干天天 | 国产亚洲精品免费 | 一区二区三区视频在线 | 色姑娘综合天天 | 在线看毛片网站 | 欧美日韩一二三四区 | 久久综合狠狠综合久久狠狠色综合 | 一级片在线 | 手机av永久免费 | 色黄视频免费观看 | 99在线精品视频 | 亚洲国产精久久久久久久 | 亚洲开心激情 | 亚洲成人黄色av | 日本三级吹潮在线 | 国内精品小视频 | 操操操干干干 | 久久国产精品二国产精品中国洋人 | 国产视频 亚洲视频 | 久免费视频 | 日韩在线观看第一页 | 91九色视频导航 | 亚洲精品视频在线播放 | 久久久999| 色资源网免费观看视频 | 日本护士三级少妇三级999 | 91插插视频 | 玖玖色在线观看 | 成年免费在线视频 | 日韩二区在线观看 | 久久久久久久久久久黄色 | 国产一级免费播放 | 欧美一级激情 | 色综合网在线 | 国产精品18毛片一区二区 | 在线观看亚洲免费视频 | 九九免费在线看完整版 | 综合激情网... | 国内三级在线观看 | 在线中文字幕av观看 | 综合网av| 午夜精品视频福利 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 久草免费看 | 欧美午夜视频在线 | 97精品国产手机 | 国产精品白浆 | 在线观看黄色国产 | 天天综合天天做天天综合 | 中文字幕在线观看第一页 | 综合五月 | 天天插天天干天天操 | 国产亚洲精品综合一区91 | 国产资源站 | 国产高清小视频 | 九九导航| 免费日p视频 | 97国产精品免费 | 99免费精品 | 开心色插 | 日韩精品一区二区三区在线视频 | av电影免费在线看 | 日日摸日日添夜夜爽97 | 国产玖玖在线 | 国产手机在线观看视频 | 亚洲精品人人 | 亚洲欧美怡红院 | av免费观看高清 | 国产日韩在线观看一区 | 国产精品成人免费精品自在线观看 | 午夜三级大片 | 欧美日韩国产一区二区在线观看 | 日韩日韩日韩日韩 | 久草在线视频网 | 亚洲一二区视频 | 黄色成人在线网站 | 婷婷精品 | 综合伊人av | 久久久久久久99 | 久久久久国产免费免费 | 欧美xxxx性xxxxx高清 | 夜夜骑日日操 | 精品视频免费播放 | 亚洲日本一区二区在线 | 欧美在线观看视频一区二区三区 | 一区久久久 | 日韩欧美大片免费观看 | 99视频精品全国免费 | 天天色天天干天天 | 99久久9 | 国产成人高清 | 久久这里只有精品1 | 亚洲最大av在线播放 | 91在线免费视频 | 国产成人亚洲在线观看 | 国产五月| 久久免费成人 | 久久久久久久久久久高潮一区二区 | 999电影免费在线观看 | 久久久av电影 | 日韩在线精品视频 | 一级黄色在线视频 | 日本黄色免费大片 | 国产美女视频免费 | 四虎伊人 | 中文字幕高清免费日韩视频在线 | 日韩欧美一区二区在线播放 | 国色天香在线观看 | 亚洲精品乱码久久久久v最新版 | 天天av综合网 | 国内精品久久久久影院优 | 日韩av在线免费播放 | av资源中文字幕 | 91亚洲欧美 | 超碰人人干人人 | 日韩高清一区在线 | 成人资源在线播放 | 亚洲精品国产综合99久久夜夜嗨 | 天堂av在线7| 国产精品久久久久9999 | 99亚洲国产精品 | 亚洲精品大片www | 香蕉久草| 日av免费 | 亚州国产精品视频 | 日韩午夜电影网 | 国产在线一线 | 日本爱爱免费视频 | 精品亚洲一区二区三区 | 午夜国产福利在线 | 中文字幕中文字幕中文字幕 | 久久99精品久久久久久 | 欧美在线观看小视频 | 久草视频精品 | 精品国产伦一区二区三区观看体验 | 国产欧美久久久精品影院 | 免费在线观看一区二区三区 | 51久久夜色精品国产麻豆 | 99精品在线观看 | 日韩在线国产精品 | 99re久久精品国产 | 国产精品99蜜臀久久不卡二区 | 综合激情婷婷 | 精品久久久久久久久久岛国gif | 欧美日韩中文字幕在线视频 | 色婷婷狠狠五月综合天色拍 | 日韩在线看片 | 久久精品视频在线观看免费 | 久久午夜免费观看 | 在线看片一区 | 亚洲视频电影在线 | 日韩r级电影在线观看 | 国产精品av久久久久久无 | 97精品国产97久久久久久久久久久久 | 欧美在线不卡一区 | 精品久久免费看 | 91免费观看网站 | 国产亚洲精品久久久久久大师 | 日韩不卡高清 | 亚洲最大激情中文字幕 | 亚洲视频在线观看 | 五月激情站 | 日韩一级片观看 | 日韩免费观看视频 | 欧美激情片在线观看 | 亚洲日本国产精品 | 最新国产在线视频 | 国产欧美精品一区二区三区 | 免费精品在线视频 | 九九综合九九 | 亚洲国产久 | 国产精品99久久久久久大便 | 午夜精品久久久久久久久久久久久久 | 5月丁香婷婷综合 | 亚洲性视频 | 一级黄色在线视频 | 日韩激情视频 | 国产麻豆精品久久一二三 | 亚洲成av人片在线观看 | 五月激情综合婷婷 | 四虎影视成人精品国库在线观看 | 日韩免费视频一区二区 | 日本精品一区二区三区在线播放视频 | 久久精品三 | 91一区二区三区久久久久国产乱 | 亚洲视频1区2区 | 九九热在线免费观看 | 精品在线你懂的 | 国产高清免费视频 | 国产黑丝袜在线 | 欧美福利视频一区 | 一区二区三区中文字幕在线观看 | 久久久精品 一区二区三区 国产99视频在线观看 | 国产免费叼嘿网站免费 | 香蕉网站在线观看 | 精品久久1 | 五月天色丁香 | 午夜精品视频一区二区三区在线看 | 日韩高清免费在线 | va视频在线观看 | 亚洲成aⅴ人在线观看 | av视屏在线播放 | 毛片网站观看 | 97成人在线视频 | 在线视频精品播放 | 男女免费视频观看 | 亚洲精品久久激情国产片 | 日韩av免费一区二区 | 一区二区三区四区精品视频 | www.成人sex | 日韩av在线资源 | 国内精品免费久久影院 | 97色资源 | 国产福利a | 在线国产视频 | 国产黄视频在线观看 | 国产第一二区 | 999国产在线 | 91成人黄色 | 国产精品第十页 | 国产精品日韩久久久久 | 国产精品自产拍在线观看网站 | 国产亚洲精品日韩在线tv黄 | 国产精品区免费视频 | 久久大片 | 免费在线观看国产黄 | 中文在线资源 | 六月丁香激情综合色啪小说 | 在线日韩一区 | 亚洲国产成人久久 | 黄色免费观看网址 | 成人一级片在线观看 | 中文理论片 | 欧美一级爽 | 激情影院在线观看 | 久久九九免费 | 国产伦精品一区二区三区四区视频 | 男女视频久久久 | 日韩三区在线观看 | 最近中文字幕在线 | 在线成人看片 | 久草免费电影 | 日韩影片在线观看 | 亚洲爱av | 久久午夜免费视频 | 五月天婷婷在线观看视频 | 国产精品99久久免费黑人 | 国产精品久久久免费看 | 亚洲国产日韩在线 | 一区二区三区在线影院 | 激情五月播播久久久精品 | 成人app在线免费观看 | 91九色最新 | 国产区免费在线 | 国产麻豆精品在线观看 | 成人欧美一区二区三区黑人麻豆 | 一区二区在线影院 | 国际精品久久 | 中文字幕一区二区三区四区视频 | 国产一级在线播放 | 国产麻豆电影在线观看 | 激情综合五月网 | 在线黄色观看 | 蜜桃av久久久亚洲精品 | 中文字幕网站 | 日韩欧美亚州 | 免费日韩电影 | 国产剧情亚洲 | 狠狠干天天操 | 日韩在线高清视频 | 黄网站色欧美视频 | 一区二区三区四区五区在线视频 | 国产精品初高中精品久久 | 亚洲国产欧洲综合997久久, | 三级a视频 | 久久99国产精品二区护士 | 成人在线电影观看 | www五月婷婷| 五月天丁香视频 | 伊人久久国产 | 国产亚洲精品成人av久久ww | 亚洲国产久 | av亚洲产国偷v产偷v自拍小说 | 亚洲 中文 欧美 日韩vr 在线 | 成人黄大片 | 久久久久久久网站 | 天天操天天射天天操 | 久久视频在线视频 | 美女在线免费视频 | 亚洲天堂网在线播放 | 国产精品专区在线 | 亚洲精品乱码久久久久久蜜桃动漫 | 久久久久久久99 | 久久免费视频2 | 日韩精品高清不卡 | 中文字幕久久精品亚洲乱码 | 免费高清看电视网站 | 三级免费黄色 | 66av99精品福利视频在线 | 亚洲精品视频在 | 久草网视频在线观看 | 国产精品久久久久久久久搜平片 | 国产成人av片 | 日韩欧美精品在线视频 | 色婷婷www | 久操久| 丁香婷婷色月天 | 黄色一区二区在线观看 | 国产综合激情 | 激情视频区 | 丁香婷婷久久 | 国产一区二区在线精品 | 久草在线免费新视频 | 欧美aaaxxxx做受视频 | av成人在线播放 | 久草视频中文在线 | 久久精品国产亚洲精品 | 91新人在线观看 | 久久艹国产视频 | 美女视频黄是免费的 | 99精品电影 | 中文国产在线观看 | 精品国产一区二区三区久久久蜜月 | 日韩一区二区三区免费视频 | 久久黄色小说 | 激情婷婷网 | 日韩在线视频一区二区三区 | 欧美日韩一区二区久久 | 久久久免费国产 | 久久久久国产成人免费精品免费 | 日韩精品久久久 | 97精品超碰一区二区三区 | 四虎成人网 | 精品久久久久久久久久久院品网 | 欧美91精品 | www黄在线 | 激情久久久久 | 亚洲精品成人网 | 在线亚洲观看 | 97国产精品一区二区 | 国产剧情一区 | 91亚洲精| 国产精品久久久久久久毛片 | 亚洲成人av在线电影 | 免费在线观看av网址 | 亚洲污视频| 在线视频亚洲 | av国产在线观看 | 高清视频一区二区三区 | 国语自产偷拍精品视频偷 | 国产视频 亚洲精品 | 精品视频在线免费观看 | 亚洲精品在线观 | 欧美成人精品三级在线观看播放 | 亚洲最新av在线网址 | 一级淫片在线观看 | 男女拍拍免费视频 | 日韩美女久久 | 狠狠色丁香久久婷婷综合五月 | 激情在线网址 | 久草在线免费资源站 | 亚洲成年片 | 中文字幕一区二区三区乱码不卡 | 国产精品专区h在线观看 | 久久99亚洲精品久久 | 精品影院一区二区久久久 | 精品黄色在线观看 | 日韩免费在线网站 | www.xxxx变态.com | 又紧又大又爽精品一区二区 | 深爱激情综合 | 美女视频黄是免费的 | 国产九色视频在线观看 | 亚洲精品国精品久久99热一 | 午夜影院一级 | 日本天天色 | 国产精品一区二区吃奶在线观看 | 成人国产网站 | 久久的色| 国产日韩视频在线播放 | 成人av在线影院 | 在线观看亚洲a | 国产资源 | 夜夜躁日日躁狠狠久久88av | 日韩精品影视 | 97电影在线| 国产v视频| 丁香九月婷婷 | 日韩大片在线 | 色在线亚洲 | 久久久精品高清 | 国产无套精品久久久久久 | 久草网视频在线观看 | 在线国产视频一区 | 激情图片久久 | 久久久久北条麻妃免费看 | 99久久精品免费看国产四区 | 特级西西人体444是什么意思 | 亚洲精品免费在线观看 | 91av中文| 亚洲欧美日韩国产精品一区午夜 | 精品一二三区视频 | 激情久久小说 | 亚洲成人黄色在线 | 免费精品在线观看 | 成人av亚洲 | 国产午夜三级一区二区三桃花影视 | 久久久久高清 | 久久电影国产免费久久电影 | 国产精品成人aaaaa网站 | 91新人在线观看 | 国产精品久久久久久久妇 | 麻豆久久精品 | 夜夜骑日日 | 亚洲精品黄色在线观看 | 久久久久久久久久久久av | 久久深爱网 | 欧美爽爽爽 | 91精品免费看 | 成人免费在线看片 | 欧美一区成人 | 精品亚洲免a | 欧美男同视频网站 | 日韩高清不卡一区二区三区 | 国产色拍| 日韩欧美高清在线 | 狠狠狠狠狠狠天天爱 | 福利网址在线观看 | 国产欧美最新羞羞视频在线观看 | 最近日韩中文字幕中文 | 中文字幕乱偷在线 | av大全在线观看 | 992tv在线观看| 三级av中文字幕 | 国产精品久久久久久久久久久久午夜 | 午夜精品视频福利 | 四虎在线免费 | 中文字幕在线观看三区 | 五月婷婷视频 | av一级片网站 | 中文字幕第 | 亚洲波多野结衣 | 在线免费三级 | 青青河边草免费直播 | 午夜丰满寂寞少妇精品 | 97超级碰碰碰视频在线观看 | 国产精品久久久久久久久久不蜜月 | 欧美日韩国产成人 | 日韩有码网站 | 免费成人在线观看 | 最近日本mv字幕免费观看 | 草久电影 | 久久国产网站 | 日韩字幕 | 美女久久久久久久 | 中文字幕亚洲精品在线观看 | 国产精品a久久久久 | 人人爽人人澡 | 插久久 | 黄色99视频 | 97超碰免费 | 欧美a影视 | 亚洲精品在线观看免费 | 超碰资源在线 | 懂色av一区二区三区蜜臀 | 在线观看mv的中文字幕网站 | 久久久久久久久久免费视频 | 一区二区三区四区五区六区 | 亚洲午夜不卡 | 免费观看黄色av | 一级黄毛片 | 国产高清不卡一区二区三区 | 激情综合五月天 | 国产一区二区三区在线免费观看 | 欧美高清视频不卡网 | 久久免费播放 | 美女在线国产 | 91污污| 亚洲国产精彩中文乱码av | 精品国产视频在线观看 | 九色激情网 | 在线观看电影av | 一区二区三区四区五区六区 | 黄色特级一级片 | 四虎永久免费在线观看 | 91视频三区 | 国产精品久久久久久超碰 | 色综合中文综合网 | 成人一区电影 | 国产伦精品一区二区三区无广告 | 婷婷在线色| 97av影院 | 久久激情视频免费观看 | 中文视频在线 | 日日爱999 | 欧美一级电影在线观看 | av成年人电影 | 日日夜夜婷婷 | 天天综合五月天 | 久久精品网站免费观看 | 五月婷婷综合激情 | 中文字幕久久精品亚洲乱码 | 午夜精品久久久久久久99 | 久久成人在线视频 | 亚洲一片黄| 激情狠狠干 | 日韩在线观看 | 91香蕉嫩草 | 欧美一区成人 | 黄色三级久久 | 国产大陆亚洲精品国产 | 亚洲视屏在线播放 | 综合精品在线 | 麻豆视频免费在线播放 | 精品一二三四在线 | 欧美国产日韩在线视频 | 成年在线观看 | 日韩一区精品 | 日韩高清在线一区 | 日日操日日操 | 亚洲视频在线观看 | 久久精品免视看 | 懂色av一区二区在线播放 | 四虎影视www | 亚洲精品国产精品国产 | 久久精品香蕉 | 国产精品女主播一区二区三区 | 婷婷伊人网| 日本久久久久久科技有限公司 | 亚洲精品视频网站在线观看 | 久久久久福利视频 | 免费日韩一级片 | 911精品视频| 中文字幕在线观看第一区 | 999国内精品永久免费视频 | 久久免费观看少妇a级毛片 久久久久成人免费 | 一二三区在线 | 黄色av电影在线观看 | 亚洲精品一区二区三区新线路 | 五月开心婷婷 | 亚洲精品视频在线观看免费 | 国产亚洲精品v | 久久69av | 九九99靖品| 五月婷婷伊人网 | 亚洲激情网站免费观看 | 国产成人三级一区二区在线观看一 | 免费在线观看成人小视频 | 午夜精品久久久99热福利 | 91在线视频在线观看 | 天天久久综合 | 国产.精品.日韩.另类.中文.在线.播放 | 亚洲午夜久久久久久久久电影网 | 欧美日韩国产欧美 | 日韩欧美综合 | 精品久久久久久久久久久久久 | 日韩欧美视频在线观看免费 | 91九色免费视频 | 91成人午夜 | 99热国内精品 | www色av| 最近中文字幕高清字幕免费mv | 久久视频6| 中文字幕国语官网在线视频 | 人人玩人人添人人 | 黄色成人av网址 | 日韩欧美在线免费 | 91成人亚洲 | 瑞典xxxx性hd极品 | 国产又粗又长的视频 | 国产青草视频在线观看 | 91久久国产综合精品女同国语 | 探花视频网站 | 黄色三几片 | 国产精品高潮呻吟久久av无 | 91正在播放 | aaa亚洲精品一二三区 | 午夜精品av | 韩国av免费观看 | 一区二区三区在线免费观看 | av一级在线观看 | 91视频在线网址 | 久久久精品影视 | 精品国产一区二区三区四区vr | 69精品视频在线观看 | 欧美日韩国产色综合一二三四 | 极品久久久久 | 中文字幕在线视频第一页 | 草久在线观看视频 | 日本天天操 | 亚洲国产黄色片 | 国内久久精品视频 | 亚洲欧美精品一区二区 | 国产高清在线一区 | 亚洲免费不卡 | 人人狠狠综合久久亚洲 | 人人爽久久涩噜噜噜网站 | 日韩精品一区二区三区免费视频观看 | 国产日韩在线播放 | 中文字幕视频一区二区 | 99久久精品免费看国产免费软件 | 国产视频资源 | www.一区二区三区 | 91麻豆精品国产91久久久久 | 黄色亚洲在线 | 中文字幕在线观看完整 | 成年人视频在线观看免费 | 国产精品久久久影视 | 亚洲另类人人澡 | 久久精品9| 国产精品免费久久 | 精品亚洲一区二区三区 | 国产午夜在线 | 91传媒在线播放 | 成人在线播放网站 | 欧美日韩p片 | 日本三级香港三级人妇99 | 成人资源在线播放 | 国产视频一区在线播放 | .精品久久久麻豆国产精品 亚洲va欧美 | ,午夜性刺激免费看视频 | 麻豆系列在线观看 | 亚洲精品视频在线播放 | 久久国产欧美日韩精品 | 亚洲男人天堂2018 | 99久久这里有精品 | 国产精品免费一区二区 | 国产99re | 在线视频手机国产 | 午夜精品一二区 | 91污污 | 久久久久国产精品一区 | 亚洲最大免费成人网 | 日韩精品在线观看av | 97色涩 | 亚洲精品www久久久久久 | av黄色在线| 夜夜干夜夜| 免费欧美高清视频 | 麻豆国产精品va在线观看不卡 | 人成在线免费视频 | 国产精品久久久久久欧美 | 免费日韩电影 | 国产原创中文在线 | 丁香亚洲| 精品婷婷 | 日韩欧美国产精品 | 欧美激情视频一区二区三区 | 午夜色性片 | 国产免费中文字幕 | 国内精品久久久 | 五月婷婷黄色网 | 久草在线久草在线2 | 国内精品久久天天躁人人爽 | 夜夜澡人模人人添人人看 | 五月婷婷网站 | 亚洲成人网av | 伊人欧美 | 精品99久久 | 最新色站| 亚洲黄色成人 | 国产精品一区二区吃奶在线观看 | 免费看成年人 | 97在线精品国自产拍中文 | 精品久久久久久久久久久院品网 | 色av资源网 | 国产高清av免费在线观看 | 亚洲午夜久久久久久久久电影网 | 欧美日韩不卡一区二区三区 | 97视频人人 | 免费视频99| 国产一区免费在线观看 | 欧美国产日韩在线观看 | 成人中文字幕+乱码+中文字幕 | 天无日天天操天天干 | 久色伊人 | 中文字幕 国产精品 | 黄色影院在线免费观看 | 成年人免费在线观看网站 | 色搞搞 | 91精品国产综合久久福利 | 91自拍视频在线观看 | 中文字幕在线视频精品 | 久久午夜剧场 | 综合色久 | 亚洲视频 视频在线 | av在线短片 | 亚洲综合色网站 | 日本一区二区高清不卡 | 久久久99精品免费观看 | 六月丁香激情综合 | 国产亚洲精品成人av久久ww | 欧洲性视频 | 中文国产在线观看 | 免费麻豆 | 97免费中文视频在线观看 | 四虎在线免费视频 | 一区二区三区精品在线 | 国产福利小视频在线 | 久青草影院| 日韩电影中文字幕在线观看 | 亚洲在线资源 | 福利av在线 | 国产视频每日更新 | 久久看毛片 | 九九热久久免费视频 | 国产亚洲精品成人av久久影院 | 久久午夜色播影院免费高清 | 91在线看视频免费 | 日韩网站在线免费观看 | 亚州五月| www.com操| 91成年视频 | 婷婷在线网站 | 久久人人爽人人片 | 色婷婷综合久久久中文字幕 | 国产理论一区二区三区 | 国产精品99蜜臀久久不卡二区 | 狠狠色丁香婷婷综合最新地址 | 国产在线一区二区 | 欧美大片第1页 | 中文字幕日本在线 | 5月丁香婷婷综合 | 亚洲成人精品在线 | 特级aaa毛片 | 国产理伦在线 | 国产日韩欧美在线观看 | 丰满少妇麻豆av | 久草视频免费播放 | 欧美乱大交| 一区二区在线不卡 | 五月天婷亚洲天综合网精品偷 | 日韩精品一区二区三区在线视频 | 国产人成在线视频 | 9在线观看免费高清完整 | 97高清视频 | 日日夜夜免费精品视频 | 国产色婷婷在线 | 久热免费在线 | 国产视频欧美视频 | 狠狠狠操| 狂野欧美激情性xxxx | 久久久影院官网 | 亚洲欧洲国产精品 | 日产乱码一二三区别免费 | 日韩免费观看av | 色永久免费视频 | 在线色网站 | 大荫蒂欧美视频另类xxxx | 久久精品国产亚洲精品 | 91精品国产91热久久久做人人 | 日韩av电影手机在线观看 | 九九热精品视频在线观看 | 久久视频免费在线 | 国产高清视频在线播放一区 | av在线免费在线观看 | 国产黄色成人 | 亚洲高清在线观看视频 | 国产999精品久久久久久 | 综合色狠狠 | 国产在线视频资源 | 日韩大片在线观看 | 国产精品久久久久毛片大屁完整版 | 欧美激情综合五月色丁香小说 | 91一区二区三区久久久久国产乱 | 51精品国自产在线 | 精品美女国产在线 | 精品国产一区二区三区久久久蜜臀 | 欧美激情视频一二三区 | 久久精品久久精品久久 | 97超碰免费 | 欧美 日韩 久久 | 日日夜夜精品免费观看 | 色综合人人 | 精品女同一区二区三区在线观看 | 欧美日韩高清一区二区 | 在线观看一区二区视频 | 99久久精品日本一区二区免费 | 超碰97人人干| 久久在现| 视频在线观看入口黄最新永久免费国产 | 国产伦理久久精品久久久久_ | 久久久久女人精品毛片九一 | 久久av影视| av在线收看 | www.超碰| 色狠狠综合 | 国产精品短视频 | 国产一级特黄电影 | 亚洲精品综合一二三区在线观看 | 93久久精品日日躁夜夜躁欧美 | 成人夜晚看av | 欧美激情视频三区 | 国产一级二级在线播放 | 日韩高清免费无专码区 | 人人澡人| 国产黄色片网站 | 久久国产美女 | 91在线亚洲| 国产区精品视频 |