Loki日志系统组成:
指定端口3100,挂载数据卷即可(镜像已经重新打包)
数据卷
/etc/loki/local-config.yaml
配置文件loki-config
auth_enabled: false
server:
http_listen_port: 3100
ingester:
lifecycler:
address: 127.0.0.1
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 5m
chunk_retain_period: 30s
max_transfer_retries: 1
schema_config:
configs:
- from: 2020-01-02
store: boltdb
object_store: filesystem
schema: v9
index:
prefix: index_
period: 168h
chunks:
prefix: chunk_
period: 168h
row_shards: 16
storage_config:
boltdb:
directory: /loki/data/index
filesystem:
directory: /loki/data/chunks
limits_config:
ingestion_rate_mb: 10
enforce_metric_name: false
reject_old_samples: false
reject_old_samples_max_age: 168h
chunk_store_config:
max_look_back_period: 0s
table_manager:
chunk_tables_provisioning:
inactive_read_throughput: 0
inactive_write_throughput: 0
provisioned_read_throughput: 0
provisioned_write_throughput: 0
index_tables_provisioning:
inactive_read_throughput: 0
inactive_write_throughput: 0
provisioned_read_throughput: 0
provisioned_write_throughput: 0
retention_deletes_enabled: false
retention_period: 336h
promtail搭建采用导入yaml文件方式进行搭建
注意事项:搭建时注意namespace,镜像,以及loki服务器地址
promtail采用与promtheus相同的发现机制,支持static与kubernetes发现。romtail可以利用kubernetes API将Pod作为目标发现,但是它只能从promtail运行在同一节点上的Pod中读取日志文件。Promtail _host_在每个目标上查找label,并验证它是否设置于promtail有相同的主机名,($HOSTNAME如果未设置环境变量,则使用或由内核报告的主机名)
这意味着任何时候使用kubernetes服务发现,都必须有一个从一下位置relabel_config创建中间标签_host_的
_meta_kubernetes_pod_node_name。
- source_labels:
- __meta_kubernetes_pod_node_name
target_label: __host__
promtail文件这里列举案例进行说明
kubernetes_sd_configs: #启动kubernetes发现机制
- role: pod
relabel_configs: #重新定义relabel
- action: replace
source_labels:
-
__meta_kubernetes_pod_host_ip #匹配该kubernetes内置标签target_label: pod_host_ip #将kubernetes内置标签换为pod_host_ip
# 如果有__address__;
__meta_kubernetes_service_annotation_prometheus_io_port,且正则匹配([^:]+)(?::d+)?;(d+),则将__address__修改为$1:$2指定的值- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
separator: ;
regex: ([^:]+)(?::d+)?;(d+)
target_label: __address__
replacement: $1:$2
action: replace
#action有replace、drop、labelmap三种动作,labelmap为映射label。relabel_configs只会匹配配置中出现的,没有出现的则不匹配。
自定义标签可以自行添加