Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ | Sysadmin Windows & Linux Server. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π‘Π΅ΡΠΈ, ΠΠ ΠΈ ΠΠ΅Π»Π΅Π·Π°. IT Π£ΡΠΎΠΊΠΈ Π΄Π»Ρ Π‘ΠΈΡΠ°Π΄ΠΌΠΈΠ½Π°: ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, Π‘ΠΎΡΡ ΠΈ Π’Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° (Helpdesk). ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΠΏΠΎΠΌΠΎΡΡ.
IT ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Β· 17 ΠΈΡΠ»Ρ 2026 Π³.
π Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Grafana + Loki! π₯
π Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Grafana + Loki! π₯ π Grafana + Loki β ΠΌΠΎΡΠ½ΡΠΉ ΡΡΠ΅ΠΊ Π΄Π»Ρ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΎΠ³ΠΎΠ². Loki ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π»ΠΎΠ³ΠΈ, Π° Grafana ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΡ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅. π₯ 1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° π Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Loki π ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ΅ (Linux) # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ mkdir -p /etc/loki /var/lib/loki # ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Loki curl -O -L "https://github.com/grafana/loki" # ΠΠ°Π΅ΠΌ ΠΏΡΠ°Π²Π° Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ chmod +x loki-linux-amd64 mv loki-linux-amd64 /usr/local/bin/loki π ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³Π° /etc/loki/config.yaml auth_enabled: false server: http_listen_port: 3100 ingester: lifecycler: ring: kvstore: store: inmemory replication_factor: 1 chunk_idle_period: 5m chunk_retain_period: 30s schema_config: configs: - from: 2023-01-01 store: boltdb-shipper object_store: filesystem schema: v11 index: prefix: index_ period: 24h storage_config: boltdb_shipper: active_index_directory: /var/lib/loki/index cache_location: /var/lib/loki/cache shared_store: filesystem limits_config: enforce_metric_name: false reject_old_samples: true reject_old_samples_max_age: 168h chunk_store_config: max_look_back_period: 0s table_manager: retention_deletes_enabled: false retention_period: 0s π ΠΠ°ΠΏΡΡΠΊ Loki loki -config.file=/etc/loki/config.yaml π Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Promtail (Π΄Π»Ρ ΡΠ±ΠΎΡΠ° Π»ΠΎΠ³ΠΎΠ²) curl -O -L "https://github.com/grafana/loki" chmod +x promtail-linux-amd64 mv promtail-linux-amd64 /usr/local/bin/promtail π ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ½ΡΠΈΠ³Π° /etc/promtail/config.yaml server: http_listen_port: 9080 positions: filename: /var/lib/promtail/positions.yaml clients: - url: http://localhost:3100/loki/api/v1/push scrape_configs: - job_name: system_logs static_configs: - targets: - localhost labels: job: "varlogs" host: "server-1" __path__: /var/log/*.log π ΠΠ°ΠΏΡΡΠΊ Promtail promtail -config.file=/etc/promtail/config.yaml π¨ 2. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Grafana π Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° (Debian/Ubuntu) sudo apt-get install -y software-properties-common sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" sudo apt-get update sudo apt-get install grafana π ΠΠ°ΠΏΡΡΠΊ ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ sudo systemctl start grafana-server sudo systemctl enable grafana-server π ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Grafana Π΄Π»Ρ Loki 1. ΠΠ°ΠΉΡΠΈ Π² Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Grafana (http://<server>:3000) 2. ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² Configuration β Data Sources 3. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Loki - URL: http://localhost:3100 - Access: Server - Save & Test π 3. ΠΠ°ΠΏΡΠΎΡΡ Π² Loki (LogQL) π ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ {job="varlogs"} | json πΉ Π€ΠΈΠ»ΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠΊΠ΅ (job="varlogs") πΉ ΠΠ°ΡΡΠΈΠ½Π³ JSON π Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΎΠ² {job="varlogs"} |= "error" πΉ ΠΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ "error" {job="varlogs"} != "debug" πΉ ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΈ Ρ "debug" π ΠΠ³ΡΠ΅Π³Π°ΡΠΈΡ Π»ΠΎΠ³ΠΎΠ² rate({job="varlogs"}[5m]) πΉ ΠΠΎΠ΄ΡΡΠ΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 5 ΠΌΠΈΠ½ΡΡ count_over_time({job="varlogs"}[10m]) πΉ ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π»ΠΎΠ³ΠΎΠ² Π·Π° 10 ΠΌΠΈΠ½ΡΡ sum by (level) (count_over_time({job="varlogs"}[10m])) πΉ ΠΠΎΠ΄ΡΡΠ΅Ρ Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎ ΡΡΠΎΠ²Π½ΡΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, error, info) π 4. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ° π ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² systemctl restart loki systemctl restart promtail systemctl restart grafana-server π ΠΡΠΎΡΠΌΠΎΡΡ Π»ΠΎΠ³ΠΎΠ² journalctl -u loki -f journalctl -u promtail -f journalctl -u grafana-server -f π ΠΡΠΈΡΡΠΊΠ° ΡΡΠ°ΡΡΡ Π»ΠΎΠ³ΠΎΠ² rm -rf /var/lib/loki/* rm -rf /var/lib/promtail/* π‘ ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΡ Loki API curl -s "http://localhost:3100/ready" ΠΡΠ²Π΅Ρ: ready β π @i_odmin
ΠΠ°Π½Π°Π» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΠ°ΠΊΡΠΈΠΌΠ΅ΡΠ΅ΡΠ°
6Β 180 ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² Β· IT ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