Icinga2 + Grafana or Graphite

This forum was archived to /woltlab and is now in read-only mode.
  • Hello all,


    First I wish to say Thank you for last week Icinga Camp in Berlin. It was great meeting. After it I installed new Icinga2 and I wish to start configure all my hosts with it. Right now I have Nagios + PagerDuty for monitoring and Cacti/Munin for graphs. Icinga2 and web installation process was easy and all is working.


    But ... I have question: have I can force grafana to work? I have grafana and graphite work on my host. I see both dashboard on :8000 and :3000 ports. But Graphite doesn't show any graphs and grafana could not import anything from graphite. Do you have any good tutorial step by step how can I install and configure it?


    In grpahite I see: in Graphs -> carbon and icinga2. In icinag2 is nothing but in carbon I see some graphs. How can I add it?


    Thank you for any help.


    Best,
    Rafal

  • Enable and configure icinga2's "graphite" feature. That way the check performance data will be pushed to the carbon cache listener writing all the metrics.

  • All is done. Still no graphs. I enabled it like this:

    Code
    1. icinga2 feature enable perfdata
    2. icinga2 feature enable graphite

    After this I configure graphite.ini and in Icingaweb this module. When I check graphite, I see menu Carbon and Icinga. But only on Carbo is something for my host. I installed Grafana but I can not Import it from Graphite. Test connection works.


    Do you have any good tutorial how to install and configure basic Icinga2 + Web + Graphite + Grafana?


    Thank you so much for any help.


    Best,
    Rafal

  • Hello all,


    I found a solution here - https://blog.mattionline.de/icinga2/


    It's working. My next question is: how can I import Dashboards from Graphite to Grafana? I see in Graphite graphs and the same graphs I see in Icinga2, but even I have Green Light with Graphite configuration in Grafana, when I click Dashboard -> List of Dashboards I don't see anything. I created dashboards in Graphite - still no luck.


    Any hint?


    Best,
    Rafal

  • I found Puppet modules pretty convenient when setting up the Vagrant boxes. I don't have much Grafana knowledge myself, but they provide pretty good documentation and tutorial videos you should watch. It took me a while to figure out how to add my own dashboards with datasources, but the intro video explained it perfectly.

  • Hello how did you get graphite work in icingaweb2?. I follow the guide:


    http://dokuwiki.nausch.org/dok…os:web_c7:icinga:graphite


    and i got errors when i try to install the rpm (yum install graphite-web)


    I take another way and i install icinga2 and later graphite separate (http://www.unixmen.com/install-graphite-centos-7/). i can see graphite draw the graps in port 8080. but in icinga2 even i enabled graphite i cant see an grap or even the module of graphite in the menu.
    There is some link or guide that can help me a little bit.


    I will really apreciate any help.


    Thanks in advance.

  • There's multiple components involved. The integration into Icinga Web 2 is the last step I would take. At first glance you should ensure that carbon cache, whisper and graphite web are running. Then you'll plug Icinga 2 using the Graphite feature onto it. Add a realtime check (e.g. load with *interval = 1s) to regularly send new metrics from Icinga 2 to Graphite. Once that is working, you could follow the Web2-Module-Integration you mentioned.


    Installing Graphite is explained at their docs, in case you're using packages those should provide a README file (normally in /usr/share/doc/<packagename> somewhere).

  • Dear dnsmichi:


    Thanks in advance for your advice!! i follow your advice and now mi icinga2 is working with graphite draw the graps . also can manage grahite in their own core and icinga2 integration.


    now time to try to add some with snmp host.


    great forum and great people!!.

  • Hi, How did you manage to solve it?


    I've successfully configured icinga2 graphite writer and I can see metrics being graphed in both graphite-web and grafana but not in icingaweb2.


    Below are my configs:


    /etc/icingaweb2/modules/graphite/config.ini :


    [graphite]
    web_url = http://mytestserver


    mytestserver:root:/etc/icingaweb2/modules/graphite/templates> ll
    total 44
    -rwxr-sr-x. 1 root icingaweb2 178 May 13 13:21 disk.conf
    -rwxr-sr-x. 1 root icingaweb2 209 May 13 13:21 hostalive.conf
    -rwxr-sr-x. 1 root icingaweb2 180 May 13 13:21 http-size.conf
    -rwxr-sr-x. 1 root icingaweb2 147 May 13 13:21 http-time.conf
    -rwxr-sr-x. 1 root icingaweb2 301 May 13 13:21 icinga.conf
    -rwxr-sr-x. 1 root icingaweb2 218 May 13 13:21 load.conf
    -rwxr-sr-x. 1 root icingaweb2 183 May 13 13:21 ping4.conf
    -rwxr-sr-x. 1 root icingaweb2 150 May 13 13:21 procs.conf
    -rwxr-sr-x. 1 root icingaweb2 150 May 13 13:21 ssh.conf
    -rwxr-sr-x. 1 root icingaweb2 139 May 13 13:21 swap.conf
    -rwxr-sr-x. 1 root icingaweb2 133 May 13 13:21 templateset.ini


    Graphite icingaweb2 module is enable. I can see Graphite section under History but no templates are available. In addition if I go to to any service I can perfdata but no graph.


    I've attached few screenshots.


    Any ideas?


    Thanks


    Dom

  • Hi,


    I'm trying to configure link that hitokiri240 posted to install Graphite on CentOS 7. Unfortunately when I get to the point of creating database I get following error:


    # /usr/lib/python*/site-packages/graphite/manage.py syncdb
    Traceback (most recent call last):
    File "/usr/lib/python2.7/site-packages/graphite/manage.py", line 13, in <module>
    execute_from_command_line(sys.argv)
    File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
    File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
    klass = load_command_class(app_name, subcommand)
    File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 75, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
    File "/usr/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
    File "/usr/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 9, in <module>
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal, emit_pre_sync_signal
    File "/usr/lib/python2.7/site-packages/django/core/management/sql.py", line 9, in <module>
    from django.db import models
    File "/usr/lib/python2.7/site-packages/django/db/models/__init__.py", line 7, in <module>
    from django.db.models.manager import Manager
    File "/usr/lib/python2.7/site-packages/django/db/models/manager.py", line 58, in <module>
    class Manager(six.with_metaclass(RenameManagerMethods)):
    File "/usr/lib/python2.7/site-packages/django/utils/six.py", line 778, in __new__
    return meta(name, bases, d)
    File "/usr/lib/python2.7/site-packages/django/utils/deprecation.py", line 39, in __new__
    for base in inspect.getmro(new_class):
    AttributeError: 'module' object has no attribute 'getmro'



    @hitokiri, could you please let me know how did you manage to get the graphite up and running?

  • hplodur,


    syncdb was decapitated in django 1.9. Going back to 1.8 fixed that problem for me.

  • The Graphite project has updated their documentation for the most recent Django versions breaking things.


    https://github.com/graphite-project/graphite-web/issues/1425
    https://github.com/graphite-project/graphite-web/pull/1583

  • @hplodur use have to add some code to u apache2


    # nano /etc/apache2/sites-available/graphite.conf
    <Directory /usr/share/graphite-web/>
    Require all granted
    </Directory>
    service apache2 restart


    this worked for me


    but i am using debian 8 jessie