failed to call resources
Logs are Coming only some time after Loki alloy setup, Please some one let me know if i have done any wrong configs of if i need to update anything over here .
lokivalues.yaml
test:
enabled: false
monitoring:
selfMonitoring:
enabled: false
grafanaAgent:
installOperator: false
read:
replicas: 3
nodeSelector:
Environment:
backend:
replicas: 3
persistence:
storageClass: gp2
extraVolumes:
- name: retention
emptyDir: {}
extraVolumeMounts:
- name: retention
mountPath: /data
nodeSelector:
Environment:
write:
replicas: 3
persistence:
storageClass: gp2
nodeSelector:
Environment:
loki:
limits_config:
max_query_lookback: 25h
retention_period: 25h
compactor:
working_directory: /data/retention
delete_request_store: s3
retention_enabled: true
commonConfig:
replication_factor: 3
schemaConfig:
configs:
- from: 2024-11-07
store: tsdb
object_store: s3
schema: v13
index:
prefix: index_
period: 24h
chunks:
period: 24h
storage:
bucketNames:
chunks:
ruler:
admin:
type: s3
s3:
# endpoint: <MINIO-ENDPOINT>
region: ap-south-1
secretAccessKey:
accessKeyId:
s3ForcePathStyle: true
insecure: false
auth_enabled: false
nodeSelector:
Environment:
lokiCanary:
enabled: false
helm install loki -n loki grafana/loki -f loki-scalable-values.yml --create-namespace
Alloy Configs
alloy.configmap
apiVersion: v1
kind: ConfigMap
metadata:
name: alloy-config
namespace: alloy-logs
data:
config.alloy: |
discovery.kubernetes "pods" {
role = "pod"
}
discovery.relabel "pod_logs" {
targets = discovery.kubernetes.pods.targets
rule {
source_labels = ["__meta_kubernetes_namespace"]
target_label = "namespace"
}
rule {
source_labels = ["__meta_kubernetes_pod_name"]
target_label = "pod"
}
rule {
source_labels = ["__meta_kubernetes_pod_container_name"]
target_label = "container"
}
rule {
source_labels = ["__meta_kubernetes_namespace", "__meta_kubernetes_pod_name"]
separator = "/"
target_label = "job"
}
rule {
source_labels = ["__meta_kubernetes_pod_uid", "__meta_kubernetes_pod_container_name"]
separator = "/"
action = "replace"
replacement = "/var/log/pods/*$1/*.log"
target_label = "__path__"
}
rule {
action = "replace"
source_labels = ["__meta_kubernetes_pod_container_id"]
regex = "^(\\w+):\\/\\/.+$"
replacement = "$1"
target_label = "tmp_container_runtime"
}
}
local.file_match "pod_logs" {
path_targets = discovery.relabel.pod_logs.output
}
loki.source.file "pod_logs" {
targets = local.file_match.pod_logs.targets
forward_to = [loki.process.pod_logs.receiver]
}
loki.process "pod_logs" {
stage.match {
selector = "{namespace!~\"^(loki|alloy-logs)$\"}"
stage.regex {
expression = "(?P<method>GET|PUT|DELETE|POST)"
}
stage.regex {
expression = "(?P<status_code_with_http_version>HTTP.{6}\\d{3})"
}
stage.regex {
expression = "(?P<status_code>\\d{3})"
source = "status_code_with_http_version"
}
stage.labels {
values = {
method = "",
status_code = "",
}
}
}
stage.match {
selector = "{tmp_container_runtime=\"containerd\"}"
stage.cri {}
stage.labels {
values = {
flags = "",
stream = "",
}
}
}
stage.match {
selector = "{tmp_container_runtime=\"docker\"}"
stage.docker {}
stage.labels {
values = {
stream = "",
}
}
}
stage.label_drop {
values = ["tmp_container_runtime"]
}
forward_to = [loki.write.loki.receiver]
}
loki.write "loki" {
endpoint {
url = "http://loki-gateway.loki.svc.cluster.local/loki/api/v1/push"
}
}
alloy_values.yaml
alloy:
configMap:
create: false
name: alloy-config
key: config.alloy
clustering:
enabled: false
mounts:
varlog: true
controller:
type: 'daemonset'