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

太方便了!SpringBoot+輕量級分布式日志框架GrayLog!

開發 前端
有了 GrayLog 這個利器,你再也不用在多臺服務器之間來回切換查日志了,也不用再擔心錯過重要的系統異常。從此,日志管理可以變得輕松高效,讓你有更多時間專注于業務邏輯開發。?

兄弟們,是否曾經歷過這樣的 "深夜驚魂":生產環境突然報警,用戶反饋下單失敗,而你只能對著十多臺服務器的日志文件發呆,在 grep 和 tail 命令的海洋里苦苦掙扎?如果你還在用 "一臺臺服務器登錄查日志" 的原始方式,那這篇文章絕對能讓你直呼 "救命"!

今天咱們就來聊聊如何用 SpringBoot 整合 GrayLog 這個輕量級分布式日志框架,讓日志管理從 "大海撈針" 變成 "精準定位"。全程大白話講解,保證你看得懂、學得會,從此和日志焦慮說再見!

為什么需要 GrayLog?日志管理的那些痛

在單體應用時代,日志管理相對簡單,直接在服務器上看  catalina.out 就行。但隨著微服務架構的普及,一個簡單的用戶操作可能涉及五六個服務,這些服務還可能部署在不同的服務器上。這時候傳統的日志查看方式就徹底歇菜了:

  • 當用戶說 "下單失敗" 時,你需要知道請求經過了哪些服務
  • 同一個訂單 ID 要在多臺服務器的日志中穿梭查找
  • 服務器數量多了以后,登錄都要花半天時間
  • 日志文件太大,grep 命令都要跑半天

這就像你去餐廳吃飯,菜不好吃想投訴,結果餐廳告訴你:"廚師在廚房、服務員在大廳、收銀在前臺,你自己去問吧"—— 這體驗簡直糟糕透頂!

GrayLog 就是來解決這個問題的。它就像一個 "日志中央車站",所有服務的日志都會主動送到這里,你只需要在一個地方搜索、分析、告警,效率直接提升 10 倍不止。

compared to the heavyweight ELK Stack (Elasticsearch, Logstash, Kibana), GrayLog 最大的優勢就是輕量易用。ELK 就像一套專業攝影器材,功能強大但操作復雜;而 GrayLog 更像一部高端智能手機,開箱即用還能滿足大多數場景需求。對于中小團隊來說,GrayLog 部署簡單、學習成本低的特點簡直是福音。

環境準備:Docker 一鍵部署 GrayLog

工欲善其事,必先利其器。咱們先來搭建 GrayLog 環境。這里強烈推薦用 Docker 部署,一行命令就能搞定,比安裝 JDK 還簡單!

前置條件

首先確保你的服務器上已經安裝了 Docker 和 Docker Compose。如果還沒安裝,可以用下面的命令快速搞定(以 Ubuntu 為例):

# 安裝 Docker
sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
# 安裝 Docker Compose
sudo apt-get install docker-compose -y

驗證一下安裝是否成功:

docker --version
docker-compose --version

看到版本號輸出就說明沒問題了。

編寫 docker-compose.yml

創建一個專門的目錄存放 GrayLog 配置,然后新建 docker-compose.yml 文件:

version: '3'
services:
  # MongoDB 用于存儲 GrayLog 的配置和元數據
  mongo:
    image: mongo:4.2
    volumes:
      - /data/graylog/mongo:/data/db  # 數據持久化
    networks:
      - graylog-network
    restart: always
  # Elasticsearch 用于存儲實際的日志數據
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
    environment:
      - http.host=0.0.0.0
      - transport.host=localhost
      - network.host=0.0.0.0
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"  # 內存設置,根據服務器配置調整
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /data/graylog/elasticsearch:/usr/share/elasticsearch/data
    networks:
      - graylog-network
    restart: always
  # GrayLog 主服務
  graylog:
    image: graylog/graylog:6.1.6  # 最新穩定版
    environment:
      - GRAYLOG_PASSWORD_SECRET=yourstrongpassword  # 至少16位,用于加密密碼
      - GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918  # admin/admin 的哈希值
      - GRAYLOG_HTTP_EXTERNAL_URI=http://你的服務器IP:9000/  # 訪問地址
      - GRAYLOG_ROOT_TIMEZONE=Asia/Shanghai  # 設置時區為上海,避免日志時間混亂
    entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh
    networks:
      - graylog-network
    restart: always
    depends_on:
      - mongo
      - elasticsearch
    ports:
      - "9000:9000"   # Web 管理界面端口
      - "12201:12201/udp"  # GELF UDP 端口,接收日志用
      - "1514:1514"   # 可選,用于接收 syslog
