2016-04-18 6 views
1

Ich versuche, die munin-mysql plugin zu installieren, aber ich bin mit einem seltsamen Fehler konfrontiert. Munin beklagt, dass es nicht DBI.pm im @INC finden:Kann DBI.pm nicht finden, auch wenn es im Pfad ist

[[email protected] perl5]# munin-run mysql 
Can't locate DBI.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /etc/munin/plugins/mysql line 127. 
BEGIN failed--compilation aborted at /etc/munin/plugins/mysql line 127. 

Aber es ist in der Tat auf dem Weg, und gerade bei /usr/local/lib64/perl5. Es wurde über den Befehl cpanm DBI installiert. Tatsächlich gibt es mehrere DBI.pm Dateien; Woher weiß ich, welcher benutzt werden soll?

[[email protected] perl5]# find/-name DBI.pm 
/root/.cpan/build/DBI-1.634-Aazmvi/blib/lib/Bundle/DBI.pm 
/root/.cpan/build/DBI-1.634-Aazmvi/blib/lib/DBI.pm 
/root/.cpan/build/DBI-1.634-Aazmvi/lib/Bundle/DBI.pm 
/root/.cpan/build/DBI-1.634-Aazmvi/DBI.pm 
/root/.cpanm/work/1460983027.32244/DBI-1.634/blib/lib/Bundle/DBI.pm 
/root/.cpanm/work/1460983027.32244/DBI-1.634/blib/lib/DBI.pm 
/root/.cpanm/work/1460983027.32244/DBI-1.634/lib/Bundle/DBI.pm 
/root/.cpanm/work/1460983027.32244/DBI-1.634/DBI.pm 
/root/munin-mysql-master/t/mock/DBI.pm 
/usr/local/lib64/perl5/Bundle/DBI.pm 
/usr/local/lib64/perl5/DBI.pm 

Verwandte Fragen:

+3

Überprüfen Sie die Berechtigung für die Datei DBI.pm. – AbhiNickz

+0

Bereits erledigt, Berechtigungen für die Datei und die übergeordneten Verzeichnisse sind 755. – dr01

+1

Was ist das Ergebnis des Befehls 'perl -MDBI -e1'? – Borodin

Antwort

3

munin-run switches users. Der Standardbenutzer ist nobody. Dieser Benutzer hat wahrscheinlich keine Berechtigung zum Lesen der Datei.

Das Skript muss mit ausreichenden Rechten ausgeführt werden, normalerweise als root, wenn es entweder zum Standardbenutzer von munin-node (oft "nobody") oder zu einem Benutzer, der das entsprechende Plugin konfiguriert hat.

prüfen mit munin-run --debug welcher Benutzer es als ausgeführt wird und dass die Benutzer kann /usr/local/lib64/perl5/DBI.pm lesen überprüfen.

Verwandte Themen