Erstmal wieso Revisited ?
Dies ist ein update meines älteren Blog Posts Blogpost 2016 welcher darauf einging das unter Debian 8.4 graphite-web wegen eines Fehlenden Eintrages in der Apache 2.4 Konfiguration nicht korrekt gestartet/aufgerufen werden konnte.
Es ist schon einige Zeit ins Land gegangen und ich habe weniger ein Auge darauf geworfen ob das weiterhin so Funktioniert.
Deshalb Revisited.
Here we Go again !
Ich gehe in diesem Fall von einer Debian Version der Nummer 9 aus und werde wie bei dem alten Blogpost. In der Grundannahme mal davon ausgehen das alles Funktioniert wie es soll:
Also hier die folgenden installationschritte:
#> apt-get install apache2 libapache2-mod-wsgi python-django python-django-tagging fontconfig python-tz python-pip python-dev python-twisted python-cairo
#> pip install carbon whisper graphite-web
#> pip install --upgrade twisted
#> cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
#> cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
#> /opt/graphite/bin/carbon-cache.py start
#> /opt/graphite/bin/carbon-cache.py status
#> cp /opt/graphite/examples/example-graphite-vhost.conf /etc/apache2/sites-available/graphite.conf
#> cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi
#> cp /opt/graphite/webapp/graphite/local_settings.py.example \ /opt/graphite/webapp/graphite/local_settings.py
#> python /opt/graphite/webapp/graphite/manage.py syncdb
#> chown www-data. -R /opt/graphite/storage
#> a2dissite 000-default
#> a2ensite graphite
#> a2enmod wsgi
#> service apache2 restart
#> chmod +x /etc/init.d/carbon-cache // Damit 'carbon-cache.py start' mit Systemstart erfolgt
Ergebnis davon ist -> Nichts funktioniert.
Back to the Roots
Ab hier kommt der Weg graphite-web auf einem Debian 9 (Stretch) in Betrieb zu nehmen.
Ausgangspunkt ist ein frisch installiertes Debian 9.
#> apt-get install vim -y
#> vim /etc/apt/sources.list
Wir müssen die Sources auf die Jessie Repositories setzen da zum Zeitpunkt dieses Blogposts die graphite-web Pakete nicht abrufbar sind.
Daher fügen wir folgendes hinzu in der sources.list
deb http://httpredir.debian.org/debian jessie main
Gefolgt von einem frischem #> apt-get update -y
.
Nun installieren wir den großteil der Pakete welche wir benötigen.
#> apt-get install graphite-web graphite-carbon mysql-server python-mysqldb python-pymysql apache2 libapache2-mod-wsgi apt-transport-https ssl-cert python-pip -y
Es folgen ca. 300MB an Daten.
Daraufhin stürzen wir uns direkt auf die Konfig.
Wir fangen an folgende Datei zu editieren.
#> vim /etc/graphite/local_settings.py
Darin ändern wir folgende Settings Sinnvoll in etwas was wir für unsere Installation benötigen.
Also SECRET_KEY, TIME_ZONE & ALLOWED_HOSTS setzen.
Danach muss in der folgenden Datei ein „true“ gesetzt werden damit graphite & carbon gemeinsam starten.
#> vim /etc/default/graphite-carbon
Nun kommt der trickreichste Part wir sind leider dazu genötigt eine alte django Version zu installieren.
#> pip install "django==1.4"
Damit haben wir die Grundlage womit wir das folgende Kommando erfolgreich absetzen können.
#> graphite-manage syncdb
#> Kundenverbesserung: Danke an bbtronic!
#> graphite-manage migrate --run-syncdb
#> chown _graphite. /var/lib/graphite/graphite.db
HINWEIS ! Dies setzt erst mal die voreingestellte sqlitedb in Gang.
Wenn eine andere DB verwendet werden soll dann sollte dies bitte in der „local_settings.py“ vorgenommen werden.
Wir sind fast am Ziel ein funktionierendes graphite-web zu haben.
Es fehlt nur etwas Apache2 Magie.
#>a2dissite 000-default.conf
#>cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites-available/
#> a2ensite apache2-graphite.conf
#> systemctl restart apache2
Voilà !
Es sollte nun auf dem Host System das graphite-web aufrufbar sein.
Danke für die Aufmerksamkeit !
Addenum nicht Sichtbare Kommentare von Kunden:
# Oliver: Ich bekam leider den Fehler:
twisted.python.usage.UsageError: Unknown command: carbon-cache
Hier hat dies geholfen:
mv /usr/local/lib/python2.7/dist-packages/twisted /usr/local/lib/python2.7/dist-packages/twisted2
Hier half mir ein downgrade:
python -m pip install ‘django-tagging<0.4'
Das hatte ich auch, habe es mit upgrade auf django 1.5 beseitigen können:
python -m pip install django==1.5
Vinc:
hallo David
nach dem ich die Installation bei back to the roots gestartet habe, klappte es. Wobei ein paar Infos unter Also SECRET_KEY, TIME_ZONE & ALLOWED_HOSTS wäre wohl noch nützlich.
Aber trotzdem – klappt es nicht – die “bilder” erscheinen nicht wie wenn der Pfad falsch ist.
gruss
vinc
Da fehlt ein .
chown _graphite. /var/lib/graphite/graphite.db
Danke! Mir ist wirklich der graphite.db entfleucht.
Well there is an easier way I would think? Apparently it’s in backports, used that one and worked like a charm 🙂
https://packages.debian.org/stretch-backports/graphite-web
Thanks for noticing that they added, graphite-web to stretch-backports. It wasn’t available in September last year.
Therefore it is „now“ easier.
Hallo David,
danke für die tolle Arbeit. Auf (m)einem Debian 9.4-System musste ich noch das Paket libffi-dev installieren, damit die pip-Befehle auch fehlerfrei durchlaufen.
Beste Grüße,
Christian.
Danke!
Ich werde es ggf. Berücksichtigen wenn ich es nochmal erneuere 🙂
Vorausgesetzt pip macht Probleme.
Also wahrscheinlich bei dem 9.5 Release.
und das funktioniert dann mit icinga2web?
Wieso ? Gibt es denn damit ein Problem ?
on the part to install it.
: Paket python-django-tagging kann nicht gefunden werden.
Hier half mir ein downgrade:
python -m pip install ‚django-tagging<0.4'
hallo David
nach dem ich die Installation bei back to the roots gestartet habe, klappte es. Wobei ein paar Infos unter Also SECRET_KEY, TIME_ZONE & ALLOWED_HOSTS wäre wohl noch nützlich.
Aber trotzdem – klappt es nicht – die „bilder“ erscheinen nicht wie wenn der Pfad falsch ist.
gruss
vinc
auch nach diversen Neuinstallationen gibt es immer noch kein Erfolg. Jetzt habe ich ein Composite Tooling Corporation 404 error.
Nach Eingabe von
graphite-manage syncdb
bekomme ich ein „ImportError: cannot import name smart_text“
🙁
Obwohl Django 1.4 ja mit Python 2.7 kompatibel sein sollte laut Website.
Hallo Basti, danke für den Hinweis.
Wie ich schon etwas weiter oben geschrieben hab werd ich in naher Zukunft einen neuen Runderneuerten Blog Eintrag zu dem Thema verfassen.
Ist nicht leider ganz so einfach weil das neben unserer eigenen Tätigkeit passiert also bitte ich um etwas Geduld.
Mit freundlichem Gruß
David
Das hatte ich auch, habe es mit upgrade auf django 1.5 beseitigen können:
python -m pip install django==1.5
Danke für die Tips!
Nach einen Dist-Upgrade von Jessie auf Stretch hat es mir natürlich die Konfiguration zerstört, weil die Pakete nicht mehr da waren.
Dank deinen Hinweisen funktioniert jetzt alles wieder! 🙂
Ich bekam leider den Fehler:
twisted.python.usage.UsageError: Unknown command: carbon-cache
Hier hat dies geholfen:
mv /usr/local/lib/python2.7/dist-packages/twisted /usr/local/lib/python2.7/dist-packages/twisted2