-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Loki SSD fails if interface is not eth0 or en0 #4948
Comments
Hi, In container, it's not possible du get the device name for specifying it in cfg file... is it possible to use a wildcard or use all availables interfaces ? |
That's a very complicated problem because based on some internal discussion that we had, there are scenarios where users might be badly affected by using an unwanted interface and scenarios where users are badly affected by not using a wanted interface, so picking a default that works for everyone is not an easy task. That said, we are focusing instead on improving the configuration experience. For that, we are adding a way to configure the net interface to be used by Loki in a single place, inside the For context, the main problem with the current scenario is that when you configure |
Hi! This issue has been automatically marked as stale because it has not had any We use a stalebot among other tools to help manage the state of issues in this project. Stalebots are also emotionless and cruel and can close issues which are still very relevant. If this issue is important to you, please add a comment to keep it open. More importantly, please add a thumbs-up to the original issue entry. We regularly sort for closed issues which have a We may also:
We are doing our best to respond, organize, and prioritize all issues but it can be a challenging task, |
still present and still searching for a workaround in full containerized deployements |
I believe it is solved; you only have to use the common section directly instead of common/ring section: common:
- ring:
- interface_names:
- - ens5
+ interface_names:
+ - ens5 |
Yes, this work in a bare metal setup where it's easy to get the net devname. |
Hi! This issue has been automatically marked as stale because it has not had any We use a stalebot among other tools to help manage the state of issues in this project. Stalebots are also emotionless and cruel and can close issues which are still very relevant. If this issue is important to you, please add a comment to keep it open. More importantly, please add a thumbs-up to the original issue entry. We regularly sort for closed issues which have a We may also:
We are doing our best to respond, organize, and prioritize all issues but it can be a challenging task, |
I'll try in fews days if 2.5 release help when deploying in containers swarm and kube. |
Sooo... any solution for EKS on IPv6 for this issue? I've tried setting ::1 manually,
but then I'm getting
|
i remember someone having success on AWS by adding
It is using port 8500, that seems wrong. Memberlist by default runs on a different port. I suggest you to make sure your components are serving memberlist on the same port you're configuring its usage/client. |
@DylanGuedes thanks for the feedback. I have eventually realized that loki can't get the IP in k8s from the interface, because (a) eh0 and eth0 are not in k8s pods, but also (b) even if I provide interfaces that seem to exist in pod it still fails to acquire an IP address. So, Now, port 8500 seems to be either etcd or consul. Seems like loki is trying to use these services for ring configuration. I had to manually set Eventually, I realized that for my use case I can just run deploymentMode: SingleBinary
loki:
auth_enabled: false
commonConfig:
ring:
instance_addr: "::0"
kvstore:
store: inmemory
replication_factor: 1
path_prefix: /var/loki
server:
http_listen_port: 3100
grpc_listen_port: 9095
schemaConfig:
configs:
- from: 2024-04-01
store: tsdb
object_store: s3
schema: v13
index:
prefix: loki_index_
period: 24h
ingester:
chunk_encoding: snappy
tracing:
enabled: true
# querier:
# # Default is 4, if you have enough memory and CPU you can increase, reduce if OOMing
# max_concurrent: 4
storage:
type: 's3'
bucketNames:
chunks: loki-logs-.....
ruler: loki-logs-.....
admin: loki-logs-.....
s3:
region: us-east-1
gateway:
enabled: true
replicas: 1
resources:
limits:
memory: 96Mi
singleBinary:
replicas: 2
autoscaling:
enabled: true
persistence:
enabled: true
size: 4Gi
storageClass: io2
limits:
memory: 256Mi
read:
replicas: 0
backend:
replicas: 0
write:
replicas: 0
chunksCache:
enabled: true
resultsCache:
enabled: true
lokiCanary:
enabled: false
resources:
limits:
memory: 32Mi
test:
enabled: false For all the future people struggling with the same issue
But, as far as I understand, if you don't have many logs (saw 100GB/day somewhere – unverified), you can use SingleBinary mode to make things easier. Also If you're using SingleBinary, you also need to set |
Describe the bug
A minimal config for SSD fails if the network interface is not either eth0 or en0, causing services to bind to lo instead.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Expected services to bind to private IP address.
Environment:
Screenshots, Promtail config, or terminal output
On startup logs showed:
/config
showed:This was rectified by adding the following to configs:
The text was updated successfully, but these errors were encountered: