中国建设银行积分网站,c 手机版网站开发,餐饮店如何引流与推广,做网站用html还是php1、Loki是什么#xff1f;
Loki是一个开源的日志聚合系统#xff0c;由Grafana Labs开发和维护。它旨在帮助用户收集、存储和查询大规模的日志数据#xff0c;帮助用户更好地理解和监控他们的应用程序和系统。
Loki的设计灵感来自于Prometheus#xff0c;它采用了类似的标…1、Loki是什么
Loki是一个开源的日志聚合系统由Grafana Labs开发和维护。它旨在帮助用户收集、存储和查询大规模的日志数据帮助用户更好地理解和监控他们的应用程序和系统。
Loki的设计灵感来自于Prometheus它采用了类似的标签和度量方式来组织和查询日志数据。与传统的日志聚合系统相比Loki具有以下特点
分布式架构Loki使用分布式架构可以水平扩展以处理大量的日志数据。索引-freeLoki不使用传统的索引结构来存储日志数据而是使用标签和度量方式来组织数据从而减少了存储和查询的复杂性。高效存储Loki使用压缩和切片技术来存储日志数据以减少存储空间的占用。实时查询Loki支持实时查询可以快速检索和过滤日志数据。简化部署Loki可以与Prometheus和Grafana无缝集成使得部署和管理变得更加简单。
2、Loki架构及概念
Loki 由以下3个部分组成 loki是主服务器负责存储日志和处理查询。 promtail是代理负责收集日志并将其发送给 loki 。 Grafana用于 UI 展示。
3、安装部署 方式一 官网安装指导 方式二基于官网配置文件改动 核心配置文件loki-config.yaml/promtail-config.yaml/docker-compose.yaml # 目录结构
-config/|-loki-config.yaml|-promtail-local-config.yaml
-docker-compose.yaml
-loki/|-index/|-chunks/
-grafana/3.1 promtail安装配置
1安装
$ curl -O -L https://github.com/grafana/loki/releases/download/v2.8.4/promtail-linux-arm64.zip
# extract the binary
$ unzip promtail-linux-arm64.zip
# make sure it is executable
$ chmod ax promtail-linux-arm64
# 启动 promtail
cd /data/promtail
nohup ./promtail-linux-amd64 --config.filepromtail-local-config.yaml 2配置文件promtail-local-config.yaml
# Promtail 配置文件
server:http_listen_port: 9080 # 监听端口
positions:filename: /tmp/positions.yaml # 位置文件路径
clients:- url: http://loki:3100/loki/api/v1/push # Loki 服务器的地址
scrape_configs:- job_name: app-log # 作业名称static_configs:- targets:- localhost # 目标地址可以是主机名或IP地址labels:job: {application}-logs # 标签用于过滤和标识日志来源project: oahost: xxx.xx.xx.xx__path__: /data/app/{application}/logs/*.log # 日志文件路径支持通配符- job_name: {job-task} # 作业名称static_configs:- targets:- localhost # 目标地址可以是主机名或IP地址labels:job: {application}-logs # 标签用于过滤和标识日志来源host: xxx.xx.xx.xx__path__: /data/{job-task}/*.log # 日志文件路径支持通配符3.2 Docker-compose安装LokiGrafana
1docker-compose.yaml
# 适用于loki grafana部署排除掉promtail
version: 3
networks:loki:services:loki:image: grafana/loki:2.8.3container_name: loki# no默认策略在容器退出时不重启容器# always在容器退出时总是重启容器# unless-stopped在容器退出时总是重启容器但是不考虑在Docker守护进程启动时就已经停止了的容器# restart: unless-stoppedports:- 3100:3100volumes:- ./loki-config.yaml:/etc/loki/local-config.yaml # 将主机上的loki-config.yaml文件挂载到容器的/etc/loki/local-config.yaml文件- ./loki/index:/opt/loki/index # 将主机上的index目录挂载到容器的/opt/loki/index目录用于存储Loki的数据- ./loki/chunks:/opt/loki/chunks # 将主机上的chunks目录挂载到容器的/opt/loki/chunks目录用于存储Loki的数据command: -config.file/etc/loki/local-config.yamlnetworks:- lokigrafana:environment:- GF_PATHS_PROVISIONING/etc/grafana/provisioning- GF_SECURITY_ADMIN_PASSWORDxxxx- GF_USERS_ALLOW_SIGN_UPfalse# - GF_AUTH_ANONYMOUS_ENABLEDtrue# - GF_AUTH_ANONYMOUS_ORG_ROLEAdminentrypoint:- sh- -euc- |mkdir -p /etc/grafana/provisioning/datasourcescat EOF /etc/grafana/provisioning/datasources/ds.yamlapiVersion: 1datasources:- name: Lokitype: lokiaccess: proxy orgId: 1url: http://loki:3100basicAuth: falseisDefault: trueversion: 1editable: falseEOF/run.shimage: grafana/grafana:latestcontainer_name: grafanarestart: unless-stoppedports:- 3000:3000volumes:- ./grafana:/var/lib/grafana networks:- loki2loki-config.yaml
#loki-config.yaml
auth_enabled: false # 是否启用身份验证
server:http_listen_port: 3100 # 监听端口common:path_prefix: /lokistorage:filesystem:chunks_directory: /loki/chunksrules_directory: /loki/rulesreplication_factor: 1 # 复制因子ring:kvstore:store: inmemory # 键值存储方式schema_config:configs:- from: 2020-10-24store: boltdb-shipper # 存储方式object_store: filesystemschema: v11index:prefix: index_ # 索引前缀period: 24h # 索引周期
table_manager:retention_deletes_enabled: false #日志保留周期开关默认为falseretention_period: 0s #日志保留周期ruler:alertmanager_url: http://localhost:90933使用docker-compose启动
$ docker-compose up -d官网地址https://grafana.com/docs/loki/v2.8.x/installation/local/