{ "info": { "author": "Fr\u00e9d\u00e9ric Mohier", "author_email": "frederic.mohier@alignak.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Natural Language :: English", "Programming Language :: Python", "Topic :: System :: Monitoring", "Topic :: System :: Systems Administration" ], "description": "Alignak demonstration server\n############################\n\n*Setting-up a demonstration server for Alignak monitoring framework ...*\n\nThis repository contains many stuff for Alignak:\n\n- demo configuration to set-up a demo server (the one used for http://demo.alignak.net)\n\n- some various tests configurations (each having a README to explain what they are made for)\n\n- scripts to run the Alignak daemons for the demo server (may be used for other configurations)\n\n\nWhat's behind the demo server\n=============================\n\nThis demonstration is made to involve the most possible Alignak components on a single node server.\n\nTo set-up this demo, you must:\n\n- install Alignak\n- install Alignak backend\n- install Alignak Web UI\n- install Alignak modules (backend and nsca)\n- install Alignak checks packs (NRPE, WMI, SNMP, ...)\n- import the configuration into the backend\n- start the backend, the Web UI and Alignak\n- open your web browser and rest for a while looking at what happens :)\n\n**Note**: it is possible to run Alignak without the backend and the WebUI. all the monitoring events are then available in the monitoring logs but, with this small configuration, one will loose the benefits ;)\n\n\nThe monitored configuration\n---------------------------\n\nOn a single server, the monitored configuration is separated in four **realms** (*All*, *North*, *South* and *South-East*).\nSome hosts are in the *All* realm and others are in the *North* and *South* realm, both sub-realms of *All* realm. The *South-East* realm is a sub-realm of *South* and it also contains some hosts.\n\nThe *All* realm is (let's say...) a primary datacenter where main servers are located. *North* and *South* realms are a logical group for a part of our monitored configuration. They may be seen as secondary sites.\n\nAccording to Alignak daemon logic, the master Arbiter dispatches the configuration to the daemons of each realm and we must declare, for each realm:\n\n- a scheduler\n- a broker\n- a poller\n- a receiver (not mandatory but we want to have NSCA collector)\n\nIn the *All* realm, we find the following hosts:\n\n- localhost\n- and some others\n\nIn the *North* realm, we find some passive hosts checked thanks to NSCA.\n\nIn the *South* realm, we find some other hosts.\n\n\nRequirements\n------------\n\nMandatory requirements\n~~~~~~~~~~~~~~~~~~~~~~\nYou will need some requirements for setting-up this demonstration:\n::\n\n # Update your server\n sudo apt-get update\n sudo apt-get upgrade\n\n # Install git and python\n sudo apt-get install git\n sudo apt-get install python2.7 python2.7-dev python-pip\n\n #\u00a0Needed for the PyOpenSSL / Cryptography dependencies of Alignak\n sudo apt-get install libffi-dev libssl-dev\n\n\nOptional requirements\n~~~~~~~~~~~~~~~~~~~~~\nThe scripts provided with this demo use the `screen` utility found on all Linux/Unix distro. As such::\n\n sudo apt-get install screen\n\nSome screen hint and tips:\n::\n\n # Listing the active screens\n screen -ls\n\n # Joining a screen\n screen -r alignak-backend\n\n # Leaving a screen (without killing it)\n screen -r alignak-backend\n Ctrl a+d\n\n # Switching between active screens\n Ctrl a+n\n\n**Note**: *It is not mandatory to use the provided scripts, but it is more simple for a first try;)*\n\n\nSetting-up the demo\n===================\n\nWe recommend having an up-to-date system;)\n::\n\n sudo apt-get update\n sudo apt-get upgrade\n\nWe also recommend using the most recent `pip` utility. On many distros pip is currently available as version 8 whereas the version 9 is available:\n::\n\n sudo pip install --upgrade pip\n\n\n1. Get base components\n----------------------\n\n**Note** that all the Alignak components need a root account (or *sudo* privilege) to get installed.\n\nAlignak framework\n~~~~~~~~~~~~~~~~~\n::\n\n mkdir ~/repos\n cd ~/repos\n\n #\u00a0Alignak framework\n git clone https://github.com/Alignak-monitoring/alignak\n cd alignak\n #\u00a0Install alignak and all its python dependencies\n # -v will activate the verbose mode of pip (not mandatory...)\n sudo pip install -v .\n\n # Create alignak user/group and set correct permissions on installed configuration files\n sudo ./dev/set_permissions.sh\n\nAlignak backend\n~~~~~~~~~~~~~~~\n::\n\n #\u00a0Alignak backend\n sudo pip install alignak-backend\n # To allow alignak user to view the log files\n sudo chown -R alignak:alignak /usr/local/var/log/alignak-backend/\n\n**Note** that you will need to have a running Mongo database. See the `Alignak backend installation procedure `_ if you need to set one up and running.\n\nAn excerpt for installing MongoDB on an Ubuntu Xenial:\n::\n\n sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6\n echo \"deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/testing multiverse\" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list\n sudo apt-get update\n sudo apt-get install -y mongodb-org\n sudo service mongod start\n\n\nAn excerpt for installing MongoDB on a debian Jessie:\n::\n\n sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6\n echo \"deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main\" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list\n sudo apt-get update\n sudo apt-get install -y mongodb-org\n sudo service mongod start\n\n\nAlignak backend importation script\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nAlignak ships a flat-file configuration importation script to feed the Alignak backend. This script is used to parse, check and import a Nagios-like configuration into the Alignak backend.\n\n**Note** that it is not mandatory to install and use this script because the Alignak WebUI allows to create all the monitored objects configuration from scratch :)\n\nFor this demo, we will install and use the `alignak-backend-import` script? So let's install it\n::\n\n #\u00a0Alignak backend importation script\n sudo pip install alignak-backend-import\n\n\nAlignak webui\n~~~~~~~~~~~~~\n::\n\n #\u00a0Alignak webui\n sudo pip install alignak-webui\n # To allow alignak user to view the log files\n sudo chown -R alignak:alignak /usr/local/var/log/alignak-webui/\n\n\nInstalled files\n~~~~~~~~~~~~~~~\n::\n\n ls -al /usr/local/etc/\n total 20\n drwxr-xr-x 5 root root 4096 sept. 1 08:06 ./\n drwxr-xr-x 11 root root 4096 nov. 15 2016 ../\n drwxrwxr-x 6 alignak alignak 4096 sept. 1 07:58 alignak/\n drwxr-xr-x 2 root root 4096 sept. 1 08:01 alignak-backend/\n drwxr-xr-x 2 root root 4096 sept. 1 08:06 alignak-webui/\n\n ls -al /usr/local/etc/alignak\n total 40\n drwxrwxr-x 6 alignak alignak 4096 sept. 1 07:58 ./\n drwxr-xr-x 5 root root 4096 sept. 1 08:06 ../\n -rw-rw-r-- 1 alignak alignak 9122 sept. 1 07:58 alignak.cfg\n -rw-rw-r-- 1 alignak alignak 3808 sept. 1 07:58 alignak.ini\n drwxrwxr-x 8 alignak alignak 4096 sept. 1 07:58 arbiter/\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 07:58 certs/\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 07:58 daemons/\n drwxrwxr-x 3 alignak alignak 4096 sept. 1 07:58 sample/\n\n ls -al /usr/local/etc/alignak-backend\n total 16\n drwxr-xr-x 2 root root 4096 sept. 1 08:01 ./\n drwxr-xr-x 5 root root 4096 sept. 1 08:06 ../\n -rw-r--r-- 1 root root 1940 mars 7 07:09 settings.json\n -rw-r--r-- 1 root root 1072 mars 7 07:09 uwsgi.ini\n\n ls -al /usr/local/etc/alignak-webui\n total 56\n drwxr-xr-x 2 root root 4096 sept. 1 08:06 ./\n drwxr-xr-x 5 root root 4096 sept. 1 08:06 ../\n -rw-r--r-- 1 root root 853 f\u00e9vr. 28 2017 logging.json\n -rwxr-xr-x 1 root root 37442 ao\u00fbt 1 09:32 settings.cfg*\n -rw-r--r-- 1 root root 1191 f\u00e9vr. 28 2017 uwsgi.ini\n\n ls -al /usr/local/var/log\n total 20\n drwxr-xr-x 5 root root 4096 sept. 1 08:06 ./\n drwxr-xr-x 6 root root 4096 sept. 1 07:58 ../\n drwxr-xr-x 2 alignak alignak 4096 sept. 1 07:58 alignak/\n drwxr-xr-x 2 alignak alignak 4096 sept. 1 08:01 alignak-backend/\n drwxr-xr-x 2 alignak alignak 4096 sept. 1 08:06 alignak-webui/\n\n ls -al /usr/local/var/run\n total 12\n drwxr-xr-x 3 root root 4096 sept. 1 07:58 ./\n drwxr-xr-x 6 root root 4096 sept. 1 07:58 ../\n drwxr-xr-x 2 alignak alignak 4096 sept. 1 07:58 alignak/\n\n\n2. Install check plugins\n------------------------\n\nSome extra installation steps are still necessary because we are using some external plugins and then we need to install them.\n\nThe NRPE checks package requires the `check_nrpe` plugin that is commonly available as:\n::\n\n sudo apt-get install nagios-nrpe-plugin\n\nThe monitoring checks package requires some extra plugins. Installation and configuration procedure is `available here `_ or on the Monitoring Plugins project page.\n\nYou may instead install the Nagios plugins that are commonly available as:\n::\n\n sudo apt-get install nagios-plugins\n\nAs of now, you really installed all the necessary stuff for starting a demo monitoring application, 2nd step achieved!\n\n\n\n3. Get extension components\n---------------------------\n\n**Note**: If you intend to set-up your own monitoring configuration, you are yet ready!\n\nThe next three chapters explain how to install Alignak modules, checks and notifications for the demo server.\n\n**Note** *because most of the checks packs are able to create the templates, commands,... directly into the Alignak backend during the installation processyou should start the Alignak backend before installing the checks packs and modules ;) See later in this document how to start the Alignak backend...*\n\nTo avoid executing all these configuration steps, you can install a all-in-one package that will install all the other packages thanks to its dependencies:\n::\n\n #\u00a0Alignak demo configuration\n # IMPORTANT: use the --force argument to allow overwriting previously installed files!\n sudo pip install alignak-demo --force\n\n # Re-update permissions on installed configuration files\n sudo ./dev/set_permissions.sh\n\n mkdir ~/demo\n cp /usr/local/var/libexec/alignak/*.sh ~/demo\n\n**Note**: it is the easisest solution to quickly have a running demo server, but it will miss all the important configuration part for a monitoring system :)\n\n**Note**: If you install the alignak-demo package, go directly to the step 5.\n\nModules\n~~~~~~~\n\n*Execute these steps only if you did not installed `alignak-demo`*\n\nGet and install Alignak modules::\n\n # Those two modules are \"almost\" necessary for the essential alignak features\n # If you do not install this module, you will not benefit from the Alignak backend features (retention, logs, timeseries, ...)\n sudo pip install alignak-module-backend\n # If you do not install this module, you will miss a log of all the alignak monitoring events: alerts, notifications, ...\n sudo pip install alignak-module-logs\n\n # Those are optional...\n # Collect passive NSCA checks\n sudo pip install alignak-module-nsca\n # Write external commands (Nagios-like) to a local named file\n sudo pip install alignak-module-external-commands\n # Notify external commands though a WS and get Alignak state with your web browser\n sudo pip install alignak-module-ws\n # Improve NRPE checks\n sudo pip install alignak-module-nrpe-booster\n\n # Note that the default module configuration is not suitable, but it will be installed later...\n\n\nNotifications\n~~~~~~~~~~~~~\n\n*Execute these steps only if you did not installed `alignak-demo`*\n\nGet notifications package::\n\n # Install extra notifications package\n sudo pip install alignak-notifications\n\n**Note** *that this pack requires an SMTP server for the mail notifications to be sent out. If none is available you will get WARNING logs and the notifications will not be sent out, but the demo will run anyway :) See later in this document how to configure the mail notifications...*\n\nChecks packages\n~~~~~~~~~~~~~~~\n\n*Execute these steps only if you did not installed `alignak-demo`*\n\n**Note** *that most of the checks packs are able to create the templates, commands,... directly into the Alignak backend during the installation process. To allow this creation, your Alignak backend must be running and available on its default interface (http://127.0.0.1:5000).*\n\nGet checks packages::\n\n # Install checks packages according to the hosts you want to monitor\n # Checks hosts thanks to NRPE Nagios active checks protocol\n sudo pip install alignak-checks-nrpe\n # Checks hosts thanks to old plain SNMP protocol\n sudo pip install alignak-checks-snmp\n # Checks hosts with \"open source\" Nagios plugins (eg. check_http, check_tcp, ...)\n sudo pip install alignak-checks-monitoring\n # Checks mysql database server\n sudo pip install alignak-checks-mysql\n # Checks Windows passively checked hosts/services (NSClient++ agent)\n # As of now, use ==1.0rc1 to get the correct version\n sudo pip install alignak-checks-windows-nsca\n # Checks Windows with Microsoft Windows Management Instrumentation\n sudo pip install alignak-checks-wmi\n\n # Note that the default packs configuration is not always suitable, but it will be installed later...\n\n # Restore alignak user/group ownership and set correct permissions on installed configuration files\n sudo ./dev/set_permissions.sh\n\n\nInstalled modules and files\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nFiles that were installed:\n::\n\n ls -al /usr/local/etc/alignak\n ...\n drwxr-xr-x 5 root root 4096 sept. 1 08:35 backend-json/\n total 20\n drwxrwxr-x 5 alignak alignak 4096 sept. 1 08:35 ./\n drwxrwxr-x 7 alignak alignak 4096 sept. 1 08:13 ../\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 08:13 notifications/\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 08:31 snmp/\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 08:35 windows-nsca/\n ...\n\n ls -al /usr/local/etc/alignak/arbiter/packs\n total 36\n drwxrwxr-x 8 alignak alignak 4096 sept. 1 08:35 ./\n drwxrwxr-x 8 alignak alignak 4096 sept. 1 07:58 ../\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 08:31 mysql/\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 08:13 notifications/\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 08:31 nrpe/\n -rw-rw-r-- 1 alignak alignak 128 sept. 1 07:58 readme.cfg\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 08:35 resource.d/\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 08:31 snmp/\n drwxrwxr-x 2 alignak alignak 4096 sept. 1 08:35 wmi/\n\n\nModules that were installed:\n::\n\n pip list | grep alignak\n alignak (0.2)\n alignak-backend (0.9.0)\n alignak-backend-client (0.9.4)\n alignak-backend-import (0.9.2)\n alignak-checks-mysql (0.3.0)\n alignak-checks-nrpe (0.3.3)\n alignak-checks-snmp (0.4.1)\n alignak-checks-windows-nsca (0.4.1.2)\n alignak-checks-wmi (0.3.0)\n alignak-module-backend (0.9.1)\n alignak-module-external-commands (0.3.1)\n alignak-module-logs (0.5.5)\n alignak-module-nrpe-booster (0.3.2)\n alignak-module-nsca (0.3.3)\n alignak-module-ws (0.6.0)\n alignak-notifications (0.4.6)\n alignak-webui (0.8.8.1)\n\nAs of now, you installed all the necessary Alignak stuff for starting a demo monitoring application, 3rd step achieved!\n\n4. Configure Alignak and monitored hosts/services\n-------------------------------------------------\n\n**Note:** *you may configure Alignak on your own and set your proper monitored hosts and declare how to monitor them. This is the usual way for setting-up your monitoring solution... But, as we are in a demo process, and we want to make it simple, this repository has a prepared configuration to help going faster to a demonstration of Alignak features.*\n\n\nFor this demonstration, we imagined a distributed configuration in three *realms*: All, North and South. This is not the default Alignak configuration (*eg. one instance of each daemon in one realm*) and thus it implies declaring and configuring extra daemons. As we are using some modules we also need to declare those modules in the corresponding daemons configuration. Alignak also has some configuration parameters that may be tuned.\n\nIf you need more information `about alignak configuration `_.\n\nTo avoid dealing with all this configuration steps, this repository contains a default demo configuration that uses all (or almost...) the previously installed components.::\n\n #\u00a0Alignak demo configuration\n cd ~/repos\n git clone https://github.com/Alignak-monitoring-contrib/alignak-demo\n\nSome extra configuration files are shipped in the *alignak_demo/etc* directory. You may copy those files to replace the default Alignak shipped configuration, but, as we will use the Alignak backend, most of the configuration will stay in the backend database and copying the files is not necessary.\n\n cp -R ~/demo/alignak-demo/alignak_demo/etc /usr/local/etc/alignak\n\n\nSome utility scripts are also shipped in the *alignak_demo/libexec* folder. For ease of use, you may copy those scripts in your home directory.\n::\n\n mkdir ~/demo\n cp /usr/local/var/libexec/alignak/*.sh ~/demo\n\nAs explained previously, the shell scripts that you just copied use the `screen` utility to detach the process execution from the current shell session.\n\nAs of now, Alignak is configured and you are ready to run, 4th step achieved!\n\n\n5. Configure, run and feed Alignak backend\n------------------------------------------\n\nIt is not necessary to change anything in the Alignak backend configuration file except if your MongoDB installation is not a local database configured by default. Else, open the */usr/local/etc/alignak-backend/settings.json* configuration file to set-up the parameters according to your configuration.\n\nstart / stop the backend\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nRun the Alignak backend:\n::\n\n cd ~/demo\n\n # Detach a screen session identified as \"alignak-backend\" to run the backend processes\n sudo ./alignak_backend_start.sh\n\n # This will run the alignak-backend-uwsgi in a screen session. If you do not mind about a\n # backend screen, you should run: sudo alignak-backend-uwsgi\n #\u00a0Using sudo because we assume that you are logged with a user account that is not the alignak one\n\n ps -aux | grep uwsgi-\n root 25193 0.5 0.4 238604 72044 9 I+J 10:13AM 7:10.69 uwsgi --ini /usr/local/etc/alignak-backend/uwsgi.ini\n root 25191 0.0 0.0 17096 2076 9 I+J 10:13AM 0:00.00 /bin/sh /usr/local/bin/alignak-backend-uwsgi\n root 25192 0.0 0.1 55876 10816 9 S+J 10:13AM 0:03.18 uwsgi --ini /usr/local/etc/alignak-backend/uwsgi.ini\n root 25194 0.0 0.3 189536 57440 9 S+J 10:13AM 0:31.97 uwsgi --ini /usr/local/etc/alignak-backend/uwsgi.ini\n root 25195 0.0 0.4 190048 60532 9 S+J 10:13AM 3:00.39 uwsgi --ini /usr/local/etc/alignak-backend/uwsgi.ini\n root 25196 0.0 0.4 190304 60708 9 S+J 10:13AM 0:41.29 uwsgi --ini /usr/local/etc/alignak-backend/uwsgi.ini\n\n # Joining the backend screen is 'screen -r alignak-backend'\n # Ctrl+C in the screen will stop the backend\n # kill -SIGTERM `cat /tmp/alignak-backend.pid`\n\n # The alignak backend writes some logs as a Web server does\n tail -f /usr/local/var/log/alignak-backend-error.log\n tail -f /usr/local/var/log/alignak-backend-access.log\n\nThe alignak backend runs thanks to uWSGI and its configuration is available in the */usr/local/alignak-backend/uwsgi.ini* where you can define the log files location. You can also configure the Alignak backend to send its internal metrics to a Graphite timeseries database.\n\n**Note** that a Grafana dashboard for the Alignak backend is available in the */usr/local/etc/alignak/sample/grafana* directory created when you installed the alignak-demo package;)\n\n\nFeed the backend\n~~~~~~~~~~~~~~~~\n\nRun the Alignak backend import script to push the demo configuration into the backend:\n::\n\n # Import the demo configuration into the backend\n cd ~/repos/alignak-demo\n alignak-backend-import -d ./alignak_demo/etc/alignak-backend-import.cfg\n\n**Note**: *there are other solutions to feed the Alignak backend but we choose to show how to get an existing configuration imported in the Alignak backend to migrate from an existing Nagios/Shinken to Alignak.*\n\nOnce imported, you can check that the configuration is correctly parsed by Alignak:\n::\n\n #\u00a0Check Alignak demo configuration (from the git repo)\n alignak-arbiter -V -a ~/repos/alignak-demo/alignak_demo/etc/alignak.cfg\n\n [2017-01-06 11:57:28 CET] INFO: [alignak.objects.config] Creating packs for realms\n [2017-01-06 11:57:28 CET] INFO: [alignak.objects.config] Number of hosts in the realm North: 2 (distributed in 2 linked packs)\n [2017-01-06 11:57:28 CET] INFO: [alignak.objects.config] Number of hosts in the realm South: 3 (distributed in 2 linked packs)\n [2017-01-06 11:57:28 CET] INFO: [alignak.objects.config] Number of hosts in the realm All: 7 (distributed in 7 linked packs)\n [2017-01-06 11:57:28 CET] INFO: [alignak.objects.config] Number of Contacts : 5\n [2017-01-06 11:57:28 CET] INFO: [alignak.objects.config] Number of Hosts : 12\n [2017-01-06 11:57:28 CET] INFO: [alignak.objects.config] Number of Services : 305\n [2017-01-06 11:57:28 CET] INFO: [alignak.objects.config] Number of Commands : 78\n [2017-01-06 11:57:28 CET] INFO: [alignak.objects.config] Total number of hosts in all realms: 12\n [2017-01-06 11:57:28 CET] INFO: [alignak.daemons.arbiterdaemon] Things look okay - No serious problems were detected during the pre-flight check\n [2017-01-06 11:57:28 CET] INFO: [alignak.daemons.arbiterdaemon] Arbiter checked the configuration\n\n**Note** *because the backend is now started and available, there is no more ERROR raised during the configuration check! You may still have some information about duplicate elements but nothing to take care of...*\n\nAs of now, Alignak is ready to start... let us go!\n\n6. Run Alignak\n--------------\n\nRun Alignak:\n::\n\n cd ~/demo\n\n # Define where to find the Alignak configuration file\n # As default, it will use the */usr/local/etc/alignak/alignak.cfg* file. If you copied the\n # files to the default location, it is not necessary to define those variables\n export ALIGNAKCFG=~/repos/alignak-demo/alignak_demo/etc/alignak.cfg\n export ALIGNAKCFG=~/repos/alignak-demo/alignak_demo/etc/daemons\n\n # For FreeBSD users:\n setenv ALIGNAKCFG /root/repos/alignak-demo/alignak_demo/\n setenv ALIGNAKDAEMONS /root/repos/alignak-demo/alignak_demo/etc/daemons/\n\n # Detach several screen sessions identified as \"alignak-daemon_name\"\n ./alignak_demo_start.sh\n\n # Stopping Alignak is './alignak_demo_stop.sh'\n\nProcesses\n~~~~~~~~~\n\nAlignak runs many processes that you can check with:\n::\n\n ps -ef --forest | grep alignak-\n\n alignak 30166 1087 0 janv.06 ? 00:00:00 \\_ SCREEN -d -S alignak-backend -m bash -c alignak-backend\n alignak 30168 30166 0 janv.06 pts/18 00:08:31 | \\_ /usr/bin/python /usr/local/bin/alignak-backend\n alignak 22289 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_north_broker -m bash -c alignak-broker -c /usr/local/etc/alignak/daemons/North/brokerd-north.ini\n alignak 22291 22289 0 09:55 pts/20 00:01:14 | \\_ alignak-broker broker-north\n alignak 22365 22291 0 09:55 pts/20 00:00:03 | \\_ alignak-broker\n alignak 22542 22291 0 09:55 pts/20 00:00:00 | \\_ alignak-broker-north module: backend_broker\n alignak 22292 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_north_poller -m bash -c alignak-poller -c /usr/local/etc/alignak/daemons/North//pollerd-north.ini\n alignak 22296 22292 0 09:55 pts/21 00:00:49 | \\_ alignak-poller poller-north\n alignak 22349 22296 0 09:55 pts/21 00:00:02 | \\_ alignak-poller\n alignak 22601 22296 0 09:55 pts/21 00:00:01 | \\_ alignak-poller-north worker\n alignak 22294 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_north_scheduler -m bash -c alignak-scheduler -c /usr/local/etc/alignak/daemons/North//schedulerd-north.ini\n alignak 22297 22294 0 09:55 pts/22 00:00:52 | \\_ alignak-scheduler scheduler-north\n alignak 22350 22297 0 09:55 pts/22 00:00:00 | \\_ alignak-scheduler\n alignak 22298 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_north_receiver -m bash -c alignak-receiver -c /usr/local/etc/alignak/daemons/North//receiverd-north.ini\n alignak 22300 22298 0 09:55 pts/23 00:00:31 | \\_ alignak-receiver receiver-north\n alignak 22351 22300 0 09:55 pts/23 00:00:00 | \\_ alignak-receiver\n alignak 22600 22300 0 09:55 pts/23 00:00:00 | \\_ alignak-receiver-north module: nsca_north\n alignak 22310 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_south_broker -m bash -c alignak-broker -c /usr/local/etc/alignak/daemons/South/brokerd-south.ini\n alignak 22312 22310 0 09:55 pts/24 00:01:01 | \\_ alignak-broker broker-south\n alignak 22414 22312 0 09:55 pts/24 00:00:03 | \\_ alignak-broker\n alignak 22547 22312 0 09:55 pts/24 00:00:07 | \\_ alignak-broker-south module: backend_broker\n alignak 22313 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_south_poller -m bash -c alignak-poller -c /usr/local/etc/alignak/daemons/South/pollerd-south.ini\n alignak 22315 22313 0 09:55 pts/25 00:01:04 | \\_ alignak-poller poller-south\n alignak 22413 22315 0 09:55 pts/25 00:00:03 | \\_ alignak-poller\n alignak 22616 22315 0 09:55 pts/25 00:00:05 | \\_ alignak-poller-south worker\n alignak 22316 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_south_scheduler -m bash -c alignak-scheduler -c /usr/local/etc/alignak/daemons/South/schedulerd-south.ini\n alignak 22318 22316 0 09:55 pts/26 00:00:53 | \\_ alignak-scheduler scheduler-south\n alignak 22415 22318 0 09:55 pts/26 00:00:00 | \\_ alignak-scheduler\n alignak 22326 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_broker -m bash -c alignak-broker -c /usr/local/etc/alignak/daemons/brokerd.ini\n alignak 22328 22326 1 09:55 pts/27 00:01:48 | \\_ alignak-broker broker-master\n alignak 22469 22328 0 09:55 pts/27 00:00:06 | \\_ alignak-broker\n alignak 22551 22328 0 09:55 pts/27 00:00:31 | \\_ alignak-broker-master module: backend_broker\n alignak 22605 22328 0 09:55 pts/27 00:00:01 | \\_ alignak-broker-master module: logs\n alignak 22329 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_poller -m bash -c alignak-poller -c /usr/local/etc/alignak/daemons/pollerd.ini\n alignak 22331 22329 0 09:55 pts/28 00:00:40 | \\_ alignak-poller poller-master\n alignak 22456 22331 0 09:55 pts/28 00:00:07 | \\_ alignak-poller\n alignak 22614 22331 0 09:55 pts/28 00:00:17 | \\_ alignak-poller-master worker\n alignak 22332 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_scheduler -m bash -c alignak-scheduler -c /usr/local/etc/alignak/daemons/schedulerd.ini\n alignak 22334 22332 0 09:55 pts/29 00:01:20 | \\_ alignak-scheduler scheduler-master\n alignak 22475 22334 0 09:55 pts/29 00:00:00 | \\_ alignak-scheduler\n alignak 22335 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_receiver -m bash -c alignak-receiver -c /usr/local/etc/alignak/daemons/receiverd.ini\n alignak 22337 22335 0 09:55 pts/30 00:00:57 | \\_ alignak-receiver receiver-master\n alignak 22457 22337 0 09:55 pts/30 00:00:00 | \\_ alignak-receiver\n alignak 22555 22337 0 09:55 pts/30 00:00:00 | \\_ alignak-receiver-master module: nsca\n alignak 22338 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_reactionner -m bash -c alignak-reactionner -c /usr/local/etc/alignak/daemons/reactionnerd.ini\n alignak 22340 22338 0 09:55 pts/31 00:00:34 | \\_ alignak-reactionner reactionner-master\n alignak 22484 22340 0 09:55 pts/31 00:00:02 | \\_ alignak-reactionner\n alignak 22611 22340 0 09:55 pts/31 00:00:01 | \\_ alignak-reactionner-master worker\n alignak 22403 1087 0 09:55 ? 00:00:00 \\_ SCREEN -d -S alignak_arbiter -m bash -c alignak-arbiter -c /usr/local/etc/alignak/daemons/arbiterd.ini --arbiter /usr/local/etc/alignak/alignak.cfg\n alignak 22404 22403 1 09:55 pts/32 00:02:34 | \\_ alignak-arbiter arbiter-master\n alignak 22514 22404 0 09:55 pts/32 00:00:00 | \\_ alignak-arbiter\n\n\nLog files\n~~~~~~~~~\n\nEach Alignak daemon has its own log file that you can find in the */usr/local/var/log/alignak* folder. If any error happen there will be at least an ERROR log in the corresponding file. You can *tail* the log files or use more sophisticated tools like *multitail* to stay tuned with Alignak activity\n::\n\n # Using tail\n tail -f /usr/local/var/log/alignak/*.log\n\n # Using multitail\n sudo apt-get install multitail\n\n multitail -f /usr/local/var/log/alignak/arbiterd.log\\\n -f /usr/local/var/log/alignak/brokerd.log \\\n -f /usr/local/var/log/alignak/brokerd-north.log \\\n -f /usr/local/var/log/alignak/brokerd-south.log \\\n -f /usr/local/var/log/alignak/pollerd.log \\\n -f /usr/local/var/log/alignak/pollerd-north.log \\\n -f /usr/local/var/log/alignak/pollerd-south.log \\\n -f /usr/local/var/log/alignak/reactionnerd.log \\\n -f /usr/local/var/log/alignak/receiverd.log \\\n -f /usr/local/var/log/alignak/receiverd-north.log \\\n -f /usr/local/var/log/alignak/schedulerd.log \\\n -f /usr/local/var/log/alignak/schedulerd-north.log \\\n -f /usr/local/var/log/alignak/schedulerd-south.log\n\n\nTracking the plugin execution\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nWhen setting up a new configuration and installing or testing plugins it may be interesting to have information about the launched check plugins and the returned results. Alignak allows to add information in the log files about plugins execution:\n::\n\n # Set and export an environment variable\n export TEST_LOG_ACTIONS=1\n\nThis variable make some more logs in the log files for:\n- launched command for the check plugins\n- check plugins result\n- notification commands\n\nMonitoring events\n~~~~~~~~~~~~~~~~~\n\nYou can follow the Alignak monitoring activity thanks to the monitoring events log created by the Logs module. You can *tail* the */usr/local/var/log/alignak/monitoring-logs.log* file:\n::\n\n [1483714809] INFO: CURRENT SERVICE STATE: chazay;System up-to-date;UNKNOWN;HARD;0;\n [1483714809] INFO: CURRENT SERVICE STATE: passive-01;svc_TagReading_C;UNKNOWN;HARD;0;\n [1483714809] INFO: CURRENT SERVICE STATE: passive-01;dev_TouchUI;UNKNOWN;HARD;0;\n [1483714809] INFO: CURRENT SERVICE STATE: denice;Shinken Main Poller;UNKNOWN;HARD;0;\n [1483714809] INFO: CURRENT SERVICE STATE: localhost;Cpu;UNKNOWN;HARD;0;\n [1483714812] INFO: SERVICE ALERT: chazay;CPU;OK;HARD;0;OK - CPU usage is 39% for server chazay.siprossii.com.\n [1483714816] INFO: SERVICE ALERT: alignak_glpi;Zombies;OK;HARD;0;PROCS OK: 0 processes with STATE = Z\n [1483714837] INFO: SERVICE ALERT: chazay;NTP;OK;HARD;0;NTP OK: Offset -0.003250718117 secs\n [1483714851] INFO: SERVICE ALERT: chazay;Memory;OK;HARD;0;Memory OK - 69.7% (23959990272 kB) used\n [1483714853] ERROR: HOST NOTIFICATION: guest;cogny;DOWN;notify-host-by-xmpp;CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.\n [1483714853] ERROR: HOST NOTIFICATION: imported_admin;cogny;DOWN;notify-host-by-xmpp;CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.\n [1483714862] INFO: SERVICE ALERT: chazay;I/O stats;OK;HARD;0;OK - data received\n [1483714886] INFO: SERVICE ALERT: chazay;Users;OK;HARD;0;USERS OK - 0 users currently logged in\n [1483714902] INFO: SERVICE ALERT: alignak_glpi;Load;OK;HARD;0;OK - load average: 0.60, 0.54, 0.52\n [1483714903] INFO: SERVICE ALERT: chazay;Firewall routes;OK;HARD;0;PF OK - states: 1316 (6% - limit: 20000)\n [1483714903] INFO: SERVICE ALERT: cogny;Http;OK;HARD;0;HTTP OK: HTTP/1.1 200 OK - 2535 bytes in 0,199 second response time\n [1483714905] INFO: HOST ALERT: alignak_glpi;UP;HARD;0;NRPE v2.15\n [1483714909] ERROR: HOST NOTIFICATION: imported_admin;localhost;DOWN;notify-host-by-xmpp;[Errno 2] No such file or directory\n [1483714909] ERROR: HOST ALERT: localhost;DOWN;HARD;0;[Errno 2] No such file or directory\n [1483714910] ERROR: HOST ALERT: always_down;DOWN;HARD;0;[Errno 2] No such file or directory\n [1483714910] ERROR: HOST NOTIFICATION: imported_admin;always_down;DOWN;notify-host-by-xmpp;[Errno 2] No such file or directory\n [1483714939] INFO: HOST ALERT: chazay;UP;HARD;0;NRPE v2.15\n [1483714966] INFO: SERVICE ALERT: m2m-asso.fr;Http;OK;HARD;0;HTTP OK: HTTP/1.1 200 OK - 6016 bytes in 3,227 second response time\n\nMonitoring events configuration\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThis file is a log of all the monitoring activity of Alignak. The *alignak.cfg* allows to define what are the events that are logged to this file. By default, only the active and passive checks ran by Alignak are not logged to this file:\n::\n\n # Monitoring log configuration\n # ---\n # Note that alerts and downtimes are always logged\n # ---\n # Notifications\n # log_notifications=1\n\n # Services retries\n # log_service_retries=1\n\n # Hosts retries\n # log_host_retries=1\n\n # Event handlers\n # log_event_handlers=1\n\n # Flappings\n # log_flappings=1\n\n # Snapshots\n # log_snapshots=1\n\n # External commands\n # log_external_commands=1\n\n # Active checks\n # log_active_checks=0\n\n # Passive checks\n # log_passive_checks=0\n\n # Initial states\n # log_initial_states=1\n\n\nConfigure Alignak notifications\n-------------------------------\nAs explained previously the alignak notifications pack needs to be configured for sending out the mail notifications. This demo configuration is using default parameters for the mail server that may be adapted to your own configuration.\n\nWith the default parameters, you will have some WARNING logs in the *schedulerd.log* file, such as:\n::\n\n [2017-01-07 10:00:47 CET] WARNING: [alignak.scheduler] The notification command '/usr/local/var/libexec/alignak/notify_by_email.py -t service -S localhost -ST 25 -SL your_smtp_login -SP your_smtp_password -fh -to guest@localhost -fr alignak@monitoring -nt PROBLEM -hn \"alignak_glpi\" -ha 127.0.0.1 -sn \"Disk /var\" -s CRITICAL -ls UNKNOWN -o \"NRPE: Command 'check_var' not defined\" -dt 0 -db \"1483779644.85\" -i 2 -p \"\"' raised an error (exit code=1): 'Traceback (most recent call last):'\n\nTo configure the Alignak mail notifications, edit the */usr/local/etc/alignak/arbiter/packs/resource.d/notifications.cfg* file and set the proper parameters for your configuration:\n::\n\n\n #-- SMTP server configuration\n $SMTP_SERVER$=localhost\n $SMTP_PORT$=25\n $SMTP_LOGIN$=your_smtp_login\n $SMTP_PASSWORD$=your_smtp_password\n\n # -- Mail configuration\n $MAIL_FROM$=demo.server@alignak.net\n\nYou may also adapt the contacts used in this demo configuration else WE will receive you notification mails :). the used contacts are defined as is:\n\n- alignak.administrator@alignak.net, as the administrator contact for the realm All\n- north.administrator@alignak.net, as the administrator contact for the realm North\n- south.administrator@alignak.net, as the administrator contact for the realm South\n\nYou will find their definition in the */usr/local/etc/arbiter/realms* folder, in each realm (All, North,...) *contacts* sub-folder.\n\n\nUse Alignak Web services\n------------------------\nThe alignak Web Services module exposes some Web Services on the port 8888.\n\nGet the Alignak daemons status:\n::\n\n http://127.0.0.1:8888/alignak_map\n\n**Note** that the default configuration requires an HTTP authorized access with a basic HTTP authorization from a user existing in the alignak backend. You can disable this in the `mod-ws.cfg` file, else use *curl* with this syntax:\n::\n\n $ curl -H \"Content-Type: application/json\" -X GET -d '{\"username\":\"admin\",\"password\":\"admin\"}' http://127.0.0.1:8888/alignak_map\n\n\nFor more information about the Alignak available services, please see the `Alignak Web Services online documentation `_.\n\n\n7. Configure/run Alignak Web UI\n-------------------------------\nAs of now, your configuration is monitored and you will receive notifications when something is detected as faulty. Everything is under control but why missing having an eye on what's happening in your system with a more sexy interface than tailing a log file and reading emails?\n\nInstall the Alignak Web User Interface:\n::\n\n #\u00a0Alignak WebUI\n sudo pip install alignak-webui\n\n\nThe default installation is suitable for this demonstration but you may update the *(/usr/local)/etc/alignak-webui/settings.cfg* configuration file to adapt this default configuration.\n\nRun the Alignak WebUI:\n::\n\n cd ~/demo\n # Detach a screen session identified as \"alignak-webui\"\n ./alignak_webui_start.sh\n # This will run the alignak-webui-uwsgi in a screen session. If you do not mind about a\n # WebUI screen, you should run: alignak-webui-uwsgi\n\n ps -aux | grep uwsgi\n root 26312 0.0 0.0 17096 2076 13 I+J 10:23AM 0:00.00 /bin/sh /usr/local/bin/alignak-webui-uwsgi\n root 26313 0.0 0.2 157324 38204 13 S+J 10:23AM 0:01.32 uwsgi --ini /usr/local/etc/alignak-webui/uwsgi.ini\n root 26318 0.0 0.4 178952 64724 13 S+J 10:23AM 0:20.76 uwsgi --ini /usr/local/etc/alignak-webui/uwsgi.ini\n root 26319 0.0 0.4 181512 68360 13 S+J 10:23AM 0:28.29 uwsgi --ini /usr/local/etc/alignak-webui/uwsgi.ini\n root 26320 0.0 0.5 203016 86876 13 S+J 10:23AM 1:00.70 uwsgi --ini /usr/local/etc/alignak-webui/uwsgi.ini\n root 26321 0.0 0.7 227336 111520 13 S+J 10:23AM 1:45.06 uwsgi --ini /usr/local/etc/alignak-webui/uwsgi.ini\n\n # Joining the webui screen is 'screen -r alignak-webui'\n # Ctrl+C in the screen will stop the WebUI\n # kill -SIGTERM `cat /tmp/alignak-webui.pid`\n\n # The alignak webui writes some logs as a Web server does\n tail -f /usr/local/var/log/alignak-webui-error.log\n tail -f /usr/local/var/log/alignak-webui-access.log\n\n\nUse your Web browser to navigate to http://127.0.0.1:5001 and log in with *admin* / *admin*.\n\nTo use the WebUI from another machine (eg. if you are using a virtual machine), you can set a fake local loop:\n::\n\n ssh -L 5001:127.0.0.1:5001 login@ip_vm_test\n\n\nThe alignak WebUI runs thanks to uWSGI and its configuration is available in the */usr/local/alignak-webui/uwsgi.ini* where you can define the log files location. You can also configure the Alignak WebUI to send its internal metrics to a Graphite timeseries database.\n\n**Note** that a Grafana dashboard for the Alignak WebUI is available in the */usr/local/etc/alignak/sample/grafana* directory created when you installed the alignak-demo package;)\n\n\n\n8. Configure/run Alignak desktop applet\n---------------------------------------\nExcept when you are in Big Brother mode, you almost always do not need a full Web interface as the one provided by the Alignak WebUI. This is why Alignak provides a desktop applet available for Linux and Windows desktops.\n\nInstall the Alignak App:\n::\n\n # For Linux users with python2\n sudo apt-get install python-qt4\n # For Linux and Windows users with python3\n pip3 install PyQt5 --user\n\n # For Windows users, we recommend using python3, else install PyQt from the download page.\n # Otherwise, you can find a Windows installer on repository, with all packages inside, to run it.\n\n #\u00a0Alignak App\n pip install alignak_app --user\n\n # As of now, the last version is not yet pip installable, so we:\n git clone https://github.com/Alignak-monitoring-contrib/alignak-app\n cd alignak-app\n pip install . --user\n\n # Linux: Run the app (1st run)\n $HOME/.local/alignak_app/alignak-app start\n # Then you will be able for next runs to\n alignak-app start\n\n # Windows: Run the app\n python \"%APPDATA%\\Python\\alignak_app\\bin\\alignak-app.py\n # If you used the Windows installer, just run the desktop shortcut \"Alignak-app\"\n\nThe applet will require a username and a password that are the same os the one used for the Web UI (use *admin* / *admin*). Click on the Alignak icon in the desktop toolbar to activate the Alignak-app features: alignak status, host synthesis view, host/services states, ...\n\nA notification popup will appear if something changed in the hosts / services states existing in the Alignak backend.\n\nThe default configuration is suitable for this demonstration but you may update the *settings.cfg* configuration file that is largely commented. On Linux, this file is located under *$HOME/.local/alignak_app/* folder. On Windows, configuration file can be found under *%APPDATA%\\Python\\alignak_app\\* or *%PROGRAMFILES%\\Alignak-app* if you run installer.\n\n\n9. Configure Alignak backend for timeseries\n-------------------------------------------\n\nThe Alignak backend allows to send collected performance data to a timeseries database. It must be configured to know where to send the timeseries data.\n\n**Note**: Using StatsD as a front-end to the Graphite Carbon collector is not mandatory but it will help to have more regular statistics and it will maintain a metrics cache. But the purpose of this doc is not to discuss about the benefits / drawbacks of StatsD...\n\nUsing the Alignak WebUI makes it really easy to configure. Navigate to the Web UI Alignak backend menu and select the *Backend Grafana* item. Enter edition mode and add a new item. Also create a new Graphite item related to the Grafana item you just created, and that's it ...\n\nYou can also use command line scripts to create such information in the Alignak backend. Using the `alignak-backend-client` script makes it easy to configure this:\n::\n\n cd ~/demo\n\n # Get the example configuration files\n cp /usr/local/etc/alignak/sample/backend/* ~/demo\n\n\nIf you **do not** intend to use the StatsD daemon, execute these commands:\n::\n\n # Use Alignak backend CLI to add a Grafana instance\n alignak-backend-cli -v add -t grafana --data=example_grafana.json grafana_demo\n\n # Use Alignak backend to add a Graphite instance\n alignak-backend-cli -v add -t graphite --data=example_graphite.json graphite_demo\n\n\nIf you **do** intend to use the StatsD daemon, execute these commands:\n::\n\n # Use Alignak backend CLI to add a Grafana instance\n alignak-backend-cli -v add -t grafana --data=example_grafana.json grafana_demo\n\n # Use Alignak backend CLI to add a StatsD instance\n alignak-backend-cli -v add -t statsd --data=example_statsd.json statsd_demo\n\n # Use Alignak backend to add a Graphite instance\n alignak-backend-cli -v add -t graphite --data=example_graphite_statsd.json graphite_demo\n\nYou can edit the *example_*.json* provided files to include your own Graphite / Grafana (or InfluxDB) parameters. For more information see the `Alignak backend documentation `_.\n\n**Warning**: It will be mandatory to update the Grafana configuration with your own Grafana API key else the backend will not be able to create the Grafana dashboards and panels automatically!\n\n**Note**: `alignak-backend-cli` is coming with the installation of the Alignak backend client.\n\n10. Upgrading\n-------------\nSome updates are regularly pushed on the different alignak repositories and then you will sometime need to update this demo configuration. Before upgrading the application you should stop Alignak:\n::\n\n cd ~/demo\n # Stop all alignak processes\n ./alignak_demo_stop.sh\n\n # Check everything is stopped\n ps -ef | grep alignak-\n\n # Kill remaining processes. It may happen on a demo server;)\n pkill alignak-broker\n\n\nTo upgrade Alignak, you can:\n::\n\n cd ~/repos/alignak\n\n #\u00a0Get the last develop version\n git pull\n\n #\u00a0Install alignak and all its python dependencies\n # -v will activate the verbose mode of pip\n sudo pip install -v .\n\n # Create alignak user/group and set correct permissions on installed configuration files\n sudo ./dev/set_permissions.sh\n\n\nTo upgrade all the alignak packages that were installed, you can:\n::\n\n pip install -U pip list | grep alignak | awk '{ print $1}'\n\n\nTo list the currently installed packages and to know if they are up-to-date, you can use this command:\n::\n\n pip list --outdated | grep alignak\n\n\nTo get the list of outdated packages as a pip requirements list:\n::\n\n pip list --outdated --format columns | grep alignak | awk '{printf \"%s==%s\\n\", $1, $3}' > alignak-update.txt\n\nand to update:\n::\n\n pip install -r alignak-update.txt\n\n\n\nWhat we see?\n============\n\nMonitored system status\n-----------------------\n\nThe `Alignak Web UI `_ running on our demo server allows to view the monitored system status. Have a look here: `http://demo.alignak.net `_. Several login may be used depending on the user role:\n\n* admin / admin, to get logged-in as an Administrator. You will see all the hosts and will be able to execute some commands (acknowledge a problem, schedule a downtime,...)\n\n* northman / north, to get logged-in as a power user in the North realm. You will see all the hosts of the All and North realms and will be able to execute commands.\n\n* southman / south, to get logged-in as a power user in the South realm. You will see all the hosts of the All and South realms and will be able to execute commands.\n\n\nAlignak internal metrics\n------------------------\n\nAlignak maintains its own internal metrics and it is able to send them to a `StatsD server `_. Install the StatsD server locally (as explained later in this document) and update the `alignak.cfg` configuration file to enable this feature:\n::\n\n # Export all alignak inner performances into a statsd server.\n # By default at localhost:8125 (UDP) with the alignak prefix\n # Default is not enabled\n statsd_host=localhost\n #statsd_port=8125\n statsd_prefix=alignak\n statsd_enabled=1\n\n\nWe are running a `demo Grafana server `_ that allows to see the Alignak internal metrics. Several dashboards are available:\n\n* `Alignak internal metrics `_ shows the statistics provided by Alignak. This sample dashboard is available in the Alignak repository, *contrib* folder.\n\n* `Graphite server `_ reports on Carbon/Graphite own monitoring. This dashboard is available from the Grafana.net web site.\n\n\n\nInstalling StatsD / Graphite / Grafana\n--------------------------------------\n\n**NOTE** this section is a draft chapter. Currently the installatin described here is not fully functional !\n\nStatsD\n~~~~~~\nInstall node.js on your server according to the recommended installation process.\n\nOn FreeBSD:\n::\n\n pkg install node\n\nOn Ubuntu / Debian:\n::\n\n # For Node.js 6\n curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -\n sudo apt-get install -y nodejs\n\nTo get the most recent StatsD (if you distro packaging do not provide it, you must clone the git repository:\n::\n\n $ cd ~\n $ git clone https://github.com/etsy/statsd\n $ cd statsd\n\n # Create an alignak.js file with the following content (for a localhost Graphite)\n $ cp exampleConfig.js alignak.js\n $ cat alignak.js\n {\n graphitePort: 2003\n , graphiteHost: \"127.0.0.1\"\n , port: 8125\n , backends: [ \"./backends/graphite\" ]\n\n /* Do not use any StatsD metric hierarchy */\n , graphite: {\n /* Do not use legacy namespace */\n legacyNamespace: false\n\n /* Set a global prefix */\n , globalPrefix: \"alignak-statsd\"\n\n /* Set empty prefixes */\n , prefixCounter: \"\"\n , prefixTimer: \"\"\n , prefixGauge: \"\"\n , prefixSet: \"\"\n\n /* Do not set any global suffix\n , globalSuffix: \"_\"\n */\n }\n }\n\n\n # Start the StatsD daemon in a screen\n $ screen -S statsd\n $ node stats.js alignak.js\n # And leave the screen...\n $ Ctrl+AD\n\n # Test StatsD\n $ ll /var/lib/graphite/whisper/alignak-statsd/statsd/\n total 84\n drwxr-xr-x 6 _graphite _graphite 4096 f\u00e9vr. 2 20:11 ./\n drwxr-xr-x 3 _graphite _graphite 4096 f\u00e9vr. 2 20:11 ../\n drwxr-xr-x 2 _graphite _graphite 4096 f\u00e9vr. 2 20:11 bad_lines_seen/\n drwxr-xr-x 2 _graphite _graphite 4096 f\u00e9vr. 2 20:11 graphiteStats/\n drwxr-xr-x 2 _graphite _graphite 4096 f\u00e9vr. 2 20:11 metrics_received/\n -rw-r--r-- 1 _graphite _graphite 17308 f\u00e9vr. 2 20:12 numStats.wsp\n drwxr-xr-x 2 _graphite _graphite 4096 f\u00e9vr. 2 20:11 packets_received/\n -rw-r--r-- 1 _graphite _graphite 17308 f\u00e9vr. 2 20:12 processing_time.wsp\n -rw-r--r-- 1 _graphite _graphite 17308 f\u00e9vr. 2 20:12 timestamp_lag.wsp\n\n\nAs of now you have a running StatsD daemon that will collect the Alignak internal metrics to feed Graphite.\n\nGraphite Carbon\n~~~~~~~~~~~~~~~\n::\n\n $ sudo su\n\n $ apt-get update\n\n # Set TZ as UTC\n $ dpkg-reconfigure tzdata\n => UTC\n\n # Install Carbon\n $ apt-get install graphite-carbon\n\n # Configure Carbon\n $ vi /etc/default/graphite-carbon\n # Enable carbon service on boot\n => CARBON_CACHE_ENABLED=true\n\n # Configuration file\n $ vi /etc/carbon/carbon.conf\n # Enable log rotation\n => ENABLE_LOGROTATION = True\n\n # Aggregation configuration (default is suitable...)\n $ cp /usr/share/doc/graphite-carbon/examples/storage-aggregation.conf.example /etc/carbon/storage-aggregation.conf\n\n # Start the metrics collector service (Carbon)\n $ service carbon-cache start\n\n # Monitor activity\n $ tail -f /var/log/carbon/console.log\n\n # Test carbon (send a metric test.count)\n $ echo \"test.count 4 `date +%s`\" | nc -q0 127.0.0.1 2003\n $ ls /var/lib/graphite/whisper\n => test/count.wsp\n\nGraphite API\n~~~~~~~~~~~~\nNo need for the Graphite Web application, we will use Grafana ;)\n\n::\n\n $ sudo su\n\n # Install Graphite-API\n ##### $ apt-get install graphite-api; do not seem to survive a system restart :)\n $ wget https://github.com/brutasse/graphite-api/releases/download/1.1.2/graphite-api_1.1.2-1447943657-ubuntu14.04_amd64.deb\n $ dpkg -i\n\n # Install Nginx / uWsgi\n $ apt-get install nginx uwsgi uwsgi-plugin-python\n\n # Configure uWsgi\n $ vi /etc/uwsgi/apps-available/graphite-api.ini\n [uwsgi]\n processes = 2\n socket = localhost:8080\n plugins = python27\n module = graphite_api.app:app\n buffer = 65536\n\n $ ln -s /etc/uwsgi/apps-available/graphite-api.ini /etc/uwsgi/apps-enabled\n $ service uwsgi restart\n\n # Configure nginx\n $ vi /etc/nginx/sites-available/graphite.conf\n server {\n listen 80;\n\n location / {\n include uwsgi_params;\n uwsgi_pass localhost:8080;\n }\n }\n\n $ ln -s /etc/nginx/sites-available/graphite.conf /etc/nginx/sites-enabled\n $ service nginx restart\n\nStatsD\n~~~~~~\n::\n\n To be completed !\n\n\nGrafana\n~~~~~~~\n::\n\n # Install Grafana (Version 4 only supported by the Alignak backend!)\n wget https://grafanarel.s3.amazonaws.com/builds/grafana_3.1.1-1470047149_amd64.deb\n apt-get install -y adduser libfontconfig\n dpkg -i grafana_3.1.1-1470047149_amd64.deb\n\n # Configure Grafana (not necessary...)\n $ vi /etc/grafana/grafana.ini\n\n $ service grafana-server start\n\n # Open your web browser on http://127.0.0.1:3000", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alignak-monitoring-contrib/alignak-demo", "keywords": "a,l,i,g,n,a,k, ,m,o,n,i,t,o,r,i,n,g, ,p,a,c,k, ,c,h,e,c,k,s, ,d,e,m,o", "license": "GNU Affero General Public License, version 3", "maintainer": "", "maintainer_email": "", "name": "alignak_demo", "package_url": "https://pypi.org/project/alignak_demo/", "platform": "", "project_url": "https://pypi.org/project/alignak_demo/", "project_urls": { "Homepage": "https://github.com/alignak-monitoring-contrib/alignak-demo" }, "release_url": "https://pypi.org/project/alignak_demo/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "Alignak - Demo server configuration", "version": "1.0.0" }, "last_serial": 3210190, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "cb427ae029d06b99861cecd4d9ae153b", "sha256": "454cdfe7e3b5850292161c493a65b346dea7fc7711ea281b607a5f9af828b40f" }, "downloads": -1, "filename": "alignak_demo-0.1.0.tar.gz", "has_sig": false, "md5_digest": "cb427ae029d06b99861cecd4d9ae153b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58763, "upload_time": "2017-01-06T08:42:53", "url": "https://files.pythonhosted.org/packages/65/88/e763b0dc6a914377db685250d5b5857a58594c4e16366a33534e78eca080/alignak_demo-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0d1d9a0e0dce62c3fa395308b3fa0bf9", "sha256": "0b2d1138d95be3222da89a2a7cb5f3f7fa7d0f5a48d7a0426ed7a167d8c67bb2" }, "downloads": -1, "filename": "alignak_demo-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0d1d9a0e0dce62c3fa395308b3fa0bf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58762, "upload_time": "2017-01-06T08:49:54", "url": "https://files.pythonhosted.org/packages/4d/e8/87aa0d0306d6f9d93a6a5f5d68990955d4e1c469d46b27f07d5d4fb1b45c/alignak_demo-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "5f7436b28085010446be443bef9cfa85", "sha256": "d5b54d98b5381105176c765724bff6fb99951d9ff31aeb90d05085c023b44b08" }, "downloads": -1, "filename": "alignak_demo-0.1.10.tar.gz", "has_sig": false, "md5_digest": "5f7436b28085010446be443bef9cfa85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91361, "upload_time": "2017-01-15T08:32:54", "url": "https://files.pythonhosted.org/packages/43/74/91b146190d7e165cbfdf7fca551dbd26019422559cb9809fcb57d50345ff/alignak_demo-0.1.10.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "38d20a5b36222b7a37ddeea02fddeb7f", "sha256": "1a4665fbb40af4d0bcdf706b398ad2c34f8d1e1d6d3d24eae794aacfe75a7216" }, "downloads": -1, "filename": "alignak_demo-0.1.12.tar.gz", "has_sig": false, "md5_digest": "38d20a5b36222b7a37ddeea02fddeb7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89132, "upload_time": "2017-01-16T15:25:05", "url": "https://files.pythonhosted.org/packages/ad/c5/61511eb3ae423c14ec667fb9dad26c3222a8ebd00069097361ab3b38303a/alignak_demo-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "b43caa18d30eff16d0ea2066de405ba9", "sha256": "7848e09d9a0203e170c28d36cffac2e7ce72ac752f527509e6f073d3faea373a" }, "downloads": -1, "filename": "alignak_demo-0.1.13.tar.gz", "has_sig": false, "md5_digest": "b43caa18d30eff16d0ea2066de405ba9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97295, "upload_time": "2017-01-25T04:51:28", "url": "https://files.pythonhosted.org/packages/91/af/4f18d6c213ab699bf12f048b70acb40a8f5e51ab40cc5d8b901cf3dcacc4/alignak_demo-0.1.13.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "4f9861739cbdb77853f12588fc4fd989", "sha256": "d71b828d9deb8bbd8b6b52f00413a37c18131cde776ff638e13b3a766fd74d08" }, "downloads": -1, "filename": "alignak_demo-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4f9861739cbdb77853f12588fc4fd989", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68998, "upload_time": "2017-01-06T09:55:57", "url": "https://files.pythonhosted.org/packages/d0/9e/3f1ac93ba810edb79df781f014e8ad0a2970e9123f1a40c7f2268aa78861/alignak_demo-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "45591553927c129548d61d6ed9a11812", "sha256": "42efdb36d78b18d6e0633f8b5cd78eecb162926cda107d3da88688a39a49dcdf" }, "downloads": -1, "filename": "alignak_demo-0.1.3.tar.gz", "has_sig": false, "md5_digest": "45591553927c129548d61d6ed9a11812", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69087, "upload_time": "2017-01-06T10:13:19", "url": "https://files.pythonhosted.org/packages/d3/a5/8df85536aeb4c2f148aa8b6e2f0973b9ed58a02bd9e6bb28465d1cad382d/alignak_demo-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b2d6f315def4b3b354d9717999bc0b9a", "sha256": "f7d82cb36181b4df2cc7bcccd76d575738d9fe515a81e71af3bbf164a4ac499c" }, "downloads": -1, "filename": "alignak_demo-0.1.4.tar.gz", "has_sig": false, "md5_digest": "b2d6f315def4b3b354d9717999bc0b9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72378, "upload_time": "2017-01-06T13:47:22", "url": "https://files.pythonhosted.org/packages/d4/c0/31c5bd24bdc1bee3d2ad5db83f3979f7d619750199c196daa4d483b823e3/alignak_demo-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "cc1e0d2090e9071c1c65256879063225", "sha256": "2764b0519d72d4d98b63a2b72ae1f41bd0b9924d87578fa36faef1d25a128cd4" }, "downloads": -1, "filename": "alignak_demo-0.1.5.tar.gz", "has_sig": false, "md5_digest": "cc1e0d2090e9071c1c65256879063225", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 74166, "upload_time": "2017-01-06T16:39:56", "url": "https://files.pythonhosted.org/packages/31/0a/e57258330778e55396c6eccf355cd80d4433d237ce6397e91730388cb38c/alignak_demo-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "9eca09ecf32a3822ece1b63e78095f0e", "sha256": "0fc8ced9b405349b2377737bcc9e0514e04d1caf4291aa15870e20ad1bc093f1" }, "downloads": -1, "filename": "alignak_demo-0.1.6.tar.gz", "has_sig": false, "md5_digest": "9eca09ecf32a3822ece1b63e78095f0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87247, "upload_time": "2017-01-07T17:36:37", "url": "https://files.pythonhosted.org/packages/01/34/6b39af279e475c9c0bc7b72bac5f7786e748f382d997a2962fe155332e6a/alignak_demo-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "8407fa9b2ac89bebf014fa3bd05be819", "sha256": "10aca0ff8e4e4bdd84854d79765604c6667e2ae1cf6c1328610e3724ca8011bf" }, "downloads": -1, "filename": "alignak_demo-0.1.7.tar.gz", "has_sig": false, "md5_digest": "8407fa9b2ac89bebf014fa3bd05be819", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87232, "upload_time": "2017-01-08T10:11:02", "url": "https://files.pythonhosted.org/packages/97/8d/40f7825d962d45e3fdd029c58fd18dd1e9ecc056ed366be753ecd7caefa7/alignak_demo-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "ba26d59a5725d4beb1b290631557e8ed", "sha256": "2571638ac81c695a721ed0f6e103a1a030823f6fb3f71a06dd9c20771c151b92" }, "downloads": -1, "filename": "alignak_demo-0.1.8.tar.gz", "has_sig": false, "md5_digest": "ba26d59a5725d4beb1b290631557e8ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87817, "upload_time": "2017-01-08T16:19:11", "url": "https://files.pythonhosted.org/packages/5d/ce/65a4afdb2ec7a4ca0539b43ffa7426367601de2fa3ce2afbc6bcb7034813/alignak_demo-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "868d4c0c6c0d4a0725cdeea74bea569f", "sha256": "f3a6d335c2c4c998a35b0bf92942263663288947988fa58e5dd6fc53b0531600" }, "downloads": -1, "filename": "alignak_demo-0.1.9.tar.gz", "has_sig": false, "md5_digest": "868d4c0c6c0d4a0725cdeea74bea569f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 87824, "upload_time": "2017-01-08T16:31:11", "url": "https://files.pythonhosted.org/packages/cb/32/a93710895ae9d0778015183b19712ffd8ec951221c418bee1ee5580129e5/alignak_demo-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a4fe84a7a31df41cd2a495da05c0829a", "sha256": "b29e4cda3854aa0bb6b2375638838a4634fd5498ec0eb1775fef984393100326" }, "downloads": -1, "filename": "alignak_demo-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a4fe84a7a31df41cd2a495da05c0829a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 101181, "upload_time": "2017-02-02T15:36:10", "url": "https://files.pythonhosted.org/packages/2e/e8/cbf5334d4a9bfc90632160d7751373c47167db150834fca99de6ba587459/alignak_demo-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "a71f95bbf36b108a58327811874d3b64", "sha256": "cb99d8d946d1378ee3cfb5fd61cd4d868611c83f9b84e5a37fbd7484f4d045fa" }, "downloads": -1, "filename": "alignak_demo-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a71f95bbf36b108a58327811874d3b64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 105084, "upload_time": "2017-02-03T04:58:35", "url": "https://files.pythonhosted.org/packages/ac/ad/b9917c731bebbe1b59495d7f1b8d34a69f63674337dc009c4610bc8afa2a/alignak_demo-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "2e96787a64f007c149c853a667da9be5", "sha256": "eff77c8e3be2fe002d6eed3215990c4f6020179fee557805f415c362ee891778" }, "downloads": -1, "filename": "alignak_demo-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2e96787a64f007c149c853a667da9be5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106242, "upload_time": "2017-02-23T13:35:17", "url": "https://files.pythonhosted.org/packages/57/84/546ce7b4cc344b1a73f0b6912c8f6b0948f5339c000e022c03a72e5389a1/alignak_demo-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "66c4dfedafc7cab94a65b9fc2a52fecf", "sha256": "a32cf399ee98691aef475a285760ece24f2578d998839676bdc57c8bf0f5b0c3" }, "downloads": -1, "filename": "alignak_demo-0.2.3.tar.gz", "has_sig": false, "md5_digest": "66c4dfedafc7cab94a65b9fc2a52fecf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106304, "upload_time": "2017-02-23T14:43:59", "url": "https://files.pythonhosted.org/packages/23/b8/d0a79cf65c00e3b5aa879d90323025796bd00e3d94f66ad3fb448c45fe05/alignak_demo-0.2.3.tar.gz" } ], "0.2.3.1": [ { "comment_text": "", "digests": { "md5": "e29ce78bb2f4dfaefb86b4e8d289bcce", "sha256": "2dfa0af6837104aa61d0a71dc9d5079ce468d3ebe5d8c0c40acf254c7e69f015" }, "downloads": -1, "filename": "alignak_demo-0.2.3.1.tar.gz", "has_sig": false, "md5_digest": "e29ce78bb2f4dfaefb86b4e8d289bcce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106343, "upload_time": "2017-02-23T14:47:02", "url": "https://files.pythonhosted.org/packages/b1/2d/eb974d75b553cf67d9888f2bb2405c867cd014fb55a52b2b99e310c2e9c3/alignak_demo-0.2.3.1.tar.gz" } ], "0.2.3.2": [ { "comment_text": "", "digests": { "md5": "5c06bfc838634e1e432fbfeefaa60882", "sha256": "9fb23c0372e8b711db584dc4648fe359408c93fa1f4d61989799c672571c2036" }, "downloads": -1, "filename": "alignak_demo-0.2.3.2.tar.gz", "has_sig": false, "md5_digest": "5c06bfc838634e1e432fbfeefaa60882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106338, "upload_time": "2017-02-23T14:57:19", "url": "https://files.pythonhosted.org/packages/c4/dc/e2039b1d300117d2f937ac0f7642eeb6bc0ea858efb39d7e6bc682ac9527/alignak_demo-0.2.3.2.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "fcbb29659171d6aadc3a6f9d6e2e1470", "sha256": "268855f2ac44aafaa7de002be6c08848477ff5ce8e3bdc5fb00121909e32e6bf" }, "downloads": -1, "filename": "alignak_demo-0.2.4.tar.gz", "has_sig": false, "md5_digest": "fcbb29659171d6aadc3a6f9d6e2e1470", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 106569, "upload_time": "2017-03-17T05:14:33", "url": "https://files.pythonhosted.org/packages/31/e0/6bebb37f37930c15b1b0c36987f779a4430b0953274ed09f6a0270ca372d/alignak_demo-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9ae168bf87a5b1ad6d08407bb6e19286", "sha256": "31658d16569bba6abf82fa3268e8caa3015cec2cbdf05809559f6527cedd4a18" }, "downloads": -1, "filename": "alignak_demo-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9ae168bf87a5b1ad6d08407bb6e19286", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 109541, "upload_time": "2017-09-01T13:28:32", "url": "https://files.pythonhosted.org/packages/cd/9d/d8ff7000c5118b273e8414d4c1d8b4661c24225f729b661691f4e1a9a0bf/alignak_demo-0.3.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "62eef0e1ebd1109731743a1277e60c25", "sha256": "885f05e31ad241a5f200356c8a994836699e12b9c015a9823d5be20c6fb8ff3b" }, "downloads": -1, "filename": "alignak_demo-1.0.0.tar.gz", "has_sig": false, "md5_digest": "62eef0e1ebd1109731743a1277e60c25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108778, "upload_time": "2017-09-28T13:55:43", "url": "https://files.pythonhosted.org/packages/a5/de/7b2f6f8d20044c986c61bd5af1026a0c1c49192e5620417764badeba01b5/alignak_demo-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "62eef0e1ebd1109731743a1277e60c25", "sha256": "885f05e31ad241a5f200356c8a994836699e12b9c015a9823d5be20c6fb8ff3b" }, "downloads": -1, "filename": "alignak_demo-1.0.0.tar.gz", "has_sig": false, "md5_digest": "62eef0e1ebd1109731743a1277e60c25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 108778, "upload_time": "2017-09-28T13:55:43", "url": "https://files.pythonhosted.org/packages/a5/de/7b2f6f8d20044c986c61bd5af1026a0c1c49192e5620417764badeba01b5/alignak_demo-1.0.0.tar.gz" } ] }