Grafana Loki
Page content
	
Loki is a Prometheus-inspired logging service for cloud native infrastructure. It’s similar to well-known ELK stack but more simple use and is intended to be used mostly Kubernetes.
Loki components
Loki-stack consists of three main components:
- promtail – agent to collect logs on a host and push them to a Loki instance
- loki – TSDB (Time-series database) logs aggregation and processing server
- Grafana – for querying and displaying logs
Deployment
yum install nginx -y
systemct start nginx
mkdir /opt/loki
cd /opt/loki/
nano loki-promtail-conf.yml
server:
  http_listen_port: 9080
  grpc_listen_port: 0
positions:
  filename: /tmp/positions.yaml
client:
  url: http://loki:3100/api/prom/push
scrape_configs:
  - job_name: system
    entry_parser: raw
    static_configs:
    - targets:
        - localhost
      labels:
        job: varlogs
        __path__: /var/log/*log
  - job_name: nginx
    entry_parser: raw
    static_configs:
    - targets:
        - localhost
      labels:
        job: nginx
        __path__: /var/log/nginx/*log
nano docker-compose.yml
version: "3"
networks:
  loki:
services:
  loki:
    image: grafana/loki:master
    ports:
      - "3100:3100"
    command: -config.file=/etc/loki/local-config.yaml
    networks:
      - loki
  promtail:
    image: grafana/promtail:master
    volumes:
       - /opt/loki/loki-promtail-conf.yml:/etc/promtail/docker-config.yaml
      - /var/log:/var/log
    command: -config.file=/etc/promtail/docker-config.yaml
    networks:
      - loki
  grafana:
    image: grafana/grafana:master
    ports:
      - "3000:3000"
    networks:
      - loki
docker-compose up -d
# add datasource
key=”{job=\”nginx\”}” appeared – all good.
