Menu

#3 java.lang.NullPointerException

v1.0_(example)
open
nobody
None
1
2014-02-06
2014-02-03
Anonymous
No

bonjour,
je viens d'installer la version v2.7.13 de l'asemonlogger, le lancement se passe bien, mais j'ai les erreurs suivantes :
2014/02/03 17:03:53.332 ASEPEQU01_MonSQL - Error in loop. java.lang.NullPointerException
java.lang.NullPointerException
at asemon_logger.CollectorMonSQL$RunningStmt.retreivePlan(CollectorMonSQL.java:469)
at asemon_logger.CollectorMonSQL$RunningStmt.access$2200(CollectorMonSQL.java:161)
at asemon_logger.CollectorMonSQL.getMetrics(CollectorMonSQL.java:988)
at asemon_logger.Collector.run(Collector.java:488)

et aucune données dans les tables : ASEPEQU01_StmtSQL,ASEPEQU01_StmtStat

Aurais-je loupé quelque chose ?

Pour info, j'ai modifié le paramètre "max SQL text monitored" pour le mettre à 2048 (il est actuellement à 1000), le paramètre étant static pour l'instant il est toujours à 1000 est-ce possible que ce soit la source du problème ?

Discussion

  • Jean-Paul Martin

    Bonjour, non c'est pas lié a "max sql text monitored" mais à la procédure sp_showplan (le plantage a la ligne 469 dans CollectorMonSQ indique que le "SQL state" des messages ramenés par le showplan est null). Quelle version de ASE ? Est-ce que le user qui est utilisé pour monitorer le serveur a le role sa_role ? Si non, est-ce que le script "install_asemon_proc_non_sa" a été exécuté correctement (avec la bonne version pour ces serveur ?)

     
  • Anonymous

    Anonymous - 2014-02-04

    bonjour,
    j'utilise effectivement le user sa
    1> sp_displaylogin sa
    2> go
    Suid: 1
    Loginame: sa
    Fullname:
    Default Database: master
    Default Language:
    Auto Login Script:
    Configured Authorization:
    sa_role (default ON)
    sso_role (default ON)
    oper_role (default ON)
    sybase_ts_role (default ON)
    mon_role (default ON)
    Locked: NO
    Date of Last Password Change: Jul 23 2009 10:02AM
    Password expiration interval: 0
    Password expired: NO
    Minimum password length: 6
    Maximum failed logins: 0
    Current failed login attempts:
    Authenticate with: AUTH_DEFAULT
    Login Password Encryption: SYB-PROP,SHA-256
    Last login date: Feb 4 2014 9:49AM
    (return status = 0)

    Début du fichier de conf xml :
    <ArchiveSrv>
    <name> ASEPXXX02 </name>
    <user> sa </user>
    <database> monitor </database>
    <charset> </charset>
    </ArchiveSrv>

    <MonitoredSrv>
    <SRV>
    <name> ASEPXXX01 </name>
    <user> sa </user>
    <charset> </charset>
    <srvDescriptor> ASEV15 </srvDescriptor>
    </SRV>
    </MonitoredSrv>

    Version du serveur a monitoré :
    Adaptive Server Enterprise/15.5/EBF 19399 SMP ESD#5/P/x86_64/Enterprise Linux/asear155/2568/64-bit/FBO/Fri Dec 9 02:45:22 2011
    Idem pour le serveur archive (il est sur la même machine)

    J'ai testé un sp_showplan je n'ai pas eu de soucis.

     
  • Anonymous

    Anonymous - 2014-02-06

    bonjour,

    finalement, en réinstallant, je n'ai plus d'erreur (l'utilisation de l'ancien fichier de conf ne fonctionnait pas).

    Par contre j'ai besoin de lancer le moniteur en crontab (un script stop/start du moniteur), mais il me mets le message :

    Cannot ask password when asemon is started in background

    comment contourner ce problème ? y a-t-il un moyen sans toucher au code ?

     
  • Jean-Paul Martin

    Ok , super si ca remarche.

    Pour les passwords il suffit de les mettre dans le fichier "passwords" à la racine de l'installation asemon. Il faut les mettre en clair et asemon les crypte dès son démarrage. Il y a un exemple de fichier passwords : passwords.sample. Une fois qu'un password a été crypté, asemon met "--" en début de ligne. Par la suite pour changer un password il suffit d'éditer le fichier, de retirer "--" sur les lignes à changer, et d'y mettre les passwords en clair, puis de redémarrer asemon_logger pour qu'il les recrypte a nouveau

     
  • Anonymous

    Anonymous - 2014-02-06

    Oui tout à fait, j'ai bien lu ça dans la documentation effectivement c'est bien ce qu'il fait.
    Par contre j'aurai voulu mettre en place des scripts en crontab de lancement du moniteur et de le stopper (kill).
    J'ai vu qu'il y avait un test de console dans Password.java (message d'erreur 'Cannot ask password when asemon is started in background'). Dans les versions précédentes le lancement en crontab fonctionnait.

    Y a-t-il un moyen de l'éviter et de pouvoir lancer le moniteur en background ?

     
  • Jean-Paul Martin

    Non effectivement on ne peut pas le lancer en background et renter le mot de passe en redirigeant l'entrée standard (c'est la methode java utilisée qui l'empêche) Mais je lance tous mes asemon_logger avec crontab (il y a même un script maintenant qui est fournit dans le répertoire racine d'asemon pour ca) Je ne vois pas le problème avec les mots de passe qui sont alors lus dans le fichier "passwords".

    On peut aussi lancer asemon_logger en interactif, saisir les mots de passe, puis le basculer en background avec CtrlZ puis bg

     

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.