首页 > 其他分享 >Loki安装配置

Loki安装配置

时间:2024-09-05 15:36:00浏览次数:11  
标签:promtail com 配置 grafana Loki https loki 安装

文档参考
https://blog.51cto.com/u_16213620/7782631
github官网地址
https://github.com/grafana/loki?tab=readme-ov-file
各种安装方式,我们选择locally方式
https://grafana.com/docs/loki/latest/setup/install/
选择安装的版本
https://github.com/grafana/loki/releases
https://grafana.com/docs/loki/latest/configuration/examples/ # loki.yaml配置示例 https://grafana.com/docs/loki/latest/operations/storage/table-manager/ # Loki日志保留时间设置
https://grafana.com/docs/loki/latest/clients/promtail/ # promtail.yaml

grafana模版
https://grafana.com/grafana/dashboards/13639-logs-app/

测试环境
在日志服务器 上创建目录 /usr/local/loki 用于安装日志服务
阿里ECS缺失高版本类库,我们选择v2.8.8版本

下载文件
进入目录

mkdir /usr/local/monitlog && cd /usr/local/monitlog

下载loki

curl -O -L "https://github.com/grafana/loki/releases/download/v2.8.8/loki-linux-amd64.zip"

解压

解压之后只有一个二进制文件loki-linux-amd64

unzip "loki-linux-amd64.zip"

sudo yum install unzip

授权

chmod a+x "loki-linux-amd64"
如果没有unzip
sudo yum install unzip

下载promtail

curl -O -L "https://github.com/grafana/loki/releases/download/v2.8.8/promtail-linux-amd64.zip"

解压

解压之后只有一个二进制文件promtail-linux-amd64

unzip "promtail-linux-amd64.zip"

授权

chmod a+x "promtail-linux-amd64"
chmod -R u+rw /bbc

下载配置文件
wget https://raw.githubusercontent.com/grafana/loki/v2.8.8/cmd/loki/loki-local-config.yaml

wget https://raw.githubusercontent.com/grafana/loki/v2.8.8/clients/cmd/promtail/promtail-local-config.yaml
loki修改配置
loki-local-config.yaml 添加 数据保留时间、写入速度等优化
auth_enabled: false

server:
http_listen_port: 3100
grpc_listen_port: 19096
grpc_server_max_recv_msg_size: 18388608
grpc_server_max_send_msg_size: 18388608

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

query_range:
results_cache:
cache:
embedded_cache:
enabled: true
max_size_mb: 100

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
enable_api: true
enable_alertmanager_v2: true
enable_alertmanager_discovery: false
alertmanager_refresh_interval: 3m0s
alertmanager_url: http://8.219.198.22:8893
storage:
type: local
local:
directory: /usr/local/monitlog/loki-rules

compactor:
retention_enabled: true
compaction_interval: 60m
retention_delete_delay: 5m
retention_delete_worker_count: 150

limits_config:
retention_period: 20d
ingestion_rate_mb: 100
ingestion_burst_size_mb: 200
per_stream_rate_limit: 30MB
per_stream_rate_limit_burst: 60MB
reject_old_samples: true
reject_old_samples_max_age: 48h
失效设置
https://blog.csdn.net/chechenshi/article/details/129300229
Loki配置优化
注意loki版本,高版本配置不支持,会导致无法启动。
https://grafana.com/docs/loki/v3.0.x/configure/
https://grafana.com/docs/loki/v2.8.x/configuration/#storage_config

limits_config:
ingestion_rate_mb: 100 # 每分钟允许的写入速率(MB)
ingestion_burst_size_mb: 200 # 允许的写入突发大小(MB)
max_label_names_per_series: 50 # 每个系列允许的最大标签数
max_label_name_length: 1024 # 标签名的最大长度
max_label_value_length: 2048 # 标签值的最大长度
reject_old_samples: true # 拒绝旧样本
reject_old_samples_max_age: 72h # 72小时之前的样本被拒绝
max_entries_limit_per_query: 5000 # 每个查询的最大条目数限制

promtail修改配置文件
https://grafana.com/docs/loki/latest/send-data/promtail/configuration/#pipeline_stages
promtail-local-config.yaml
server:
http_listen_port: 19080
grpc_listen_port: 0

grpc最大接收消息值,默认4M 改为41943040

