็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿ“Š Grafana + Loki + Promtail:ๆ‰“้€  Linux Log ๅณๆ™‚็›ฃๆŽงไธญๅฟƒ

    ๐Ÿ“Š Grafana + Loki + Promtail:ๆ‰“้€  Linux Log ๅณๆ™‚็›ฃๆŽงไธญๅฟƒ

    ๅ‚ณ็ตฑไฝฟ็”จ journalctl ๆˆ– tail -f ๆชข่ฆ–ๆ—ฅ่ชŒ้›–็›ด่ฆบ,ไฝ†็ผบไนๆœๅฐ‹、็ฏฉ้ธ่ˆ‡่ฆ–่ฆบๅŒ–่ƒฝๅŠ›。 ๆœฌๆ–‡ๅฐ‡ๅธถไฝ ไฝฟ็”จ Grafana + Loki + Promtail ๅปบ็ซ‹ๅฎŒๆ•ด็š„ Log Monitoring ๅ †็–Š, ๅฏฆ็พ Linux ็ณป็ตฑๆ—ฅ่ชŒ็š„้›†ไธญๅŒ–ๆ”ถ้›†、ๆŸฅ่ฉข่ˆ‡ๅณๆ™‚ๅฏ่ฆ–ๅŒ–ๅ„€่กจๆฟ。

    ๐Ÿงฑ ไธ€、ๆžถๆง‹ๆฆ‚่ฆฝ

    ๆ•ด้ซ”่ณ‡ๆ–™ๆต:

    [Promtail] → ๆ”ถ้›† /var/log → ๅ‚ณ้€่‡ณ [Loki]
    [Loki] → ๅ„ฒๅญ˜่ˆ‡็ดขๅผ• log ่ณ‡ๆ–™
    [Grafana] → ๆŸฅ่ฉข Loki ไธฆ้กฏ็คบๆ–ผๅ„€่กจๆฟ
    
    • Promtail:Log Agent,็”จๆ–ผ่’้›†็ณป็ตฑๆ—ฅ่ชŒ。
    • Loki:Log Database(้กžไผผ ELK ็š„ Logstash + ES)。
    • Grafana:่ฆ–่ฆบๅŒ–่ˆ‡ๆŸฅ่ฉขไป‹้ข。

    ⚙️ ไบŒ、ๅฎ‰่ฃ่ˆ‡็’ฐๅขƒ่จญๅฎš

    1️⃣ ๅฎ‰่ฃ Grafana ่ˆ‡ Loki

    sudo apt update
    sudo apt install -y grafana loki promtail
    # ่‹ฅๅฅ—ไปถๅบซ็„กๅ…งๅปบ,ๅฏไฝฟ็”จๅฎ˜ๆ–น repo:
    # https://grafana.com/docs/loki/latest/installation/
    

    2️⃣ ๅ•Ÿๅ‹•ๆœๅ‹™

    sudo systemctl enable --now grafana-server
    sudo systemctl enable --now loki
    sudo systemctl enable --now promtail
    

    ้ ่จญ:

    • Grafana ไป‹้ข → http://localhost:3000 (้ ่จญๅธณๅฏ† admin/admin)
    • Loki API → http://localhost:3100

    ๐Ÿ“„ ไธ‰、Promtail ่จญๅฎšๆช”

    Promtail ็š„้…็ฝฎๅฎš็พฉไบ†่ฆๆ”ถ้›†ๅ“ชไบ›ๆ—ฅ่ชŒ่ˆ‡ๅ‚ณ้€็›ฎ็š„ๅœฐ。

    # /etc/promtail/config.yml
    server:
      http_listen_port: 9080
      grpc_listen_port: 0
    
    positions:
      filename: /var/lib/promtail/positions.yaml
    
    clients:
      - url: http://localhost:3100/loki/api/v1/push
    
    scrape_configs:
      - job_name: system
        static_configs:
          - targets:
              - localhost
            labels:
              job: varlogs
              host: ${HOSTNAME}
              __path__: /var/log/*.log
    

    ้‡ๆ–ฐๅ•Ÿๅ‹•ไปฅๅฅ—็”จ:

    sudo systemctl restart promtail

    ๐Ÿงฉ ๅ››、Grafana ้€ฃๆŽฅ Loki

    1. ็™ปๅ…ฅ Grafana → ้ปž้ธๅทฆๅด ⚙️ → Data Sources
    2. ๆ–ฐๅขž Loki → URL ่ผธๅ…ฅ http://localhost:3100
    3. ๅ„ฒๅญ˜ๅพŒๅณๅฏๆŸฅ่ฉข Log。

    ็ฏ„ไพ‹ๆŸฅ่ฉข:

    {job="varlogs"} |= "error"
    {host="web01"} |= "sshd"
    

    ๅฏๅฟซ้€Ÿ็ฏฉ้ธๅŒ…ๅซ้—œ้ตๅญ—็š„ๆ—ฅ่ชŒ่กŒ。

    ๐Ÿ“Š ไบ”、ๅปบ็ซ‹ๅ„€่กจๆฟ่ˆ‡่ญฆ็คบ

    1. ๆ–ฐๅขž Panel → ๆŸฅ่ฉข Source: Loki
    2. ่ผธๅ…ฅ LogQL,ไพ‹ๅฆ‚ {job="varlogs"} |~ "fail|error|denied"
    3. ้ธๆ“‡「Table」ๆˆ–「Time Series」้กฏ็คบ。
    4. ๅฏ่จญๅฎš่ญฆๅ ฑๆขไปถ:
      ็•ถ log ๅ‡บ็พ้Œฏ่ชคๆฌกๆ•ธ่ถ…้Ž้–พๅ€ผ → ็™ผ้€้€š็Ÿฅ(Email、Webhook)。

    ๐Ÿ›ก ๅ…ญ、ๅฎ‰ๅ…จ่ˆ‡ๆ•ˆ่ƒฝๅปบ่ญฐ

    • Promtail ๆŽก positions.yaml ่ฟฝ่นคไธŠๆฌก่ฎ€ๅ–ไฝ็ฝฎ,้ฟๅ…้‡่ค‡ๆ”ถ้›†。
    • Loki ๅ„ฒๅญ˜ๅปบ่ญฐไฝฟ็”จ SSD,ๆˆ–ๆญ้… filesystem chunks ๆจกๅผ。
    • Grafana ็™ปๅ…ฅๅพŒ็ซ‹ๅณไฟฎๆ”น้ ่จญๅฏ†็ขผ,ไธฆๅ•Ÿ็”จ auth.basic

    ๐Ÿงญ ไธƒ、่กŒๅ‹•ๆธ…ๅ–ฎ(Checklist)

    ✅ ๅฎ‰่ฃไธฆๅ•Ÿๅ‹• Grafana、Loki、Promtail
    ✅ ่จญๅฎš Promtail ๆ”ถ้›† /var/log/*.log
    ✅ ๆ–ผ Grafana ๆ–ฐๅขž Loki ่ณ‡ๆ–™ๆบ
    ✅ ๅปบ็ซ‹ dashboard ่ˆ‡ LogQL ๆŸฅ่ฉข
    ✅ ่จญๅฎš่ญฆๅ ฑๆˆ– Webhook ้€š็Ÿฅ
    

    ๐Ÿ“˜ ็ต่ชž

    ็›ธ่ผƒๅ‚ณ็ตฑ็š„ ELK Stack,Loki ไปฅ่ผ•้‡็ดšๆžถๆง‹ๆไพ›้ซ˜ๆ•ˆ็އ็š„ๆ—ฅ่ชŒ็ดขๅผ•。 ้€้Ž Grafana ้€ฒ่กŒๆ•ดๅˆ,ไฝ ๅฏไปฅๅฟซ้€Ÿๆชข่ฆ–็ณป็ตฑ้Œฏ่ชค、ๆ•ˆ่ƒฝ็“ถ้ ธ่ˆ‡ๅฎ‰ๅ…จไบ‹ไปถ。 ๅฐ Linux ็ถญ้‹ไบบๅ“ก่€Œ่จ€,้€™ๆ˜ฏไธ€ๅฅ—ๅ…ผๅ…ท้€Ÿๅบฆ่ˆ‡ๅฝˆๆ€ง็š„ๅณๆ™‚็›ฃๆŽงๆ–นๆกˆ。


    ๐Ÿ”— ๅปถไผธ้–ฑ่ฎ€

    — WWFandy・็›ฃๆŽงๅฏฆๆˆฐ็ญ†่จ˜

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš