meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
public:howto:icinga2-graphite-grafana [2020–03–09 10:26] nexpublic:howto:icinga2-graphite-grafana [2020–03–19 10:30] (current) – [Generierung Graphite-DB] nex
Line 44: Line 44:
 <code> <code>
 # /etc/carbon/carbon.conf # /etc/carbon/carbon.conf
-[cache]                                                                                        +[cache] 
-STORAGE_DIR    = /var/lib/graphite/                                                            +DATABASE = whisper 
-LOCAL_DATA_DIR = /var/lib/graphite/whisper/                                                    +ENABLE_LOGROTATION = True 
-CONF_DIR       = /etc/carbon/                                                                  +USER = _graphite 
-LOG_DIR        = /var/log/carbon/                                                              +MAX_CACHE_SIZE = inf 
-PID_DIR        = /var/run/                                                                     +MAX_UPDATES_PER_SECOND = 500 
-DATABASE = whisper                                                                             +MAX_CREATES_PER_MINUTE = 50 
-ENABLE_LOGROTATION = False                                                                     +MIN_TIMESTAMP_RESOLUTION = 1 
-USER = _graphite                                                                               +LINE_RECEIVER_INTERFACE = 127.0.0.1
-MAX_CACHE_SIZE = inf                                                                           +
-MAX_UPDATES_PER_SECOND = 500                                                                   +
-MAX_CREATES_PER_MINUTE = 50                                                                    +
-MIN_TIMESTAMP_RESOLUTION = 1                                                                   +
-LINE_RECEIVER_INTERFACE = 0.0.0.0                                                             +
 LINE_RECEIVER_PORT = 2003 LINE_RECEIVER_PORT = 2003
 ENABLE_UDP_LISTENER = False ENABLE_UDP_LISTENER = False
-UDP_RECEIVER_INTERFACE = 0.0.0.0+UDP_RECEIVER_INTERFACE = 127.0.0.1
 UDP_RECEIVER_PORT = 2003 UDP_RECEIVER_PORT = 2003
-PICKLE_RECEIVER_INTERFACE = 0.0.0.0+PICKLE_RECEIVER_INTERFACE = 127.0.0.1
 PICKLE_RECEIVER_PORT = 2004 PICKLE_RECEIVER_PORT = 2004
 +PICKLE_RECEIVER_MAX_LENGTH = 1048576
 USE_INSECURE_UNPICKLER = False USE_INSECURE_UNPICKLER = False
-CACHE_QUERY_INTERFACE = 0.0.0.0+CACHE_QUERY_INTERFACE = 127.0.0.1
 CACHE_QUERY_PORT = 7002 CACHE_QUERY_PORT = 7002
 USE_FLOW_CONTROL = True USE_FLOW_CONTROL = True
Line 72: Line 68:
 LOG_CACHE_HITS = False LOG_CACHE_HITS = False
 LOG_CACHE_QUEUE_SORTS = False LOG_CACHE_QUEUE_SORTS = False
-CACHE_WRITE_STRATEGY = sorted+CACHE_WRITE_STRATEGY = timesorted
 WHISPER_AUTOFLUSH = False WHISPER_AUTOFLUSH = False
 WHISPER_FALLOCATE_CREATE = True WHISPER_FALLOCATE_CREATE = True
Line 81: Line 77:
 PICKLE_RECEIVER_INTERFACE = 0.0.0.0 PICKLE_RECEIVER_INTERFACE = 0.0.0.0
 PICKLE_RECEIVER_PORT = 2014 PICKLE_RECEIVER_PORT = 2014
 +PICKLE_RECEIVER_MAX_LENGTH = 1048576
 RELAY_METHOD = rules RELAY_METHOD = rules
 REPLICATION_FACTOR = 1 REPLICATION_FACTOR = 1
Line 120: Line 117:
 </code> </code>
  
-**Wichtig: Änderungen der Retention Policies werden nur bei neuen Whisper-Files wirksam, d.h. sobald einmal Perfdaten für ein bestimmtes Objekt aus Icinga2 gespeichert wurden, bleibt die alte Retention Policy auch dann wirksam, wenn man die Konfigurationsdatei ändert.**+Die nächste Datei, die man bearbeiten sollte, ist die ''storage-aggregation.conf''. Diese legt fest, wie Perfdaten aggregiert werden, wenn sie gemäß retention policy zu einer geringeren Auflösung komprimiert werden sollen. Details dazu liest man am besten in der Dokumentation((https://graphite.readthedocs.io/en/latest/config-carbon.html#storage-aggregation-conf)) nach. Ich benutze eine einfache Policy, die einfach immer mit Durchschnittsbildung die Daten zusammenfasst: 
 + 
 +<code> 
 +[default] 
 +pattern = .* 
 +xFilesFactor = 0.0 
 +aggregationMethod = average 
 +</code> 
 + 
 +**Wichtig: Änderungen der Retention/Aggregation Policies werden nur bei neuen Whisper-Files wirksam, d.h. sobald einmal Perfdaten für ein bestimmtes Objekt aus Icinga2 gespeichert wurden, bleibt die alte Retention Policy auch dann wirksam, wenn man die Konfigurationsdatei ändert. Man sollte also alles richtig konfiguriert haben, bevor die ersten Perfdaten eingeliefert werden, wenn man nicht dazu bereit ist, seine Perfdaten nach einer Änderung der Konfiguration wieder zu löschen.** 
 + 
 +==== Generierung Graphite-DB ==== 
 + 
 +Als nächstes muss noch die Graphite-DB initialisiert werden. Das geschieht in bester Django-Manier: 
 + 
 +<code> 
 +# graphite-manage migrate 
 +</code> 
 + 
 +Mir ist es dabei passiert, dass die Datenbank dann dem Nutzer/Gruppe ''root:root'' gehört hat und nicht mehr von Carbon beschreibbar war. Das Problem lässt sich leicht händisch beheben: 
 + 
 +<code> 
 +# chown _graphite:_graphite /var/lib/graphite/graphite.db 
 +</code>
  
 ==== Graphite Web ==== ==== Graphite Web ====