networks:
  graylog-network:
    driver: bridge

這里有幾個關鍵參數需要注意:

  1. GRAYLOG_PASSWORD_SECRET:一定要設置一個復雜的隨機字符串,至少 16 個字符,這關系到系統安全
  2. GRAYLOG_ROOT_PASSWORD_SHA2:默認是 admin 密碼的哈希值,如果想修改密碼,可以用 echo -n "你的密碼" | sha256sum 生成新的哈希值
  3. GRAYLOG_HTTP_EXTERNAL_URI:必須替換成你的服務器 IP 或域名,否則 Web 界面會有問題
  4. 數據卷掛載:確保 /data/graylog 目錄有讀寫權限,否則數據無法持久化

啟動服務

保存好配置文件后,執行下面的命令啟動服務:

docker-compose up -d

第一次啟動可能需要幾分鐘時間,因為要拉取鏡像并初始化數據。可以用 docker-compose logs -f graylog 命令查看啟動日志,出現 "Graylog server up and running" 就說明啟動成功了。這時候訪問 http://你的服務器IP:9000 就能看到登錄界面,默認賬號密碼是 admin/admin。第一次登錄會強制你修改密碼,記得改成強密碼哦!

SpringBoot 集成 GrayLog:讓日志跑起來

環境搭好了,接下來就是讓我們的 SpringBoot 應用和 GrayLog 交朋友了。這個過程就像給應用裝一個 "日志快遞盒",讓日志自動發送到 GrayLog 這個 "中央倉庫"。

添加依賴

在 pom.xml 中添加 GrayLog 客戶端依賴。這里推薦使用 logstash-gelf,它就像一個 "日志翻譯官",能把 SpringBoot 的日志轉換成 GrayLog 能理解的格式:

<dependency>
    <groupId>biz.paluch.logging</groupId>
    <artifactId>logstash-gelf</artifactId>
    <version>1.13.0</version>
</dependency>

這個版本經過實測,和 SpringBoot 3.x 兼容性很好,如果你用的是 SpringBoot 2.x 也可以放心使用。

配置 logback.xml

SpringBoot 默認使用 Logback 作為日志框架,我們需要配置一下讓它把日志發送到 GrayLog。在 src/main/resources 目錄下創建 logback-spring.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
    <!-- 配置 GrayLog 輸出器 -->
    <appender name="GRAYLOG" class="biz.paluch.logging.gelf.logback.GelfLogbackAppender">
        <!-- GrayLog 服務器地址 -->
        <host>你的GrayLog服務器IP</host>
        <!-- GELF UDP 端口,和 docker-compose 中映射的一致 -->
        <port>12201</port>
        
        <!-- 日志附加信息,會作為額外字段存儲 -->
        <additionalFields>application=你的應用名稱,environment=prod</additionalFields>
        <!-- 日志格式配置 -->
        <encoder class="biz.paluch.logging.gelf.logback.GelfMessageEncoder">
            <!-- 最大GELF數據塊大小,508是最小值,最大值65467 -->
            <maxChunkSize>508</maxChunkSize>
            <!-- 是否壓縮日志 -->
            <useCompression>true</useCompression>
            <!-- 發送日志級別名稱(INFO/WARN/ERROR)而不是數字 -->
            <includeLevelName>true</includeLevelName>
            
            <!-- 自定義字段,會顯示在GrayLog的日志詳情中 -->
            <staticFields>
                <field>server_name=${HOSTNAME}</field>
                <field>application_name=你的應用名稱</field>
            </staticFields>
        </encoder>
    </appender>
    <!-- 根日志配置 -->
    <root level="INFO">
        <appender-ref ref="CONSOLE"/>  <!-- 同時輸出到控制臺 -->
        <appender-ref ref="GRAYLOG"/>  <!-- 輸出到GrayLog -->
    </root>
    <!-- 可以針對特定包配置不同的日志級別 -->
    <logger name="com.yourpackage" level="DEBUG"/>
</configuration>