grpc_server_max_recv_msg_size: 41943040
grpc_server_max_send_msg_size: 41943040

clients:

scrape_configs:

  • job_name: cktest_id
    pipeline_stages:

    • timestamp:
      source: timestamp
      format: RFC3339Nano

      format: "2006-01-02T15:04:05Z07:00"

      location: Asia/Shanghai

    static_configs:

    • targets:
      • localhost
        labels:
        job: service-logs-id
        path: /bbc/tmp/app_log/id/*.log
  • job_name: cktest_th
    static_configs:

    • targets:
      • localhost
        labels:
        job: service-logs-th
        path: /bbc/tmp/app_log/th/*.log
  • job_name: app_log_pf
    static_configs:

    • targets:
      • localhost
        labels:
        job: service-logs-pf
        path: /bbc/tmp/app_log/pf/*.log
  • job_name: app_log_my
    static_configs:

    • targets:
      • localhost
        labels:
        job: service-logs-my
        path: /bbc/tmp/app_log/my/*.log

启动服务

启动loki

nohup ./loki-linux-amd64 -config.file=loki-local-config.yaml > loki_server.log 2>&1 &
调试时用
./loki-linux-amd64 -config.file=loki-local-config.yaml

启动promtail

nohup ./promtail-linux-amd64 -config.file=promtail-local-config.yaml > promtail_server.log 2>&1 &

调试时用
./promtail-linux-amd64 -config.file=promtail-local-config.yaml

查看进程

ps -ef | grep loki
ps -ef | grep promtail

关闭进程

kill -9 进程ID

ps -ef |grep loki |awk '{print $2}'|xargs kill -9

ps -ef |grep promtail |awk '{print $2}'|xargs kill -9

搭建验证
curl -X GET http://localhost:3100/metrics

grafana使用

查询语法参考
Loki查询语法
https://www.feiyiblog.com/2021/10/11/Loki的LogQL查询语法/

https://www.51cto.com/article/712649.html
案例: {filename="/bbc/log_haibeilizhi_id/business-service.log"} |= "查询条件"

Loki介绍
Loki 是一个由 Grafana Labs 开源的水平可扩展、高可用性、多租户的日志聚合系统。它受到 Prometheus 的启发,使用标签(labels)对日志进行特征标记,然后进行归集统计。Loki 的设计理念是经济高效且易于操作,它不会为日志内容建立全文索引,而是对日志数据进行压缩存储,并且只对日志数据的元数据(如时间戳、labels 等)建立索引 75。
部署 Loki 有几种方式,包括使用 Docker、Kubernetes 以及 Helm Chart 等。以下是一些部署 Loki 的基本步骤:

  1. 使用 Docker 部署 Loki: 使用 Docker 部署 Loki 是一种简便的方式。你可以编写一个 docker-compose.yml 文件来定义 Loki 服务,并通过 docker-compose up 命令启动 Loki 75。
  2. 使用 Kubernetes 部署 Loki: Loki 官方推荐的最佳实践为采用 DaemonSet 部署 Promtail 的方式,Promtail 是 Loki 的代理,负责收集日志并将其发送给 Loki。你可以创建相应的 Kubernetes 配置文件,定义 Loki 和 Promtail 的部署和服务 75。
  3. 使用 Helm Chart 部署 Loki: Helm Chart 是 Kubernetes 的包管理工具,可以用来部署 Loki。首先需要添加 Loki 的 Helm 仓库,然后使用 helm install 命令安装 Loki。安装时可以指定一个 values 文件来覆盖默认配置 77。
  4. 配置文件: 无论是哪种部署方式,都需要配置 Loki 的配置文件(如 loki.yaml),在该文件中设置 Loki 的各种参数,例如 HTTP 监听端口、存储配置、日志的索引和存储策略等 78。
  5. 安装 Promtail: Promtail 通常与 Loki 配合使用,负责收集和发送日志数据到 Loki。Promtail 也需要配置文件(如 promtail.yaml),在该文件中定义日志收集的路径和标签等信息 78。
  6. 在 Grafana 中配置 Loki 数据源: 部署完 Loki 后,你可以在 Grafana 中添加 Loki 作为数据源,这样就可以通过 Grafana 探索和可视化 Loki 中的日志数据 78。
  7. 日志清理: Loki 还提供了日志清理的功能,你可以设置日志的保留策略,例如基于时间或日志大小进行清理 75。
  8. 微服务模式部署: 当日志规模非常大时,Loki 支持微服务模式部署,将 Loki 的组件实例化为不同的进程,每个进程都被调用并指定其目标。这种部署模式提供了更高的灵活性和可扩展性,但设置和维护也更复杂

标签:promtail,com,配置,grafana,Loki,https,loki,安装
From: https://www.cnblogs.com/kunchengs/p/18398575

相关文章

  • prometheus告警配置
    这是prometheus告警规则配置,实际告警要结合alertmanager使用,请看下一篇文章。rulehttps://samber.github.io/awesome-prometheus-alerts/rulesjvm案例wgethttps://raw.githubusercontent.com/samber/awesome-prometheus-alerts/master/dist/rules/jvm/jvm-exporter.yml文件......
  • MySQL内存优化指南:深入配置与性能提升
    在数据库管理中,内存的使用和优化是提升数据库性能的关键因素之一。MySQL作为一种流行的关系型数据库管理系统,提供了多种配置选项来优化内存使用,从而提高数据库的响应速度和处理能力。本文将详细介绍如何在MySQL中配置和优化内存使用,包括内存参数的配置、内存使用的监控以及......
  • alertmanager安装配置
    https://prometheus.io/download/#alertmanagerhttps://github.com/prometheus/alertmanager介绍说明https://blog.csdn.net/weixin_42171272/article/details/139112335https://zhuanlan.zhihu.com/p/703090367https://blog.csdn.net/namelijink/article/details/135487104......
  • 滚雪球学MyBatis-Plus(11):多数据源配置
    前言在上期内容中,我们详细介绍了如何使用MyBatisPlus的代码生成器。通过代码生成器,我们能够根据数据库表结构自动生成实体类、Mapper接口、服务类、控制器和XML映射文件,大大提高了开发效率,并减少了重复劳动。同时,我们还探讨了如何进行代码生成器的自定义配置,使其生成......
  • CentOS安装MySQL8教程
    官方地址:https://dev.mysql.com/downloads/mysql/选择版本前需先看一下服务器的glibc版本ldd--version上传将下载好的tar包上传到服务器上,这里演示上传到了/usr/local/文件夹下   (也可以自定义位置)解压tar-Jxvfmysql-8.0.39-linux-glibc2.17-x86_64.tar.......
  • linux一键安装MySQL的脚本,保姆级别的脚本注释,你肯定能看懂
    1,下载官方安装包首先下载MySQL的官方安装包2,上传安装包到/opt//opt//mysql-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz3,复制以下代码保存到/opt/mysql_install.sh里面去(你需要相对应修改的地方就是设置MySQL用户密码那里,在第22行23行那里,其他不用动)然后赋予可执......
  • linux系统下各种日志文件的介绍,查看,及日志服务配置
    转载于https://zhuanlan.zhihu.com/p/298335887,侵权删!linux系统日志文件的详细介绍日志文件的作用日志文件用于记录linux系统的各种运行信息的文件,相当于linux主机的日记,不同的日志文件记载了不同类型的信息,如Linux内核消息、用户登录事件、程序错误等。.日志文件对于诊断和......
  • Java应用的分布式配置中心:Apollo与Spring Cloud Config
    Java应用的分布式配置中心:Apollo与SpringCloudConfig大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何在Java应用中使用分布式配置中心来管理配置,重点介绍Apollo与SpringCloudConfig这两种流行的配置管理工具,并通过代码示例演示......
  • VUE环境搭建之安装nvm自由管理node的版本
    一、下载地址官网:https://github.com/coreybutler/nvm-windows/releases二、安装三、使用命令行查看nvmnvmlsavailable四、访问https://nodejs.org/en/about/previous-releases获取可以的node版本......
  • Linux 系统中的 `/etc/sysctl.conf` 配置文件内核参数设置
    以下是对这些参数的详细解释:网络参数net.ipv4.ip_forward=0:禁用IP转发,防止系统作为路由器转发数据包。net.ipv4.conf.default.rp_filter=1:启用反向路径过滤,增加网络安全性,防止IP地址欺骗。net.ipv4.conf.default.accept_source_route=0:禁用源路由选项,防止数据包通......