# 本地agent的日志打印级别
server:
log_level: info
# 抓取指标,完全兼容prometeus
metrics:
global:
scrape_interval: 1m #抓取时间间隔
remote_write:
# 推送到prometeus服务的地址,注:prometeus需启用--web.enable-remote-write-receiver
- url: http://192.168.1.3:9090/api/v1/write
configs: #配置从当前主机收集监控数据
- name: default #指定监控配置的名称
scrape_configs: #定义了要抓取的监控数据的配置。在这里,配置了一个 job_name 为 agent 的任务,指定了要监控的目标(targets)为本地主机的 12345 端口
- job_name: agent
static_configs:
- targets: ['127.0.0.1:12345']
# loki日志代理采集配置,完全兼容Promtail配置
logs:
configs:
- name: default
positions:
filename: /tmp/agent/positions.yaml #配置项用于记录已经发送的日志行的位置信息,以确保在代理重新启动或出现故障时,能够准确地继续发送未处理的日志行,而不会出现重复发送或丢失日志的情况
scrape_configs:
- job_name: bill-aws
static_configs:
- targets: [localhost]
labels:
group: traceCloud
job: bill-aws
__path__: /logs/hcmsp-bill-aws/info.log
clients:
- url: http://Ip:3100/loki/api/v1/push #loki server端地址
# trace (可观察性)
traces:
configs:
- name: default
receivers: #指定了代理接收其他应用的 traces 数据的配置,替代了 opentelemetry-collector 接收器
jaeger: #配置了 Jaeger 协议的接收器,监听默认的 Jaeger gRPC 端口 14250
protocols:
grpc: # listens on the default jaeger grpc port: 14250
otlp: #配置了 OTLP 协议的接收器,包括 HTTP 和 gRPC 两种协议,并指定了相应的端口号
protocols:
http: # default = 0.0.0.0:4318 http protocol
endpoint: 0.0.0.0:14318
grpc: # default = 0.0.0.0:4317 grpc protocol
endpoint: 0.0.0.0:14317
# 将otlp数据发送到远程服务
remote_write:
- endpoint: ip:4317
insecure: true # only add this if TLS is not required 如果不需要 TLS 加密,则设置为 true
batch: #定义了批处理相关的设置
timeout: 5s #指定了批处理的超时时间为 5 秒
send_batch_size: 100 #指定了每次发送的批处理大小为 100
automatic_logging: #配置了自动日志记录的设置
backend: stdout #指定了日志的输出后端为 stdout
#backend: logs_instance
#logs_instance_name: default
roots: true #启用了根节点的日志记录
service_graphs:
enabled: true #启用了服务图表的功能
# 节点指标配置,用于采集中间件的模块配置
integrations: #这部分配置用于节点指标的采集。
agent: #启用了代理的指标采集
enabled: true
# linux采集指标
node_exporter: #启用了 Node Exporter,用于采集节点的指标数据
enabled: true
disable_collectors: # 禁用一些高基数的指标,禁用了一些高基数的指标采集,包括 ipvs、btrfs、infiniband、xfs 和 zfs
- ipvs
- btrfs
- infiniband
- xfs
- zfs
参考:
Grafana,Loki,Tempo,Prometheus,Agent搭建日志链路监控平台_loki tempo-CSDN博客