這個配置里有幾個關鍵點需要根據你的實際情況修改:

  1. <host>:填寫你的 GrayLog 服務器 IP 地址
  2. <additionalFields> 和 <staticFields>:這里的 application=你的應用名稱 非常重要,在多服務環境下能幫你快速區分不同應用的日志
  3. server_name:會自動獲取當前服務器 hostname,方便定位日志來源

配置完成后,啟動 SpringBoot 應用,這時候應用的日志就會同時輸出到控制臺和 GrayLog 了。

在 GrayLog 中創建輸入源

就像你寄快遞需要填寫收貨地址一樣,GrayLog 也需要知道如何接收日志。我們需要在 GrayLog 中創建一個 "收件點"—— 也就是輸入源(Input)。

登錄 GrayLog 管理界面后,按照以下步驟操作:

  1. 點擊頂部菜單的 System → Inputs
  2. 在右側的 Select input type 下拉框中選擇 GELF UDP
  3. 點擊 Launch new input 按鈕
  4. 在彈出的配置窗口中:
  • Title:隨便起個名字,比如 "SpringBoot-Logs"
  • Bind address:保持默認的 0.0.0.0
  • Port:填寫 12201(和 docker-compose 以及 logback 配置一致)
  • 其他選項保持默認
  1. 點擊 Save 按鈕保存

創建成功后,你會看到輸入源狀態變成 "Running",這時候 GrayLog 就開始監聽 12201 端口的日志數據了。如果一切正常,你的 SpringBoot 應用啟動后,GrayLog 應該已經收到日志了!

GrayLog 入門使用:日志搜索不求人

日志能正常發送到 GrayLog 只是第一步,真正的價值在于如何快速找到你需要的日志。GrayLog 的搜索功能非常強大,學會了能讓你效率翻倍。

基本搜索操作

點擊頂部菜單的 Search 進入搜索界面,這里就是日志查詢的主戰場:

  1. 時間范圍選擇:默認是最近 5 分鐘,你可以通過右上角的時間選擇器調整,支持相對時間(如 "Last hour")和絕對時間范圍
  2. 搜索框:這里輸入你的搜索條件,支持各種語法
  3. 日志列表:下方會顯示符合條件的日志,最新的日志在最上面

試試這些常用的搜索技巧:

  • 直接輸入關鍵詞:比如搜索 orderId,會匹配所有包含這個詞的日志
  • 精確查詢:用引號包裹,比如 "orderId: 123456",精確匹配這個訂單號
  • 指定字段查詢:level_name:ERROR 只看錯誤日志;application:user-service 只看用戶服務的日志
  • 多條件組合:level_name:ERROR AND application:order-service 查找訂單服務的錯誤日志
  • 排除條件:level_name:INFO NOT application:admin-service 排除 admin 服務的 INFO 日志

這些語法是不是比在服務器上敲 grep "ERROR" app.log | grep "order-service" 方便多了?

日志詳情查看

在日志列表中點擊任意一條日志,會展開顯示詳細信息。這里你能看到:

  • message:日志內容
  • level_name:日志級別
  • application:我們在配置中定義的應用名稱
  • server_name:日志來源服務器
  • timestamp:日志時間
  • 還有很多自動提取的字段,如線程名、類名等

這些結構化的字段讓日志分析變得非常簡單。比如你想查看某個用戶的所有操作日志,只需要搜索 userId:10086 就能找到所有相關記錄。

保存搜索條件

如果你經常需要用某個搜索條件(比如查找所有錯誤日志),可以點擊搜索框下方的 Save search 按鈕保存起來,下次直接點擊就能使用,不用重復輸入。

高級功能:讓 GrayLog 更懂你的業務

基礎的日志收集和搜索已經能解決大部分問題,但 GrayLog 還有更多高級功能能讓日志管理更智能。

日志流(Streams):給日志分分類

當你的服務越來越多時,所有日志混在一起會很難管理。這時候可以用 "流"(Streams)功能給日志分類,就像給不同類型的郵件創建文件夾一樣。

創建一個訂單服務專用的日志流:

  1. 點擊頂部菜單的 Streams → Create stream
  2. 填寫 Title:比如 "Order-Service-Logs"
  3. 點擊 Create stream 保存
  4. 在新創建的流頁面點擊 Edit rules
  5. 添加規則:application equals order-service
  6. 點擊 Set as default stream 讓符合條件的日志自動流入
  7. 啟用這個流

這樣訂單服務的日志就會單獨存放在這個流中,你可以在 Streams 菜單中直接查看,不用每次都輸入過濾條件了。

