Catatan
Asumsi kamu sudah punya Loki, Nginx dan Grafana yang sudah terinstall di server
How To
- Buat 1 file compose
name: promtail
services:
promtail:
image: grafana/promtail:latest
container_name: promtail-ctr
hostname: promtail
#you can enable to it for debug
logging:
driver: none
volumes:
- /var/log/nginx/:/var/log/nginx/:ro
- ./promtail-config.yml:/etc/promtail/promtail-config.yml:ro
- ./var-promtail:/var/promtail
command: -config.file=/etc/promtail/promtail-config.yml
restart: unless-stopped
network_mode: host
- Buat promtail-config.yml
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /var/promtail/positions.yaml
clients:
- url: http://192.168.1.1:3100/loki/api/v1/push
scrape_configs:
- job_name: nginx-access
static_configs:
- targets:
- localhost
labels:
job: nginx
log_type: access
host: nginx-server
__path__: /var/log/nginx/*.log
pipeline_stages:
- regex:
expression: '^(?P<remote_addr>[\w\.:]+) - (?P<remote_user>[^ ]*) \[(?P<time_local>.*)\] "(?P<method>[^ ]*) (?P<request>[^ ]*) (?P<protocol>[^ ]*)" (?P<status>[\d]+) (?P<body_bytes_sent>[\d]+) "(?P<http_referer>[^"]*)" "(?P<http_user_agent>[^"]*)"'
- labels:
method:
status:
- timestamp:
source: time_local
format: 02/Jan/2006:15:04:05 -0700
Jalankan
docker compose up -dMasuk ke Grafana, cari menu di samping, pilih “Explore”, lalu pilih “Loki”
Untuk contoh query
{host="nginx-server", filename="/var/log/nginx/ipang.my.id.log"}
