{ "info": { "author": "Hanxi Liu", "author_email": "apolloliuhx@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5" ], "description": "========================\r\nZabbix-Ceilometer Proxy\r\n========================\r\n.. image:: https://img.shields.io/pypi/v/zcp.svg\r\n :target: https://github.com/apolloliu/zcp\r\n\r\nObjective\r\n=========\r\nThis project started as a way to integrate monitoring information collected in a Cloud environment,\r\nnamely by OpenStack's Ceilometer, integrating it with an already existing monitoring solution using Zabbix.\r\n\r\nFeatures\r\n========\r\n* Integration of OpenStack's available monitoring information (e.g. using Ceilometer) with already existing\r\n Monitoring systems (e.g. Zabbix);\r\n* Automatically gather information about the existing Cloud Infrastructure being considered (tenants, instances);\r\n* Seamlessly handle changes in the Cloud Infrastructure (creation and deletion of tenants and/or instances);\r\n* Periodically retrieve resources/meters details from OpenStack;\r\n* Allow to have one common monitoring system (e.g Zabbix) for several OpenStack-based Cloud Data Centres;\r\n* Support keystone v3 to allow multiple domains using multiple proxies;\r\n* Support rabbitmq clusters to consume messages from topics of keystone and nova;\r\n* Provide default template(Template ZCP) to import through zabbix web interface;\r\n* Provide mongo driver to retrive metrics from Ceilometer mongodb directly.\r\n\r\nRequirements\r\n============\r\nThe Zabbix-Ceilometer Proxy was written using _Python_ version 2.7.5 but can be easily ported to version 3.\r\nIt uses the Pika library for support of AMQP protocol, used by OpenStack.\r\n\r\nFor installing Pika, if you already have _Python_ and the _pip_ packet manager configured, you need only to\r\nuse a terminal/console and simply run following command under the project directory::\r\n\r\n sudo pip install -r requirement.txt\r\n\r\nIf the previous command fails, download and manually install the library on the host where you intend to\r\nrun the ZCP.\r\n\r\n.. note::\r\n\r\n Since the purpose of this project is to be integrated with OpenStack and Zabbix it is assumed\r\n that apart from a running installation of these two, some knowledge of OpenStack has already\r\n been acquired.\r\n\r\nUsage\r\n=====\r\nAssuming that all the above requirements are met, the ZCP can be run with 3 simple steps:\r\n\r\n1. On your OpenStack installation point to your Keystone configuration file (keystone.conf) and\r\n update `notification_driver` to messaging(only support this driver for now)::\r\n\r\n notification_driver = messaging\r\n\r\n2. Remember to modify ceilometer `event_pipline.yaml`. When the setup of notification_driver is done,\r\n a number of events of `identity.authenticate` will be put into ceilometer queue(notification.sample).\r\n There is no sense if record those events. The sample configuration in `/etc/ceilometer/event_pipeline.yaml`\r\n follows::\r\n\r\n | sources:\r\n | - name: event_source\r\n | events:\r\n | - \"*\"\r\n | - \"!identity.authenticate\"\r\n | sinks:\r\n | - event_sink\r\n | sinks:\r\n | - name: event_sink\r\n | transformers:\r\n | triggers:\r\n | publishers:\r\n | - notifier://\r\n\r\n2. Create directory for ZCP's log file and configuration file::\r\n\r\n $ sudo mkdir /var/log/zcp/\r\n $ sudo mkdir /etc/zcp/\r\n\r\n3. Copy `proxy.conf` to `/etc/zcp/` and edit the `proxy.conf` configuration file to reflect your own system,\r\n including the IP addresses and ports of Zabbix and of the used OpenStack modules (RabbitMQ, Ceilometer\r\n Keystone and Nova). You can also tweak some ZCP internal configurations such as the polling interval and\r\n proxy name (used in Zabbix)::\r\n\r\n $ sudo cp etc/proxy.conf /etc/zcp/proxy.conf\r\n\r\n4. Install zcp source code::\r\n\r\n $ python setup.py install\r\n\r\n5. Add template name(Use `Template ZCP` as default) under 'zcp_configs' and import the template to Zabbix\r\n through Zabbix Web Interface. You can see `Template ZCP` in Zabbix `Templates` if import success.\r\n\r\n6. Finally, run the Zabbix-Ceilometer Proxy in your console::\r\n\r\n $ eszcp-polling\r\n\r\nIf all goes well the information retrieved from OpenStack's Ceilometer will be pushed in your Zabbix\r\nmonitoring system.\r\n\r\n.. note::\r\n\r\n You can check out a demo_ from a premilinary version of ZCP running with OpenStack Havana and Zabbix.\r\n\r\n.. _demo: https://www.youtube.com/watch?v=DXz-W9fgvRk\r\n\r\nSource\r\n======\r\nIf not doing so already, you can check out the latest version of ZCP_.\r\n\r\n.. _ZCP: https://github.com/apolloliu/zcp\r\n\r\nCopyright\r\n=========\r\nCopyright (c) 2014 OneSource Consultoria Informatica, Lda.\r\n\r\nCopyright (c) 2017 EasyStack Inc.\r\n\r\nThanks Cl\u00e1udio Marques, David Palma and Luis Cordeiro for the original idea.\r\n\r\nThis project has been developed for the demand of Industrial Bank Co., Ltd by Branty and Hanxi Liu.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/apolloliu/zcp", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "zcp", "package_url": "https://pypi.org/project/zcp/", "platform": "", "project_url": "https://pypi.org/project/zcp/", "project_urls": { "Homepage": "https://github.com/apolloliu/zcp" }, "release_url": "https://pypi.org/project/zcp/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "A Timer task for polling ceilometer metrics into zabbix", "version": "1.0.1" }, "last_serial": 2819326, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "cc31ac57ad24088a3dd4f2513922b2c4", "sha256": "a2be56bc84a0c012ca8778d9425ef3fe2d6d69c98050dcf4780156f95d7958eb" }, "downloads": -1, "filename": "zcp-1.0.1.tar.gz", "has_sig": false, "md5_digest": "cc31ac57ad24088a3dd4f2513922b2c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22347, "upload_time": "2017-04-17T12:07:03", "url": "https://files.pythonhosted.org/packages/0d/72/d2bb2cbfe26f020cb002cf3481be269c45574f7d771799702160b7884268/zcp-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cc31ac57ad24088a3dd4f2513922b2c4", "sha256": "a2be56bc84a0c012ca8778d9425ef3fe2d6d69c98050dcf4780156f95d7958eb" }, "downloads": -1, "filename": "zcp-1.0.1.tar.gz", "has_sig": false, "md5_digest": "cc31ac57ad24088a3dd4f2513922b2c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22347, "upload_time": "2017-04-17T12:07:03", "url": "https://files.pythonhosted.org/packages/0d/72/d2bb2cbfe26f020cb002cf3481be269c45574f7d771799702160b7884268/zcp-1.0.1.tar.gz" } ] }