日志處理管道(Pipelines):讓日志更智能

有時候原始日志信息不夠用,我們需要對日志進行加工處理。比如從日志中提取訂單號、用戶 ID 等關鍵信息,方便后續搜索和分析。這時候就需要用到管道(Pipelines)功能。

假設我們的日志中有這樣的內容:"Order created: orderId=12345, userId=67890",我們想把 orderId 和 userId 提取出來作為單獨的字段。

創建一個處理管道:

  1. 點擊頂部菜單的 System → Pipelines
  2. 先創建一個管道:點擊 Create pipeline,填寫名稱如 "Extract-Order-Fields"
  3. 創建一個規則:點擊 Manage rules → Create rule
  4. 規則內容如下:
rule "Extract order fields from logs"
when
  // 只處理包含 "Order created" 的日志
  contains(to_string($message.message), "Order created")
then
  // 提取 orderId
  let order_id = regex("orderId=(\\d+)", to_string($message.message)).group(1);
  set_field("order_id", order_id);
  
  // 提取 userId
  let user_id = regex("userId=(\\d+)", to_string($message.message)).group(1);
  set_field("user_id", user_id);
end
  1. 保存規則后,回到管道頁面,點擊 Connect existing rules 將剛才創建的規則添加到管道中
  2. 點擊 Add stage,設置 stage 為 0,然后關聯到我們的 "Order-Service-Logs" 流
  3. 啟用管道

這樣處理后,包含訂單創建的日志就會自動帶上 order_id 和 user_id 字段,你可以直接用 order_id:12345 來搜索特定訂單的日志了,是不是非常方便?

告警配置:問題早知道

光有日志還不夠,我們需要在系統出現問題時及時收到通知。GrayLog 的告警功能可以幫你實現這一點,就像一個 24 小時值班的監控員。

設置一個錯誤日志告警,當出現 ERROR 級別日志時發送郵件通知:

第一步:配置郵件服務器

首先需要在 GrayLog 中配置郵件發送功能。編輯 GrayLog 的配置文件(如果是 Docker 部署,需要進入容器修改 /usr/share/graylog/data/config/graylog.conf):

# 啟用郵件通知
transport_email_enabled = true
# SMTP 服務器地址,以 163 郵箱為例
transport_email_hostname = smtp.163.com
# SMTP 端口,465 用于 SSL
transport_email_port = 465
# 啟用認證
transport_email_use_auth = true
# 郵箱用戶名
transport_email_auth_username = your-email@163.com
# 郵箱授權碼(不是登錄密碼!)
transport_email_auth_password = your-auth-code
# 發件人郵箱
transport_email_from_email = your-email@163.com
# 啟用 SSL
transport_email_use_ssl = true
# 禁用 TLS
transport_email_use_tls = false
# 郵件主題前綴
transport_email_subject_prefix = [GrayLog 告警]

修改完成后重啟 GrayLog 服務:docker-compose restart graylog

第二步:創建告警通知

  1. 點擊頂部菜單的 Alerts → Notifications
  2. 點擊 Create notification
  3. 填寫名稱:比如 "Error-Email-Notification"
  4. 類型選擇 Email notification
  5. Email recipients:填寫接收告警的郵箱地址
  6. 可以自定義郵件主題和內容,支持模板變量,比如:

主題:[緊急] ${event.title} 在 ${event.timestamp}

內容:

GrayLog 檢測到異常:
事件:${event.title}
時間:${event.timestamp}
描述:${event.description}
查看詳情:${event.url}
  1. 保存通知設置

第三步:創建告警條件

  1. 點擊頂部菜單的 Alerts → Event definitions
  2. 點擊 Create event definition
  3. 填寫名稱:比如 "High-Error-Rate"
  4. Event type 選擇 Aggregation
  5. Search query:輸入 level_name:ERROR
  6. Time window:設置時間窗口,比如 5 分鐘
  7. Condition:選擇 "Count of messages" is greater than 5(5 分鐘內出現 5 條以上錯誤日志)
  8. Notifications:選擇剛才創建的 "Error-Email-Notification"
  9. 保存并啟用這個事件定義

這樣當系統錯誤日志增多時,你就能收到郵件通知,及時處理問題,不用等到用戶投訴了。

儀表盤(Dashboards):日志可視化

數據可視化能幫助我們更直觀地了解系統狀態。GrayLog 的儀表盤功能可以把日志數據變成各種圖表。

