Reputation: 1
we are starting multiple MDSD azure monitoring agent instance to push logs inside k8s pods one per pod. Instances can go upto 100 in total including all pods.
Would like to know if there are any limits on starting multiple instances on a single machine other than Memory and CPU?
Command inside k8s pods, one per pod:
"mdsd", "-c", "/etc/mdsd.d/mdsd.xml", "-r", "/var/run/mdsd/default", "-e", "/var/log/mdsd/mdsd.err", "-w", "/var/log/mdsd/mdsd.warn", "-o", "/var/log/mdsd/mdsd.info", "-q", "/var/log/mdsd/mdsd.qos", "-L", "/mdsdpath", "-a", "-f", "29002"
If we start pushing logs via all mdsd agent processes can we hit some connection failure or any other surprises?
Have tried 10 MDSD agents. One pod (1 mdsd agent) pushes 1024 MB / min and have not seen any issues.
Upvotes: 0
Views: 136
Reputation: 3781
As far as I know, there are no hard limits explicitly documented by Azure for the number of MDSD agent instances you can run on a single machine. Atleast I couldn't find one but when scaling up to 100 instances definitely one must keep eye on the Memory and CPU usage which you are already monitoring. Please note, Log Analytics has ingestion rate limits. While your current volume (10 instances) might be fine, 100 instances could exceed these limits. Check the Azure documentation.
Also, would suggest you check your current file descriptor limit using ulimit -n as each MDSD agent opens multiple file descriptors (for sockets, logs, etc.), so you could hit the system-wide or per-process file descriptor limits and if and only if required, you can check and increase these limits by adjusting /etc/security/limits.conf
However, would require more details to provide you with better suggestion.
Kindly check out Troubleshoot the Azure Monitor agent on Linux virtual machines and scale sets - Azure Monitor | Microsoft Learn
Upvotes: 0