Temat: collectd - perl problem

Cześć,

Proszę o pomoc.

Robię wszystko wg instrukcji na http://eko.one.pl/?p=openwrt-collectd i przy wywołaniu dostaję błąd:

root@Gargoyle:/www# collectd2html.pl
"my" variable $cmd masks earlier declaration in same scope at /bin/collectd2html.pl line 226.
syntax error at /bin/collectd2html.pl line 222, near "$span qw(1hour 1day 1week 1month)"
Global symbol "$span" requires explicit package name at /bin/collectd2html.pl line 224.
Global symbol "$span" requires explicit package name at /bin/collectd2html.pl line 227.
Global symbol "$span" requires explicit package name at /bin/collectd2html.pl line 228.
Global symbol "$span" requires explicit package name at /bin/collectd2html.pl line 235.
Global symbol "$span" requires explicit package name at /bin/collectd2html.pl line 240.
syntax error at /bin/collectd2html.pl line 248, near "}"
  (Might be a runaway multi-line << string starting on line 246)
Execution of /bin/collectd2html.pl aborted due to compilation errors.


Moja konfiguracja:
----------------------------------------------------------------
|                                                              |
| Gargoyle PL 1.10.0.3 (68ce297)                               |
| OpenWrt Chaos Calmer 15.05.1 (r49617)                        |
| Build time: 2018-03-20 18:11 CET                             |
|                                                              |
| Cezary Jackiewicz (obsy), http://eko.one.pl                  |
|                                                              |
----------------------------------------------------------------
| Machine: WD My Net N750                                      |
| Uptime: 0d, 00:03:01                                         |
| Load: 0.26 0.30 0.13                                         |
| Flash: total: 8.5MB, free: 5.5MB, used: 36%                  |
| Memory: total: 123.0MB, free: 103.1MB, used: 16%             |
    |
----------------------------------------------------------------

2

Odp: collectd - perl problem

Jeżeli pobrałeś go ode mnie z poradnika to skasuj go i pobierz jeszcze raz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: collectd - perl problem

Cezary - pomogło.
Dziękuję

4

Odp: collectd - perl problem

Jeszcze jedno.
Jak uzyskać wykresy w naszej strefie czasowej. Mi generuje przesunięte o 5 godzin.

5

Odp: collectd - perl problem

Z tego co czytam to jest tylko kwestia odpowiedniej inicjacji bazy danych: http://rrdtool.vandenbogaerdt.nl/timezone.php#Offset

Pamiętaj jeszcze o jednym - router na starcie nie ma poprawnej daty. Więc jeżeli wtedy już zaczynasz zbieranie danych to będziesz miał bzdury w wykresach.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: collectd - perl problem

Niestety to nie koniec.
Wywołanie collectd2html.pl będąc zalogowanym w konsoli w katalogu /www generuje dobry wykres.
Uruchamianie tego z cron'a generuje pliki do katalogu /root zmiast do /www.

Pomyślałem, że przeedytuję plik collectd2html.pl w sekcji
my $IMG_DIR = "${HOST}.dir";
my $HTML = "${HOST}.xhtml";

na
my $IMG_DIR = "/www/${HOST}.dir";
my $HTML = "/www/${HOST}.xhtml";

Trochę pomogło tzn obrazki generują się w poprawnym katalogu /www oraz plik xhtml też ale po odświeżeniu strony 192.168.1.1/wykresy.html brak obrazków.
Linki wskazują na odpowiednie pliki ale z jakiegoś powodu nie są wczytywane.

Czy to jakiś konflikt uprawnień?

7

Odp: collectd - perl problem

Tak, zobacz uprawnienia lub zobacz czy w plikach html masz właściwe linki do obrazów (w szczególności - czy tam nie ma /www bo nie powinno być).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: collectd - perl problem

W takim razie problem jest z /www. Ścieżka pojawia się w HTML ale nie wiem jak ja usunąć. Bez niej katalog z plikami PNG tworzy się w katalogu /root a nie /www.

9

Odp: collectd - perl problem

Przed wywołaniem programu w cronie przejdź do /www ((cd /www; collectd2html.pl) itd).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: collectd - perl problem

Pomogło, dziękuję