創建一個簡單的日志統計儀表盤:

  1. 點擊頂部菜單的 Dashboards → Create dashboard
  2. 填寫名稱:比如 "System-Status-Dashboard"
  3. 點擊 Add widget
  4. 選擇 Search result count
  5. Title:填寫 "錯誤日志數量"
  6. Search query:輸入 level_name:ERROR
  7. Time range:選擇 "Last 24 hours"
  8. 點擊 Add widget
  9. 用同樣的方法添加 INFO 日志數量、各服務日志占比等圖表

這樣你就能在一個頁面上直觀地看到系統的日志情況,甚至可以把儀表盤分享給團隊成員或者投屏到監控大屏上。

最佳實踐與避坑指南

用了一段時間 GrayLog 后,我總結了一些實用經驗,能幫你少走彎路:

日志規范很重要

GrayLog 再強大,也依賴于規范的日志輸出。建議團隊統一日志格式,比如:

  • 關鍵操作必須記錄(如訂單創建、支付成功)
  • 重要業務參數必須包含(如 orderId、userId)
  • 異常日志必須打印堆棧信息(方便排查問題)
  • 避免在日志中包含敏感信息(密碼、手機號等)

良好的日志習慣能讓 GrayLog 的使用效果事半功倍。

注意日志量控制

日志雖然重要,但過多的日志會占用大量存儲空間和網絡帶寬。可以通過以下方式控制:

  1. 非生產環境適當提高日志級別(如只輸出 WARN 及以上)
  2. 對 DEBUG 級別的日志設置采樣率
  3. 在 GrayLog 中設置日志保留策略:System → Indices → 編輯索引設置,設置 "Max number of indices" 或 "Max age"

比如設置日志保留 7 天,超過自動刪除,既能滿足問題排查需求,又不會占用太多磁盤空間。

性能優化小技巧

如果你的日志量很大,可能會遇到 GrayLog 性能問題,試試這些優化:

  1. 給 Elasticsearch 分配足夠的內存(至少 2GB 以上)
  2. 將 MongoDB 和 Elasticsearch 的數據目錄放在 SSD 上
  3. 對高頻查詢的字段創建索引
  4. 避免在高峰期執行復雜查詢
  5. 考慮使用 GrayLog 集群應對大規模日志

常見問題排查

遇到日志不顯示的問題?別慌,按這個步驟排查:

  1. 檢查 SpringBoot 應用是否正常啟動,日志是否輸出到控制臺
  2. 檢查 logback.xml 配置中的 GrayLog 地址和端口是否正確
  3. 用 telnet 你的GrayLogIP 12201 檢查端口是否開放
  4. 查看 GrayLog 輸入源狀態是否為 "Running"
  5. 檢查服務器防火墻是否阻止了 UDP 12201 端口
  6. 查看 GrayLog 日志:docker-compose logs -f graylog 尋找錯誤信息

大多數情況下都是配置錯誤或網絡問題,仔細檢查就能解決。

總結:日志管理的正確打開方式

看到這里,你應該已經掌握了 SpringBoot 整合 GrayLog 的核心技能。從環境搭建到高級功能,GrayLog 用它的輕量級和易用性,讓分布式日志管理不再是難題。

回顧一下我們學到的內容:

  • 用 Docker 快速部署 GrayLog 環境,幾分鐘就能搞定
  • 配置 SpringBoot 應用,讓日志自動發送到 GrayLog
  • 掌握基本的日志搜索技巧,快速定位問題
  • 使用流、管道等高級功能,讓日志管理更智能
  • 設置告警和儀表盤,實現主動監控

有了 GrayLog 這個利器,你再也不用在多臺服務器之間來回切換查日志了,也不用再擔心錯過重要的系統異常。從此,日志管理可以變得輕松高效,讓你有更多時間專注于業務邏輯開發。

責任編輯:武曉燕 來源: 石杉的架構筆記
相關推薦

2025-07-08 02:12:00

2023-12-18 10:24:59

2024-04-29 08:42:23

2015-06-17 14:10:34

Redis分布式系統協調

2024-09-27 15:24:15

Spring數據加解密

2025-07-28 01:12:00

2025-03-03 00:00:55

Spring文件下載開發

2025-07-03 02:11:00

Swing開發C++

2025-07-21 05:00:00

if-elseV1版本

2025-08-01 08:47:45

