netsnmp_assert extension
Dans votre /var/log/syslog vous trouvez ce type de message toute les minutes ou 30 secondes ?
netsnmp_assert __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (rowreq_ctx->data.ifentry->name) && __builtin_constant_p (ifentry->name) && (__s1_len = strlen (rowreq_ctx->data.ifentry->name), __s2_len = strlen (ifentry->name), (!((size_t)(const void *)((rowreq_ctx->data.ifentry->name) + 1) - (size_t)(const void *)(rowreq_ctx->data.ifentry->name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((ifentry->name) + 1) - (size_t)(const void *)(ifentry->name) == 1) || __s2_len >= 4)) ? __builtin_strcmp (rowreq_ctx->data.ifentry->name, ifentry->name) : (__builtin_constant_p (rowreq_ctx->data.ifentry->name) && ((size_t)(const void *)((rowreq_ctx->data.ifentry->name) + 1) - (size_t)(const void *)(rowreq_ctx->data.ifentry->name) == 1) && (__s1_len = strlen (rowreq_ctx->data.ifentry->name), __s1_len < 4) ? (__builtin_constant_p (ifentry->name) && ((size_t)(const void *)((ifentry->name) + 1) - (size_t)(const void *)(ifentry->name) == 1) ? __builtin_strcmp (rowreq_c May 20 10:58:43 elara snmpd[3010]: netsnmp_assert __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (rowreq_ctx->data.ifentry->name) && __builtin_constant_p (ifentry->name) && (__s1_len = strlen (rowreq_ctx->data.ifentry->name), __s2_len = strlen (ifentry->name), (!((size_t)(const void *)((rowreq_ctx->data.ifentry->name) + 1) - (size_t)(const void *)(rowreq_ctx->data.ifentry->name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((ifentry->name) + 1) - (size_t)(const void *)(ifentry->name) == 1) || __s2_len >= 4)) ? __builtin_strcmp (rowreq_ctx->data.ifentry->name, ifentry->name) : (__builtin_constant_p (rowreq_ctx->data.ifentry->name) && ((size_t)(const void *)((rowreq_ctx->data.ifentry->name) + 1) - (size_t)(const void *)(rowreq_ctx->data.ifentry->name) == 1) && (__s1_len = strlen (rowreq_ctx->data.ifentry->name), __s1_len < 4) ? (__builtin_constant_p (ifentry->name) && ((size_t)(const void *)((ifentry->name) + 1) - (size_t)(const void *)(ifentry->name) == 1) ? __builtin_strcmp (rowreq_c
La Cause
Il existe peu de littérature sur le net à propose de ce message d’erreur. Cependant un bug report existe chez RedHat à propos snmpd. Sur Debian Etch 4.0 la version de snmpd est la 5.2. Upgrader en 5.3 comme préconisé dans la solution a ce bug en compilant le tente moyen moyen.
Quelques messages sur sur les mailling-list de xensource.com rester sans réponse, dont celui ci Problem with dom0 and snmpd.
Solution de contournement
A défaut de pouvoir mettre à jour snmpd, on peux le faire taire. J’ai trouver ici le bon paramètre : Snmpd filling up /var/log/messages. Donc il est possible de limité l’écriture dans les log au chose hyper importante.
Dans /etc/default/snmpd j’ai modifier la ligne suivante.
# SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
par
SNMPDOPTS='-LS 0-4 d -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
Les paramètres « 0-4″ signifie que les « warning messages », « errors », « alerts » et « critical messages » sont logger par contre tout ce qui est « notice info » et « debug level messages » sont ignoré. Depuis cette modification c’est plus silencieux