精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Docker安裝ELK并實現JSON格式日志分析

開發 后端
ELK是elastic公司提供的一套完整的日志收集以及前端展示的解決方案,是三個產品的首字母縮寫,分別是ElasticSearch、Logstash和Kibana。

ELK是什么

ELK是elastic公司提供的一套完整的日志收集以及前端展示的解決方案,是三個產品的首字母縮寫,分別是ElasticSearch、Logstash和Kibana。

其中Logstash負責對日志進行處理,如日志的過濾、日志的格式化等;ElasticSearch具有強大的文本搜索能力,因此作為日志的存儲容器;而Kibana負責前端的展示。

ELK搭建架構如下圖:

加入了filebeat用于從不同的客戶端收集日志,然后傳遞到Logstash統一處理。

ELK的搭建

因為ELK是三個產品,可以選擇依次安裝這三個產品。

這里選擇使用Docker安裝ELk。

Docker安裝ELk也可以選擇分別下載這三個產品的鏡像并運行,但是本次使用直接下載elk的三合一鏡像來安裝。

因此首先要保證已經有了Docker的運行環境,Docker運行環境的搭建請查看:https://blog.csdn.net/qq13112...

拉取鏡像

有了Docker環境之后,在服務器運行命令:

  1. docker pull sebp/elk 

這個命令是在從Docker倉庫下載elk三合一的鏡像,總大小為2個多G,如果發現下載速度過慢,可以將Docker倉庫源地址替換為國內源地址。

下載完成之后,查看鏡像:

  1. docker images 

Logstash配置

