Bug #1432

Ganglia drivers do not work with more than 10 VMs per node

Added by Javi Fontan over 8 years ago. Updated over 8 years ago.

Status:ClosedStart date:08/28/2012
Priority:NormalDue date:
Assignee:Javi Fontan% Done:

0%

Category:Drivers - Auth
Target version:Release 3.8
Resolution:fixed Pull request:
Affected Versions:OpenNebula 3.6

Description

From a message in the mailing list by mario wu

gmetric -c ./gmond.conf -n OPENNEBULA_VMS_INFORMATION -t string -v `/root/script/poll --kvm 2>/dev/null`

i get "There was an error sending to 1 of the send channels."

i forgot post the cause problem stringļ¼š

LS0tIApvbmUtODc4OiAKICA6c3RhdGU6IGEKICA6bmV0dHg6IDE0Mjg0NzQyCiAgOnVzZW
RjcHU6ICI5LjUiCiAgOm5hbWU6IG9uZS04NzgKICA6dXNlZG1lbW9yeTogMjA5NzE1Mgog
IDpuZXRyeDogNzkxMDk4ODQKb25lLTg0MTogCiAgOnN0YXRlOiBhCiAgOm5ldHR4OiAyND
Q5MTg1CiAgOnVzZWRjcHU6ICIwLjIiCiAgOm5hbWU6IG9uZS04NDEKICA6dXNlZG1lbW9y
eTogMjA5NzE1MgogIDpuZXRyeDogMTI4NzMxMzM4Cm9uZS04Njc6IAogIDpzdGF0ZTogYQ
ogIDpuZXR0eDogMTA3MzMwMTk1CiAgOnVzZWRjcHU6ICIxMS4xIgogIDpuYW1lOiBvbmUt
ODY3CiAgOnVzZWRtZW1vcnk6IDIxMjAwMTYKICA6bmV0cng6IDM2NjQzNTgxOApvbmUtOD
M5OiAKICA6c3RhdGU6IGEKICA6bmV0dHg6IDc2NTUzMDQKICA6dXNlZGNwdTogIjAuMiIK
ICA6bmFtZTogb25lLTgzOQogIDp1c2VkbWVtb3J5OiAyMDk3MTUyCiAgOm5ldHJ4OiAxOD
M2ODIxNTUKb25lLTgzODogCiAgOnN0YXRlOiBhCiAgOm5ldHR4OiA0MzkzMjQxCiAgOnVz
ZWRjcHU6ICIwLjQiCiAgOm5hbWU6IG9uZS04MzgKICA6dXNlZG1lbW9yeTogMjA5NzE1Mg
ogIDpuZXRyeDogMTgyNjgzMTA2Cm9uZS04ODY6IAogIDpzdGF0ZTogYQogIDpuZXR0eDog
NzIzOTI0NjMKICA6dXNlZGNwdTogIjEzLjUiCiAgOm5hbWU6IG9uZS04ODYKICA6dXNlZG
1lbW9yeTogMjEyMDMwMAogIDpuZXRyeDogNDAzOTEzNjM3Cm9uZS04ODg6IAogIDpzdGF0
ZTogYQogIDpuZXR0eDogMjYxNTY0MDg2CiAgOnVzZWRjcHU6ICIxMi4zIgogIDpuYW1lOi
BvbmUtODg4CiAgOnVzZWRtZW1vcnk6IDIxMTkyNTYKICA6bmV0cng6IDIxMDUzMjc0MzkK
b25lLTg4MzogCiAgOnN0YXRlOiBhCiAgOm5ldHR4OiAzMjExNDE1NjQKICA6dXNlZGNwdT
ogIjE2LjUiCiAgOm5hbWU6IG9uZS04ODMKICA6dXNlZG1lbW9yeTogMjEyMzU5MgogIDpu
ZXRyeDogMjU1NzgxNjg5OQpvbmUtODgwOiAKICA6c3RhdGU6IGEKICA6bmV0dHg6IDE3Mz
k4Nzg2MQogIDp1c2VkY3B1OiAiMTAuOSIKICA6bmFtZTogb25lLTg4MAogIDp1c2VkbWVt
b3J5OiAyMTE3OTMyCiAgOm5ldHJ4OiA1MTMyNDYxNDMKb25lLTcyMzogCiAgOnN0YXRlOi
BhCiAgOm5ldHR4OiA4MzIyNjQzOQogIDp1c2VkY3B1OiAiMTkuOCIKICA6bmFtZTogb25l
LTcyMwoyeTogMjExOTA1MgogIDpuZXRyeDogNTk1MTk0MDQ2Cm9uZS04NTY6IAogIDpzdG
F0ZTogYQogIDpuZXR0eDogMjE2NTIyMzM1CiAgOnVzZWRjcHU6ICIxMi43IgogIDpuYW1l
OiBvbmUtODU2CiAgOnVzZWRtZW1vcnk6IDIwOTcxNTIKICA6bmV0cng6IDc3NDc5NTI5Nw
o=

This problem is caused by the maximun length of ganglia values. That max value is around 1400 bytes [1] but that base64 encoded message is 1700 bytes long.

To allow monitoring more VMs per node the values can be compressed. Fortunately ZLIB library is standard in ruby and the message encoded repeats the same strings a lot:

[...]
one-867: 
  :state: a
  :nettx: 107330195
  :usedcpu: "11.1" 
  :name: one-867
  :usedmemory: 2120016
  :netrx: 366435818
one-839: 
  :state: a
  :nettx: 7655304
  :usedcpu: "0.2" 
  :name: one-839
  :usedmemory: 2097152
  :netrx: 183682155
[...]

That same monitoring string becomes less that 500 bytes after compression.

[1] http://www.mail-archive.com/ganglia-developers@lists.sourceforge.net/msg02215.html

Associated revisions

Revision 3325f29b
Added by Javi Fontan over 8 years ago

bug #1432: compress data pushed to ganglia

History

#1 Updated by Javi Fontan over 8 years ago

  • Status changed from Assigned to Closed
  • Resolution set to fixed

Now the data is compressed to make room for more VMs. A better integration needs to be done for future releases.

Also available in: Atom PDF