๐ 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
- ็ปๅ
ฅ Grafana → ้ป้ธๅทฆๅด
⚙️ → Data Sources。 - ๆฐๅข Loki → URL ่ผธๅ
ฅ
http://localhost:3100。 - ๅฒๅญๅพๅณๅฏๆฅ่ฉข Log。
็ฏไพๆฅ่ฉข:
{job="varlogs"} |= "error"
{host="web01"} |= "sshd"
ๅฏๅฟซ้็ฏฉ้ธๅ ๅซ้้ตๅญ็ๆฅ่ช่ก。
๐ ไบ、ๅปบ็ซๅ่กจๆฟ่่ญฆ็คบ
- ๆฐๅข Panel → ๆฅ่ฉข Source:
Loki。 - ่ผธๅ
ฅ LogQL,ไพๅฆ
{job="varlogs"} |~ "fail|error|denied"。 - ้ธๆ「Table」ๆ「Time Series」้กฏ็คบ。
- ๅฏ่จญๅฎ่ญฆๅ ฑๆขไปถ:
็ถ 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 ็ถญ้ไบบๅก่่จ,้ๆฏไธๅฅๅ ผๅ ท้ๅบฆ่ๅฝๆง็ๅณๆ็ฃๆงๆนๆก。
๐ ๅปถไผธ้ฑ่ฎ
- ๐ Linux Log ๅๆ่่ฆ่ฆบๅ:GoAccess ๅณๆ็ฃๆง
- ๐งฑ Linux systemctl ่ๆๅ็ฎก็ๅ จๆป็ฅ
- ๐ก Linux ๅฎๅ จๅผทๅๅฏฆๆฐๆๅ
— WWFandy・็ฃๆงๅฏฆๆฐ็ญ่จ
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