loki算法是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loki算法是啥相关的知识,希望对你有一定的参考价值。

参考技术A Loki是 Grafana Labs 团队最新的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统。它的设计非常经济高效且易于操作,因为它不会为日志内容编制索引,而是为每个日志流编制一组标签。项目受 Prometheus 启发,官方的介绍就是:Like Prometheus, but for logs.,类似于 Prometheus 的日志系统。
Grafana Loki作为整体的日志聚合系统, 使用了和当前主流的倒排索引日志系统不同的设计, 使用标签来作为日志的索引, 达成了较低的成本和快速查询的使用体验, 且易于安装部署。
其主要由以下三部分组成:
- Grafana负责前端监控以及可视化
- promtail负责客户端采集
- Loki则负责了最重要的日志存储分析等功能.

loki日志收集系统部署

loki简介

介绍:Loki 由以下3个部分组成:

  • loki是主服务器,负责存储日志和处理查询。
  • promtail是代理,负责收集日志并将其发送给 loki 。
  • Grafana用于 UI 展示。

一、promtail 部署

下载地址:https://github.com/grafana/loki/releases/download/v2.4.1/promtail-linux-amd64.zip

1、解压,下载官方配置模板并修改

mkdir /data/promtail
unzip promtail-linux-amd64.zip
wget https://raw.githubusercontent.com/grafana/loki/main/clients/cmd/promtail/promtail-local-config.yaml
vim promtail-local-config.yaml
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://192.156.71.125:3100/loki/api/v1/push	## 此处lokiserver修改为服务器端地址

scrape_configs:
- job_name: application			# job名称,自定义
  static_configs:
  - targets:					# 如测试环境多个应用多个路径,从此行开始复制修改对应的标签
      - localhost
    labels:
      job: tomcat				# 监控类型
      project: tjhlwjg			# 项目名称自定义
      host: 192.156.71.125		# 建议修改为本机ip,方便过滤      
      __path__: /data/tomcat_tjjg/logs/catalina.out		# tomcat日志路径

2、启动promtail

cd /data/promtail
nohup ./promtail-linux-amd64 --config.file=promtail.yaml &

二、loki 部署

下载地址:https://github.com/grafana/loki/releases/download/v2.4.1/loki-linux-amd64.zip

1、解压,下载官方配置模板并修改

mkdir /data/loki
unzip loki-linux-amd64
wget https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml
vim loki-local-config.yaml		# 这里不需要alertmanager,注释掉
auth_enabled: false

server:
  http_listen_port: 3100
  grpc_listen_port: 9096

common:
  path_prefix: /tmp/loki
  storage:
    filesystem:
      chunks_directory: /tmp/loki/chunks
      rules_directory: /tmp/loki/rules
  replication_factor: 1
  ring:
    instance_addr: 127.0.0.1
    kvstore:
      store: inmemory

schema_config:
  configs:
    - from: 2020-10-24
      store: boltdb-shipper
      object_store: filesystem
      schema: v11
      index:
        prefix: index_
        period: 24h

# ruler:
#   alertmanager_url: http://localhost:9093

# 下面的配置为新增的,不配置日志太大会报错
limits_config:
  enforce_metric_name: false
  reject_old_samples: true
  reject_old_samples_max_age: 168h
  ingestion_rate_mb: 30  #修改每用户摄入速率限制,即每秒样本量,默认值为4M
  ingestion_burst_size_mb: 15  #修改每用户摄入速率限制,即每秒样本量,默认值为6M

2、启动loki

cd /data/loki
nohup ./loki-linux-amd64 --config.file=loki.yaml &

三、配置grafana

1、添加loki数据源

2、输入loki服务器的ip和端口(3100)、其他默认,然后Save&Test

3、在Explore中选择loki,可以根据自定义的标签进行过滤

4、loki的日志页面如下

以上是关于loki算法是啥的主要内容,如果未能解决你的问题,请参考以下文章

python模块——hashlib模块(简单文件摘要算法实现)

RIP采用的是啥算法?

XOR算法是啥?

OSPF的算法是啥

svm算法是啥

目标检测算法是啥?