2024-06-11 13:50:43

2021-04-14 13:32:50

Redis輕量級分布式

2017-10-11 16:12:19

內存

2022-07-15 14:26:36

開源工具IP

2025-09-18 07:45:55

2021-09-24 15:00:26

微信PC電腦移動應用

2017-12-05 09:43:42

分布式系統核心

2018-07-19 11:18:45

餓了么時序數據庫監控系統

2021-09-09 15:45:17

機器學習人工智能Ray

2023-06-26 00:14:28

Openjob分布式任務
點贊
收藏

51CTO技術棧公眾號

日韩人妻精品中文字幕| av影片在线播放| 色开心亚洲综合| 福利一区二区在线观看| 欧美一级淫片丝袜脚交| 欧美另类69xxxx| 超碰精品在线| 欧美午夜精品一区| 久久香蕉视频网站| 国产在线一在线二| 国产成人免费xxxxxxxx| 日本高清视频一区| 日本天堂中文字幕| 欧美亚洲国产一区| 精品乱码亚洲一区二区不卡| 亚洲第一中文av| av影片在线| 亚洲欧美在线aaa| 麻豆av一区二区三区久久| 国产毛片毛片毛片毛片| 国产亚洲激情| 久久99久国产精品黄毛片入口| 免费看黄色a级片| 青春有你2免费观看完整版在线播放高清 | 国产欧美精品在线| 男女免费视频网站| 99国产精品免费视频观看| 日韩精品中文字幕有码专区| 亚洲三级在线视频| 99久久精品一区二区成人| 亚洲乱码国产乱码精品精98午夜 | 午夜在线观看av| 97久久人人超碰caoprom| 国产精品久久久久7777按摩 | 日日夜夜狠狠操| 午夜精彩国产免费不卡不顿大片| 精品久久久久久亚洲综合网| 五月天婷婷亚洲| 日韩免费小视频| 欧美性极品少妇精品网站| 久久人人爽人人爽人人av| 中文av资源在线| 亚洲另类在线制服丝袜| 香蕉视频在线网址| 日本不卡三区| 国产精品不卡一区二区三区| 亚洲一区二区在线看| 成人av毛片| 国产精品污污网站在线观看| 日韩欧美激情一区二区| 玖玖综合伊人| 久久久久久久久久久久久女国产乱| 国产精品美女免费视频| aaa在线视频| 久久高清国产| 国产aⅴ夜夜欢一区二区三区| 国产人妻精品一区二区三区不卡| 岛国av一区| 欧美精品一区二区三区一线天视频| aa免费在线观看| 女人让男人操自己视频在线观看 | 小说区图片区图片区另类灬| 国产小视频在线| 91免费观看视频在线| 欧美日韩最好看的视频| 国产福利在线看| 国产精品久久久久久亚洲毛片| 国产精品高清一区二区三区| 亚洲精品久久久蜜桃动漫 | 男女污污视频网站| 欧美一区在线观看视频| 精品动漫一区二区三区在线观看| 免费观看成人网| 最新日韩一区| 欧美精品自拍偷拍| 免费啪视频在线观看| 欧美变态挠脚心| 亚洲丝袜在线视频| 91大神福利视频| 欧美日韩精品| 久久久爽爽爽美女图片| 一级黄色免费网站| 精油按摩中文字幕久久| 成人情视频高清免费观看电影| 亚洲天堂国产精品| 国产曰批免费观看久久久| 91成人免费看| 青梅竹马是消防员在线| 亚洲视频一二三区| 精品人妻一区二区三区四区在线| 第一中文字幕在线| 在线观看av一区| 青娱乐国产精品视频| 99国产精品免费网站| 亚洲欧洲国产精品| 在线免费观看亚洲视频| 国产亚洲在线| 亚洲影院污污.| 午夜一区在线观看| 亚洲欧美视频一区| 免费日韩中文字幕| 日韩精品一区二区三区中文| 亚洲人成在线播放| 国产女人18水真多毛片18精品| 999久久久精品国产| 国内精品国产三级国产在线专| 放荡的美妇在线播放| 国产日韩亚洲| 91在线在线观看| 川上优的av在线一区二区| 亚洲美女免费在线| 91视频免费版污| 欧美顶级毛片在线播放| 久久成人精品一区二区三区| 天堂在线免费观看视频| 岛国av在线一区| 伊人久久大香线蕉av一区| 日本乱码一区二区三区不卡| 日韩一级免费观看| 女人18毛片毛片毛片毛片区二| 91九色精品| 日本在线观看天堂男亚洲| 亚洲黄色精品视频| 中文字幕亚洲电影| 欧美婷婷精品激情| 美女网站一区| 2021久久精品国产99国产精品| 国产剧情在线视频| 成人h动漫精品一区二| 女女同性女同一区二区三区按摩| 欧美1234区| 制服丝袜中文字幕一区| 欧美a在线播放| 欧美专区18| 久久久久久九九九九| 岛国毛片av在线| 亚洲成人久久网| 久久久久久久久99| 国产成人一区在线| 日本aa在线观看| av成人男女| 欧美激情乱人伦一区| 国产av无码专区亚洲av| 亚洲欧美另类久久久精品 | 刘亦菲国产毛片bd| 国产精品久久久久久久| 国产精品久久国产精品99gif| 国产视频第二页| 中文字幕亚洲一区二区va在线| 亚洲小视频在线播放| www.成人在线.com| 北条麻妃一区二区三区中文字幕| 国产一级做a爱免费视频| 粉嫩一区二区三区性色av| 青青青在线观看视频| 日本一区精品视频| 久久久亚洲精选| 免费国产黄色片| 婷婷国产v国产偷v亚洲高清| 国产熟女高潮一区二区三区| 日韩午夜免费| 欧美一区二区三区四区五区六区| 亚洲羞羞网站| 精品国产亚洲在线| 可以在线观看av的网站| 久久久久久亚洲综合| 91国产精品视频在线观看| 91精品久久久久久久蜜月| 亚洲已满18点击进入在线看片| 毛片免费在线观看| 精品视频色一区| 老司机精品免费视频| 国产成人av资源| 黄色网页免费在线观看| 精品国产aⅴ| 91在线直播亚洲| aaa在线播放视频| 亚洲少妇激情视频| 国产乱码久久久| 午夜久久福利影院| 51妺嘿嘿午夜福利| 国产主播一区二区三区| 毛片在线播放视频| 成人羞羞网站入口| 俄罗斯精品一区二区| 亚洲天堂资源| 久久夜色精品国产| 日韩美女一级视频| 在线观看91精品国产麻豆| 豆国产97在线 | 亚洲| 国产人成一区二区三区影院| 日韩欧美中文在线视频| 毛片一区二区| 欧洲精品视频在线| 国产精品一区二区av交换| 97se国产在线视频| 四虎4545www国产精品| 欧美多人爱爱视频网站| 国产三级电影在线观看| 精品国产一区二区三区忘忧草| 日韩黄色免费观看| 国产网站一区二区| 欧美熟妇精品一区二区蜜桃视频| 激情亚洲成人| 一区二区精品免费视频| 精品三级av在线导航| 国产美女精品视频免费观看| 国产美女高潮在线观看| 日韩有码在线观看| 天堂а在线中文在线无限看推荐| 图片区小说区区亚洲影院| 毛片久久久久久| 99久久er热在这里只有精品15 | 欧美另类高清视频在线| 久久伊人精品| 国产精品一香蕉国产线看观看| 在线看的av网站| 国产丝袜一区二区| 免费看黄色一级视频| 91精品久久久久久久91蜜桃| 伊人中文字幕在线观看| 亚洲国产综合91精品麻豆| 永久免费未视频| 国产日韩欧美精品在线| 精品人妻一区二区三区视频| 懂色av一区二区在线播放| 国产成人美女视频| 男男视频亚洲欧美| 日本www高清视频| 国产精品久久777777毛茸茸| 青青青在线观看视频| 亚洲一区二区日韩| 日韩第一页在线观看| 欧美手机视频| 日韩精品欧美专区| 久久不见久久见免费视频7| 国产一区二区无遮挡| 91精品国产乱码久久久竹菊| 96sao精品视频在线观看| 亚洲欧洲二区| 成人在线播放av| 国产999精品在线观看| 91精品中文在线| 日韩深夜福利网站| 91精品综合久久久久久五月天| 黄色在线网站噜噜噜| 午夜精品一区二区三区在线视| 国产私拍精品| 中文字幕国产精品| 欧美日本一道| 久久亚洲私人国产精品va| 成人欧美在线| 欧美激情视频给我| av在线不卡免费| 日本道色综合久久影院| 欧美美女日韩| 国产精品高潮呻吟久久av无限| 成人免费一区二区三区牛牛| 国内精品在线一区| 韩国成人二区| 欧美中在线观看| 欧美成人精品三级网站| 国产精品丝袜久久久久久高清 | 婷婷开心激情综合| www..com国产| 日本韩国欧美一区| 中文字幕激情视频| 欧美一区二区在线播放| 亚洲美女综合网| 精品亚洲一区二区| av小片在线| 九九精品视频在线| 91制片在线观看| 国产精品美女999| 欧美日韩午夜电影网| 久久99久久精品国产| 日本大胆欧美| 国产尤物av一区二区三区| 亚洲影音先锋| 红桃视频 国产| 成人午夜私人影院| av永久免费观看| 一区二区三区中文字幕在线观看| 九九精品视频免费| 亚洲一区二区三区在线| 波多野结衣视频免费观看| 欧美一区在线视频| 青梅竹马是消防员在线| 久久夜色撩人精品| 伊人久久国产| 91在线看www| 蜜桃精品噜噜噜成人av| 中文字幕在线亚洲精品| 亚洲综合不卡| 91网址在线观看精品| 久久网这里都是精品| 男的操女的网站| 日韩欧美在线中文字幕| 精品久久久久成人码免费动漫| 91精品综合久久久久久| 五月天福利视频| 日韩在线视频国产| 91av亚洲| 99中文字幕| 日韩欧美视频| 亚洲国产精品久久久久婷蜜芽 | 一级黄色录像在线观看| av电影一区二区| 三上悠亚在线观看视频| 色拍拍在线精品视频8848| 亚洲第一页视频| 久久精品国产69国产精品亚洲| 免费a级毛片在线播放| 69久久夜色精品国产69| 国产一区二区久久久久| 亚洲成人网上| 久久先锋资源| 亚洲调教欧美在线| 亚洲品质自拍视频| 中文字幕永久在线视频| 亚洲欧洲在线看| 九九色在线视频| 国产日韩欧美成人| 欧美军人男男激情gay| 欧美韩国日本在线| 成人午夜在线免费| 久草免费新视频| 日韩一级欧美一级| 97超碰资源站在线观看| 成人性教育视频在线观看| 国产麻豆精品久久| 国产免费毛卡片| av男人天堂一区| 欧美成人aaaaⅴ片在线看| 日韩午夜精品视频| а√天堂在线官网| 成人www视频在线观看| 成人av国产| 欧美日韩中文不卡| 国产精品美女久久久久高潮 | 日本高清成人免费播放| 亚洲精品一级片| 欧美精品久久久久久久久| 日韩欧美中文字幕在线视频| 国产91在线亚洲| 国内精品不卡在线| 欧美精品成人久久| 精品国产99国产精品| 黑人极品ⅴideos精品欧美棵| 国产精品mp4| 欧美精品乱码| 一道本在线免费视频| 国产色综合久久| 中文字幕一区二区三区人妻四季| 精品国产一区二区三区不卡 | 88av.com| 国产亚洲欧美色| 国产一级片一区二区| 日韩在线观看网址| 国产精品一区二区三区四区在线观看| 久久久久久久有限公司| 久久综合九色综合欧美狠狠| www色com| 91精品国产高清一区二区三区| 九色在线视频蝌蚪| 国产精品久久久久免费a∨| 久久久影院免费| 成年人看片网站| 欧美午夜美女看片| 最新国产在线观看| 亚洲综合一区二区不卡| 欧美午夜一区| 3d动漫精品啪啪一区二区下载| 一区二区三区不卡视频| 日韩一区二区三区不卡| 日本欧美在线视频| 国产精品成人a在线观看| 91精品人妻一区二区三区四区| 国产精品久久久久aaaa樱花 | www中文在线| 欧美一级午夜免费电影| 国产传媒av在线| 亚洲精品一区二区三区四区五区| 国产毛片一区| www成人啪啪18软件| 日韩欧美不卡在线观看视频| 日韩深夜视频| 国产对白在线播放| 91丝袜高跟美女视频| 国产精品国产三级国产aⅴ| 国内精品久久久久| 不卡中文字幕| 日本69式三人交| 欧美日韩国产一二三| 草草在线观看| 欧美三级午夜理伦三级老人| 久久免费国产精品| 成人黄色免费视频| 国产精品亚洲美女av网站| 亚洲深夜av|