在/usr/config/logstash目錄下新建beats-input.conf,用于日志的輸入: 

  1. input {  
  2.   beats {  
  3.     port => 5044  
  4.   }  

新建output.conf,用于日志由Logstash到ElasticSearch的輸出: 

  1. output {  
  2.   elasticsearch {  
  3.     hosts => ["localhost"]  
  4.     manage_template => false  
  5.     index => "%{[@metadata][beat]}"  
  6.   }  

其中的index為輸出到ElasticSearch后的index。

運行容器

有了鏡像之后直接啟動即可:

  1. docker run -d -p 5044:5044 -p 5601:5601 -p 9203:9200 -p 9303:9300 -v /var/data/elk:/var/lib/elasticsearch -v /usr/config/logstash:/etc/logstash/conf.d --name=elk sebp/elk 

-d的意思是后臺運行容器;

-p的意思是宿主機端口:容器端口,即將容器中使用的端口映射到宿主機上的某個端口,ElasticSearch的默認端口是9200和9300,由于我的機器上已經運行了3臺ElasticSearch實例,因此此處將映射端口進行了修改;

-v的意思是宿主機的文件|文件夾:容器的文件|文件夾,此處將容器中elasticsearch 的數據掛載到宿主機的/var/data/elk上,以防容器重啟后數據的丟失;并且將logstash的配置文件掛載到宿主機的/usr/config/logstash目錄。

--name的意思是給容器命名,命名是為了之后操作容器更加方便。

如果你之前搭建過ElasticSearch的話,會發現搭建的過程中有各種錯誤,但是使用docker搭建elk的過程中并沒有出現那些錯誤。

運行后查看容器:

  1. docker ps 

查看容器日志:

  1. docker logs -f elk 

進入容器:

  1. docker exec -it elk /bin/bash 

修改配置后重啟容器:

  1. docker restart elk 

查看kinaba

瀏覽器輸入http://my_host:5601/

即可看到kinaba界面。此時ElasticSearch中還沒有數據,需要安裝Filebeat采集數據到elk中。

Filebeat搭建

Filebeat用于采集數據并上報到Logstash或者ElasticSearch,在需要采集日志的服務器上下載Filebeat并解壓即可使用

 

  1. wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.1-linux-x86_64.tar.gz  
  2. tar -zxvf filebeat-6.2.1-linux-x86_64.tar.gz 

 

修改配置文件

進入filebeat,修改filebeat.yml。 

  1. filebeat.prospectors:  
  2. - type: log  
  3.   #需要設置為true配置才能生效  
  4.   enabled: true  
  5.   path:  
  6.     #配置需要采集的日志路徑  
  7.     - /var/log/*.log  
  8.   #可以打一個tag以后分類使用  
  9.   tag: ["my_tag"]  
  10.   #對應ElasticSearch的type  
  11.   document_type: my_type  
  12. setup.kibana:  
  13.   #此處為kibana的ip及端口,即kibana:5601  
  14.   host: ""  
  15. output.logstash:  
  16.   #此處為logstash的ip及端口,即logstash:5044  
  17.   host: [""]  
  18.   #需要設置為true,否則不生效  
  19.   enabled: true  
  20. #如果想直接從Filebeat采集數據到ElasticSearch,則可以配置output.elasticsearch的相關配置 

運行Filebeat

運行:

  1. ./filebeat -e -c filebeat.yml -d "publish" 

此時可以看到Filebeat會將配置的path下的log發送到Logstash;然后在elk中,Logstash處理完數據之后就會發送到ElasticSearch。但我們想做的是通過elk進行數據分析,因此導入到ElasticSearch的數據必須是JSON格式的。

這是之前我的單條日志的格式:

  1. 2019-10-22 10:44:03.441 INFO rmjk.interceptors.IPInterceptor Line:248 - {"clientType":"1","deCode":"0fbd93a286533d071","eaType":2,"eaid":191970823383420928,"ip":"xx.xx.xx.xx","model":"HONOR STF-AL10","osType":"9","path":"/applicationEnter","result":5,"session":"ef0a5c4bca424194b29e2ff31632ee5c","timestamp":1571712242326,"uid":"130605789659402240","v":"2.2.4"

導入之后不好分析,之后又想到使用Logstash的filter中的grok來處理日志使之變成JSON格式之后再導入到ElasticSearch中,但是由于我的日志中的參數是不固定的,發現難度太大了,于是轉而使用Logback,將日志直接格式化成JSON之后,再由Filebeat發送。

Logback配置

我的項目是Spring Boot,在項目中加入依賴: 

  1. <dependency>  
  2.   <groupId>net.logstash.logback</groupId>  
  3.   <artifactId>logstash-logback-encoder</artifactId>  
  4.   <version>5.2</version>  
  5. </dependency> 

然后在項目中的resource目錄下加入logback.xml: 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <configuration>  
  3.     <!--  
  4.        說明:  
  5.        1、日志級別及文件  
  6.            日志記錄采用分級記錄,級別與日志文件名相對應,不同級別的日志信息記錄到不同的日志文件中  
  7.            例如:error級別記錄到log_error_xxx.log或log_error.log(該文件為當前記錄的日志文件),而log_error_xxx.log為歸檔日志,  
  8.            日志文件按日期記錄,同一天內,若日志文件大小等于或大于2M,則按0、1、2...順序分別命名  
  9.            例如log-level-2013-12-21.0.log  
  10.            其它級別的日志也是如此。  
  11.        2、文件路徑  
  12.            若開發、測試用,在Eclipse中運行項目,則到Eclipse的安裝路徑查找logs文件夾,以相對路徑../logs。  
  13.            若部署到Tomcat下,則在Tomcat下的logs文件中  
  14.        3、Appender  
  15.            FILEERROR對應error級別,文件名以log-error-xxx.log形式命名  
  16.            FILEWARN對應warn級別,文件名以log-warn-xxx.log形式命名  
  17.            FILEINFO對應info級別,文件名以log-info-xxx.log形式命名  
  18.            FILEDEBUG對應debug級別,文件名以log-debug-xxx.log形式命名  
  19.            stdout將日志信息輸出到控制上,為方便開發測試使用  
  20.     -->  
  21.     <contextName>service</contextName>  
  22.     <property name="LOG_PATH" value="logs"/>  
  23.     <!--設置系統日志目錄-->  
  24.     <property name="APPDIR" value="doctor"/>  
  25.     <!-- 日志記錄器,日期滾動記錄 -->  
  26.     <appender name="FILEERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  27.         <!-- 正在記錄的日志文件的路徑及文件名 -->  
  28.         <file>${LOG_PATH}/${APPDIR}/log_error.log</file>  
  29.         <!-- 日志記錄器的滾動策略,按日期,按大小記錄 -->  
  30.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  31.             <!-- 歸檔的日志文件的路徑,例如今天是2013-12-21日志,當前寫的日志文件路徑為file節點指定,可以將此文件與file指定文件路徑設置為不同路徑,從而將當前日志文件或歸檔日志文件置不同的目錄。 
  32.              而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->  
  33.             <fileNamePattern>${LOG_PATH}/${APPDIR}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>  
  34.             <!-- 除按日志記錄之外,還配置了日志文件不能超過2M,若超過2M,日志文件會以索引0開始,  
  35.             命名日志文件,例如log-error-2013-12-21.0.log -->  
  36.             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">  
  37.                 <maxFileSize>2MB</maxFileSize>  
  38.             </timeBasedFileNamingAndTriggeringPolicy>  
  39.         </rollingPolicy>  
  40.         <!-- 追加方式記錄日志 -->  
  41.         <append>true</append>  
  42.         <!-- 日志文件的格式 -->  
  43.         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">  
  44.             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>  
  45.             <charset>utf-8</charset>  
  46.         </encoder>  
  47.         <!-- 此日志文件只記錄info級別的 -->  
  48.         <filter class="ch.qos.logback.classic.filter.LevelFilter">  
  49.             <level>error</level>  
  50.             <onMatch>ACCEPT</onMatch>  
  51.             <onMismatch>DENY</onMismatch>  
  52.         </filter>  
  53.     </appender>  
  54.     <!-- 日志記錄器,日期滾動記錄 -->  
  55.     <appender name="FILEWARN" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  56.         <!-- 正在記錄的日志文件的路徑及文件名 -->  
  57.         <file>${LOG_PATH}/${APPDIR}/log_warn.log</file>  
  58.         <!-- 日志記錄器的滾動策略,按日期,按大小記錄 -->  
  59.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  60.             <!-- 歸檔的日志文件的路徑,例如今天是2013-12-21日志,當前寫的日志文件路徑為file節點指定,可以將此文件與file指定文件路徑設置為不同路徑,從而將當前日志文件或歸檔日志文件置不同的目錄。 
  61.              而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->  
  62.             <fileNamePattern>${LOG_PATH}/${APPDIR}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>  
  63.             <!-- 除按日志記錄之外,還配置了日志文件不能超過2M,若超過2M,日志文件會以索引0開始,  
  64.             命名日志文件,例如log-error-2013-12-21.0.log -->  
  65.             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">  
  66.                 <maxFileSize>2MB</maxFileSize>  
  67.             </timeBasedFileNamingAndTriggeringPolicy>  
  68.         </rollingPolicy>  
  69.         <!-- 追加方式記錄日志 -->  
  70.         <append>true</append>  
  71.         <!-- 日志文件的格式 -->  
  72.         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">  
  73.             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>  
  74.             <charset>utf-8</charset>  
  75.         </encoder>  
  76.         <!-- 此日志文件只記錄info級別的 -->  
  77.         <filter class="ch.qos.logback.classic.filter.LevelFilter">  
  78.             <level>warn</level>  
  79.             <onMatch>ACCEPT</onMatch>  
  80.             <onMismatch>DENY</onMismatch>  
  81.         </filter>  
  82.     </appender>  
  83.     <!-- 日志記錄器,日期滾動記錄 -->  
  84.     <appender name="FILEINFO" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  85.         <!-- 正在記錄的日志文件的路徑及文件名 --> 
  86.          <file>${LOG_PATH}/${APPDIR}/log_info.log</file>  
  87.         <!-- 日志記錄器的滾動策略,按日期,按大小記錄 -->  
  88.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  89.             <!-- 歸檔的日志文件的路徑,例如今天是2013-12-21日志,當前寫的日志文件路徑為file節點指定,可以將此文件與file指定文件路徑設置為不同路徑,從而將當前日志文件或歸檔日志文件置不同的目錄。 
  90.              而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->  
  91.             <fileNamePattern>${LOG_PATH}/${APPDIR}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>  
  92.             <!-- 除按日志記錄之外,還配置了日志文件不能超過2M,若超過2M,日志文件會以索引0開始,  
  93.             命名日志文件,例如log-error-2013-12-21.0.log -->  
  94.             <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">  
  95.                 <maxFileSize>2MB</maxFileSize>  
  96.             </timeBasedFileNamingAndTriggeringPolicy>  
  97.         </rollingPolicy>  
  98.         <!-- 追加方式記錄日志 -->  
  99.         <append>true</append>  
  100.         <!-- 日志文件的格式 -->  
  101.         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">  
  102.             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger Line:%-3L - %msg%n</pattern>  
  103.             <charset>utf-8</charset>  
  104.         </encoder>  
  105.         <!-- 此日志文件只記錄info級別的 -->  
  106.         <filter class="ch.qos.logback.classic.filter.LevelFilter">  
  107.             <level>info</level>  
  108.             <onMatch>ACCEPT</onMatch>  
  109.             <onMismatch>DENY</onMismatch>  
  110.         </filter>  
  111.     </appender>  
  112.     <appender name="jsonLog" class="ch.qos.logback.core.rolling.RollingFileAppender">  
  113.         <!-- 正在記錄的日志文件的路徑及文件名 -->  
  114.         <file>${LOG_PATH}/${APPDIR}/log_IPInterceptor.log</file>  
  115.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">  
  116.             <fileNamePattern>${LOG_PATH}/${APPDIR}/log_IPInterceptor.%d{yyyy-MM-dd}.log</fileNamePattern>  
  117.         </rollingPolicy>  
  118.         <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">  
  119.             <jsonFactoryDecorator class="net.logstash.logback.decorate.CharacterEscapesJsonFactoryDecorator">  
  120.                 <escape>  
  121.                     <targetCharacterCode>10</targetCharacterCode>  
  122.                     <escapeSequence>\u2028</escapeSequence>  
  123.                 </escape>  
  124.             </jsonFactoryDecorator>  
  125.             <providers>  
  126.                 <pattern>  
  127.                     <pattern>  
  128.                         {  
  129.                         "timestamp":"%date{ISO8601}",  
  130.                         "uid":"%mdc{uid}",  
  131.                         "requestIp":"%mdc{ip}",  
  132.                         "id":"%mdc{id}",  
  133.                         "clientType":"%mdc{clientType}",  
  134.                         "v":"%mdc{v}",  
  135.                         "deCode":"%mdc{deCode}",  
  136.                         "dataId":"%mdc{dataId}",  
  137.                         "dataType":"%mdc{dataType}",  
  138.                         "vid":"%mdc{vid}",  
  139.                         "did":"%mdc{did}",  
  140.                         "cid":"%mdc{cid}",  
  141.                         "tagId":"%mdc{tagId}"  
  142.                         }  
  143.                     </pattern>  
  144.                 </pattern>  
  145.             </providers>  
  146.         </encoder>  
  147.     </appender>  
  148.     <!-- 彩色日志 -->  
  149.     <!-- 彩色日志依賴的渲染類 -->  
  150.     <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>  
  151.     <conversionRule conversionWord="wex"  
  152.                     converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>  
  153.     <conversionRule conversionWord="wEx"  
  154.                     converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>  
  155.     <!-- 彩色日志格式 -->  
  156.     <property name="CONSOLE_LOG_PATTERN"  
  157.               value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> 
  158.      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">  
  159.         <!--encoder 默認配置為PatternLayoutEncoder-->  
  160.         <encoder>  
  161.             <pattern>${CONSOLE_LOG_PATTERN}</pattern>  
  162.             <charset>utf-8</charset>  
  163.         </encoder>  
  164.         <!--此日志appender是為開發使用,只配置最底級別,控制臺輸出的日志級別是大于或等于此級別的日志信息-->  
  165.         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">  
  166.             <level>debug</level>  
  167.         </filter>  
  168.     </appender>  
  169.     <!-- 指定項目中某個包,當有日志操作行為時的日志記錄級別 -->  
  170.     <!-- rmjk.dao.mappe為根包,也就是只要是發生在這個根包下面的所有日志操作行為的權限都是DEBUG -->  
  171.     <!-- 級別依次為【從高到低】:FATAL > ERROR > WARN > INFO > DEBUG > TRACE  -->  
  172.     <logger name="rmjk.dao.mapper" level="DEBUG"/>  
  173.     <logger name="rmjk.service" level="DEBUG"/>  
  174.     <!--顯示日志-->  
  175.     <logger name="org.springframework.jdbc.core" additivity="false" level="DEBUG">  
  176.         <appender-ref ref="STDOUT"/>  
  177.         <appender-ref ref="FILEINFO"/>  
  178.     </logger>  
  179.     <!-- 打印json日志   -->  
  180.     <logger name="IPInterceptor" level="info" additivity="false">  
  181.         <appender-ref ref="jsonLog"/>  
  182.     </logger>  
  183.     <!-- 生產環境下,將此級別配置為適合的級別,以免日志文件太多或影響程序性能 -->  
  184.     <root level="INFO">  
  185.         <appender-ref ref="FILEERROR"/>  
  186.         <appender-ref ref="FILEWARN"/>  
  187.         <appender-ref ref="FILEINFO"/>  
  188.         <!-- 生產環境將請stdout,testfile去掉 -->  
  189.         <appender-ref ref="STDOUT"/>  
  190.     </root>  
  191. </configuration> 

其中的關鍵為: 

  1. <logger name="IPInterceptor" level="info" additivity="false">  
  2.       <appender-ref ref="jsonLog"/>  
  3. </logger> 

在需要打印的文件中引入slf4j: 

  1. private static final Logger LOG = LoggerFactory.getLogger("IPInterceptor"); 

MDC中放入需要打印的信息: 

  1. MDC.put("ip", ipAddress); 
  2.  MDC.put("path", servletPath);  
  3. MDC.put("uid", paramMap.get("uid") == null ? "" : paramMap.get("uid").toString()); 

此時如果使用了LOG.info("msg")的話,打印的內容會輸入到日志的message中,日志格式如下:

修改Logstash配置

修改/usr/config/logstash目錄下的beats-input.conf: 

  1. input {  
  2.   beats {  
  3.     port => 5044  
  4.     codec => "json"  
  5.   }  

只加了一句codec => "json",但是Logstash會按照JSON格式來解析輸入的內容。

因為修改了配置,重啟elk:

  1. docker restart elk 

這樣,當我們的日志生成完畢之后,使用Filebeat導入到elk中,就可以通過Kibana來進行日志分析了。 

 

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2022-03-08 08:21:21

Spring日志分析系統日志數據

2017-04-06 21:29:58

數據分析ELK架構

2020-02-21 10:45:06

運維架構技術

2023-09-13 08:56:51

2023-02-23 09:36:34

DockerELK堆棧

2018-11-05 09:23:19

開源Docker容器鏡像

2021-07-20 08:32:16

Kubernetes日志平臺

2021-09-13 08:20:13

Loki日志系統

2021-07-19 09:18:07

KubernetesELK Stackk8s

2022-01-21 08:36:21

LogstashZabbix監控

2009-12-04 15:28:31

PHP JSON安裝

2017-03-28 10:20:24

Docker通信分析

2019-12-03 18:58:07

DockerLinux操作系統

2020-04-08 12:03:16

PyFlinkCDN日志

2023-10-16 07:39:02

ELKpod日志

2017-08-16 15:11:10

ELK集群監控

2020-06-11 09:00:59

ELKTB級監控

2022-08-30 08:41:51

日志文件FileBeat配置

2009-09-21 18:00:49

Hibernate X

2023-11-12 11:56:28

Json格式弊端
點贊
收藏

51CTO技術棧公眾號

欧美三级自拍| 男女在线观看视频| 激情偷乱视频一区二区三区| 久久网福利资源网站| 图片区偷拍区小说区| 岛国在线视频网站| 中文字幕欧美激情| 国产精品.com| 黄色一区二区视频| 国产专区一区| 中文字幕在线亚洲| 亚洲一区二区在线免费| 成人亚洲网站| 午夜精品久久久久久久久久| 日韩精品一区二区三区四区五区| 999av视频| 久久一区亚洲| 久久久久久香蕉网| 亚洲女人毛茸茸高潮| 精品福利一区| 9191国产精品| 国产视频一区二区视频| 黄色在线看片| 最新日韩在线视频| 秋霞在线观看一区二区三区 | 欧美日韩综合视频| 亚洲av首页在线| www 日韩| 久久在线观看免费| www日韩av| 亚洲视频在线观看免费视频| 亚洲欧美视频一区二区三区| 久久福利视频网| 永久免费观看片现看| 午夜精品福利影院| 精品乱人伦小说| 亚洲高清av一区二区三区| 我爱我色成人网| 欧美日韩国产综合视频在线观看中文| 男女爱爱视频网站| 日韩免费啪啪| 国产精品无遮挡| 青青成人在线| 国产香蕉视频在线看| 91论坛在线播放| 黄色91av| 午夜国产在线观看| 成人激情午夜影院| 成人欧美一区二区三区视频| 99热这里是精品| 韩国欧美国产一区| 91在线观看免费网站| 亚洲无码精品在线观看| 麻豆一区二区三区| 国产日韩欧美夫妻视频在线观看| 欧美在线视频精品| 人人精品人人爱| 国产日韩欧美影视| 夜夜躁很很躁日日躁麻豆| 秋霞成人午夜伦在线观看| 国产成人精品一区二区| 国产成人无码专区| 免费在线观看日韩欧美| 国产精品爽爽爽爽爽爽在线观看| 中国一级片黄色一级片黄| 首页欧美精品中文字幕| 国产精品看片资源| 国产尤物视频在线观看| 国产一区视频在线看| 99在线视频免费观看| 午夜精品久久久久久久99老熟妇| 国产成人日日夜夜| 国产在线一区二| 青春草在线观看| 欧美国产日韩精品免费观看| 一区二区三区四区国产| 中文字幕伦理免费在线视频 | 最近免费观看高清韩国日本大全| 99在线播放| 无码av免费一区二区三区试看| 久久成人免费观看| 韩国理伦片久久电影网| 日韩一区二区三区在线视频| av在线天堂网| 国产精品欧美三级在线观看| 色婷婷久久av| 国产无套内射又大又猛又粗又爽| 男人的天堂亚洲在线| 国产噜噜噜噜久久久久久久久| 国产孕妇孕交大片孕| 成人国产一区二区三区精品| 日本成人黄色| 影音先锋在线视频| 欧美性69xxxx肥| 伊人影院综合在线| 国产精品久久久网站| 日韩电影免费观看中文字幕 | 日日夜夜精品免费| 国产欧美日韩另类一区| 永久免费看av| 欧美日韩免费看片| 日韩欧美国产综合一区| 成人免费毛片糖心| 午夜激情一区| 国产精品久久久久久久久久久久久 | 欧美在线日韩| 国产91色在线| 国模人体一区二区| 国产精品国模大尺度视频| 欧美成人高潮一二区在线看| 欧美黄页在线免费观看| 日韩av在线一区二区| 永久免费看mv网站入口| 米奇777在线欧美播放| 亚洲综合中文字幕在线| 福利小视频在线观看| 亚洲一二三四在线观看| 天天干天天爽天天射| 欧美日韩一区二区三区四区不卡| 久久人人爽人人爽爽久久| 免费的毛片视频| jizz一区二区| 男人j进女人j| 日本中文字幕视频一区| 亚洲欧美一区二区激情| 精品一区免费观看| 国产风韵犹存在线视精品| 亚洲美女网站18| 成人免费网站www网站高清| 亚洲精品乱码久久久久久按摩观| 青娱乐av在线| 国产综合久久久久影院| 亚洲午夜精品一区二区三区| 成人动漫一区| 国产丝袜精品第一页| 日韩精品――中文字幕| 成人久久久精品乱码一区二区三区 | 亚洲美女性生活| 亚洲色图制服诱惑| 日本黄色福利视频| 欧美国产偷国产精品三区| 国产精品v片在线观看不卡| 亚洲人在线观看视频| 亚洲大尺度视频在线观看| 女同性αv亚洲女同志| 综合一区二区三区| 3d动漫精品啪啪一区二区三区免费 | 久久国产精品免费精品3p| 欧美黑人巨大xxx极品| 国产熟女一区二区三区四区| 亚洲欧美日韩中文播放 | 99久久免费国产| 一区二区传媒有限公司| 精品国产午夜肉伦伦影院| 亚洲2020天天堂在线观看| 天天操天天操天天| 欧美日韩在线另类| 日韩精品电影一区二区| 日韩制服丝袜av| 亚洲精品一区国产精品| 伊人久久综合网另类网站| 久久国产精品影视| 亚洲精品一区二区三区新线路| 一区二区三区不卡视频| 欧美xxxxx少妇| 免费日韩av片| 天堂av一区二区| 欧美一级网址| 欧美精品日韩www.p站| 欧洲精品久久一区二区| 日韩欧美在线视频| 亚洲女同二女同志奶水| 国产一区二区精品在线观看| 无码 制服 丝袜 国产 另类| 亚洲色图丝袜| 91精品国产自产在线| 另类视频在线| 精品亚洲永久免费精品| 中文字字幕在线中文乱码| 亚洲欧美日韩国产中文在线| 性活交片大全免费看| 久久久久久久尹人综合网亚洲| 日韩三级在线播放| 精品一区二区三区在线观看视频| 久久久影视精品| 成人免费在线观看| 日韩精品一区二区在线观看| 久久免费激情视频| 亚洲欧美一区二区视频| 成人性生活免费看| 蜜臀av性久久久久av蜜臀妖精| 91嫩草国产丨精品入口麻豆| 日韩成人一级| 成人免费黄色网| 忘忧草在线影院两性视频| 日韩中文字幕免费视频| 开心激情综合网| 欧美亚洲动漫精品| 欧美黑人一级片| 国产免费久久精品| 亚洲911精品成人18网站| 午夜在线a亚洲v天堂网2018| 中文字幕一区二区三区四区五区 | 精品国内二区三区| 无码人妻一区二区三区免费| 一区二区不卡在线播放| 欧美 日韩 成人| 国产成人亚洲综合a∨婷婷| 亚洲高清在线免费观看| 精品成人国产| 99久久久无码国产精品性色戒| 偷拍自拍一区| av一区和二区| 免费成人高清在线视频| 777午夜精品福利在线观看| a黄色片在线观看| 国产一区二区三区视频在线观看 | 国产拍揄自揄精品视频麻豆| 黄色性视频网站| 狠狠色综合播放一区二区| 欧美日韩在线免费播放| 亚洲精品系列| 国产精品日韩三级| 99久久夜色精品国产亚洲狼| 日本一区二区在线| 日韩电影不卡一区| 国产尤物99| 动漫av一区| 岛国视频一区| 免费观看亚洲天堂| 91手机视频在线观看| 成人四虎影院| 国产精品久久久av久久久| 亚洲天堂导航| 欧美一级bbbbb性bbbb喷潮片| 波多野结衣中文字幕久久| 欧美成人激情在线| 国产一二区在线| 久久国内精品一国内精品| 波多野结衣一区二区| 一区二区三区视频免费在线观看| 欧洲免费在线视频| 日韩精品免费电影| 亚洲av毛片成人精品| 亚洲国内精品视频| 五月婷婷六月色| 日韩精品在线观看视频| 色一情一乱一乱一区91av| 日韩精品一区二区三区在线观看 | 亚洲男人天天操| 亚洲日本香蕉视频| 亚洲美女在线看| 免费黄色片在线观看| 亚洲免费高清视频| 国产在线观看免费| 一区二区欧美亚洲| 一区二区三区视频网站| 日韩小视频在线观看| 日本高清视频在线播放| 久久综合网hezyo| 欧美人体视频xxxxx| 97超级碰在线看视频免费在线看| 韩国精品一区| 国产精品99久久久久久白浆小说| 亚洲a∨精品一区二区三区导航| 日韩美女视频免费看| 91欧美精品| 91久久久久久久久| 电影一区二区在线观看| 欧美黄色直播| 国产精品成人a在线观看| 激情五月六月婷婷| 99综合视频| 天天操,天天操| 国产成人av影院| 黄色在线观看av| 国产精品不卡在线| 国产一级一级片| 色婷婷亚洲婷婷| 一级黄色录像大片| 亚洲国产91色在线| av在线播放av| 欧美黄色小视频| 亚洲www免费| 92国产精品久久久久首页| 激情视频极品美女日韩| 五月天婷亚洲天综合网鲁鲁鲁| 亚洲最新色图| 亚洲熟女乱色一区二区三区| 美女网站色91| 一区二区视频观看| 中文字幕日韩一区| 欧美h在线观看| 这里只有精品电影| 欧美一区二区视频| 久久av中文字幕| 欧美日韩视频网站| 99re视频在线| 久久亚洲国产| 91视频 -- 69xx| 国产福利一区在线观看| 久久精品成人av| 一区二区三区精品视频在线| 成人免费一级片| 亚洲国产精品va在线看黑人| 91社区在线| 555www成人网| 日韩三级久久| 正在播放91九色| 久久午夜电影| xfplay5566色资源网站| 亚洲青青青在线视频| 久久久久久无码精品大片| 日韩精品一区国产麻豆| 麻豆视频在线免费观看| 日本精品视频在线观看| 澳门成人av| 波多野结衣三级在线| 日本欧美加勒比视频| 超碰97在线资源站| 亚洲一区二区免费视频| 91av久久久| 在线观看亚洲视频| 桃花岛tv亚洲品质| 久久青青草综合| 99视频精品| 东京热av一区| 亚洲在线免费播放| 99热这里只有精品1| 久久视频在线免费观看| 热久久久久久| 亚洲永久一区二区三区在线| 日本不卡在线视频| 亚洲av无码国产精品麻豆天美| 欧美日韩美女在线| 天堂在线中文网| 97在线看免费观看视频在线观看| 亚洲三级av| 成人免费在线网| 国产aⅴ综合色| 国产一级在线播放| 亚洲第一精品自拍| a在线视频v视频| 国产区欧美区日韩区| 亚洲激情不卡| 第四色在线视频| 精品动漫一区二区三区| 亚洲人成色777777精品音频| 浅井舞香一区二区| 免费看日本一区二区| 欧美污视频网站| 国产无一区二区| 136福利视频导航| 久久亚洲欧美日韩精品专区| 国产一区二区高清在线| 国产a级黄色大片| 成人网在线免费视频| 中文字幕在线字幕中文| 亚洲精品视频免费| 国产麻豆久久| 欧美爱爱视频网站| 丁香婷婷综合网| 久草手机在线观看| 国产亚洲精品久久| 亚洲精品三区| 日韩中文字幕亚洲精品欧美| 成人精品视频.| 黄色一级视频免费看| 中文字幕在线精品| 午夜视频一区二区在线观看| 欧美日韩福利在线| 国产丝袜美腿一区二区三区| 中文 欧美 日韩| 欧美激情视频免费观看| 日韩欧美影院| 精品综合久久久久| 亚洲国产毛片aaaaa无费看| 婷婷亚洲一区二区三区| 国产精品扒开腿做爽爽爽男男| 欧美成人激情| 欧产日产国产精品98| 色婷婷国产精品综合在线观看| 免费在线毛片网站| 国产伦理一区二区三区| 日本一不卡视频| 免费在线视频观看| 国产午夜精品免费一区二区三区| 欧美成人一级| 男人天堂成人在线| 亚洲综合免费观看高清在线观看| 日韩在线免费看| 3d精品h动漫啪啪一区二区| 亚洲综合精品| 国产高潮国产高潮久久久91 | 新67194成人永久网站| 老司机精品免费视频| 亚洲精品大尺度| 日韩毛片网站| 男人操女人免费| 亚洲中国最大av网站|