{ "info": { "author": "Gabriele Giammatteo", "author_email": "gabriele.giammatteo@eng.it", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2.7", "Topic :: System :: Monitoring" ], "description": "# FIWARE Prometheus Publisher\nThis software (**fiprom**) allows to publish metrics generated by Ceilometer in Prometheus. It allows to modify/enrich metrics before publishing them.\n\nThis project started from the need of collecting metrics generated by the FIWARE node located in Vicenza that is running an old version of Ceilometer (v 2015.1.1). Newer version of Ceilometer have a Prometheus publisher distributed along with Ceilometer itself and, therefore, there is no need for this custom publisher (excepting for customizing metrics metadata).\n\n\n## Installation\nFiprom works as a Ceilometer plugin loaded at runtime. It must be installed as library in the same environment where Ceilometer services are installed. It can be done simply:\n\n```bash\npip install fiware-prometheus-publisher\n```\n\nAn alternative way is to install the component in a Python virtualenv. In this case, also Ceilometer must be installed and executed from the virtualenv.\n\n```bash\nexport PBR_VERSION=0.10.0\npip install -U 'pbr==0.11.0' testrepository setuptools\n\nwget https://github.com/openstack/ceilometer/archive/2015.1.1.zip && unzip 2015.1.1.zip\nRUN cd ceilometer-2015.1.1 && pip install .\n\npip install fiware-prometheus-publisher\n```\n\n\nAlternatively, the Docker image [fiware-prometheus-publisher](https://cloud.docker.com/repository/docker/gabrielegiammatteo/fiware-prometheus-publisher) can be used. The image runs a Ceilometer Collector service configured to use fiprom as storage backend.\n\n## Configuration\n\nFiprom load its configuration through the `ceilometer.conf` file in the `[fiprom]` section. These are the supported keys and their default values:\n\n```ini\n\n[fiprom]\n\n# URL of the Push Gateway where metrics created will be publihsed\npush_gateway = http://localhost:9091/metrics/job/fiprom/infrastructure/fiware\n\n# Configuration file for the conversion of Ceilometer samples to Prometheus metrics\nconverter_conf_file =\n\n# Customize the location of the labels cache\ncache_file=/tmp/fiprom.cache\n\n# Mapping file for names of VMs, hosts and users\nnames_file =\n\n# Mapping file for tenant groups\ntenant_group_file =\n\n# If set, logs samples received and metrics created in this file\nlog_file =\n\n# If true, do not make the call to the Push Gateway\ndryrun = False\n```\n\nIn addition to this configuration, the following has to be added:\n\n- to use as Ceilomter pipeline publisher, add the following in your `pipeline.yaml` :\n ```yaml\n - publishers:\n - fiprom://\n ```\n- to use as backend for the Ceilometer Collector, add the following to your `ceilometer.conf`\n\n ```ini\n [database]\n metering_connection=fiprom://\n # also the key connection can be used\n ```\n\n\n## Further configuration files \nThe basic configuration (see [Configuration](##Configuration)) activate fiprom, but to be useful it needs further configuration on how to convert metrics from Ceilometer to Prometheus.\n\n### Converter Conf file\n\nThis file (`converter_conf_file`) tells fiprom which metrics should be converted and how labels of each metric should be mapped. It is in YAML format and must follow this schema:\n```yaml\nenabled:\n - ''\n - ''\n - ...\nlabels:\n - :\n - : ''\n - : ''\n - ...\n - :\n \t- ...\n\n```\n\nA working configuration with detailed comments can be found at [fiprom_converter_conf.yaml](conf/firpom_converter_conf.yaml) file.\n\n### Names file\n\nThis file (`names_file`) contains the mapping between IDs of OpenStack objects and their names. Since most of the metrics created by Ceilometer only contain IDs of objects, this mapping file is required to add label with names (more human readable) to Prometheus metrics.\n\nThe file must contain one mapping for each line in the format:\n```ini\n \n```\n'=' or ':' characters are used as delimiter if found in the row, otherwise space, tab or comma characters are used. All of these are valid lines:\n```ini\nacede503-78e4-49cf-adbc-bd87390d4f6a helloworld\n4c9e370ae557689709a64e9b543d50fd0f1538d0c5a22ac30c5afb41, host1.eng.it\nf7eb45f96d62423a805bd2ee5734d961: admin\nf00a0cba70174563b6deef58dffebda2 = This is a demo, project \n```\n\n### Tenant Group file\nThis file (`tenant_group_file`) is used to assign a group to each tenant. Fiprom will add a `tenant_group` label when a mapping is found. The file is in the format:\n```ini\n \n```\n\nSame rules on delimiters applies of the names file. \n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/gabrielegiammatteo/fiware-prometheus-publisher", "keywords": "monitoring ceilometer FIWARE metrics", "license": "", "maintainer": "", "maintainer_email": "", "name": "fiware-prometheus-publisher", "package_url": "https://pypi.org/project/fiware-prometheus-publisher/", "platform": "", "project_url": "https://pypi.org/project/fiware-prometheus-publisher/", "project_urls": { "Homepage": "https://github.com/gabrielegiammatteo/fiware-prometheus-publisher" }, "release_url": "https://pypi.org/project/fiware-prometheus-publisher/0.0.40/", "requires_dist": null, "requires_python": "<3", "summary": "Ceilometer Publisher for the FIWARE infrastructure", "version": "0.0.40" }, "last_serial": 5012089, "releases": { "0.0.39": [ { "comment_text": "", "digests": { "md5": "2382616099f0214f9f88ca22c8503f83", "sha256": "01d4eb058465462b306e0a9417138dcd9b348bcea6b2f0e610ddafa268b16b71" }, "downloads": -1, "filename": "fiware_prometheus_publisher-0.0.39-py2-none-any.whl", "has_sig": false, "md5_digest": "2382616099f0214f9f88ca22c8503f83", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "<3", "size": 17435, "upload_time": "2019-04-01T08:25:03", "url": "https://files.pythonhosted.org/packages/1c/0a/4b9f6212a79b237b1e4c7c37a52cd8b0b41d143bd191d60ec1a128a07ea5/fiware_prometheus_publisher-0.0.39-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68fa6f1bffb6061f68ad89a1b58abef8", "sha256": "0d05cf25c07364d479e2994d0ba1db1c2c8fafad35d4f45578b1ae1f9260b3ad" }, "downloads": -1, "filename": "fiware-prometheus-publisher-0.0.39.tar.gz", "has_sig": false, "md5_digest": "68fa6f1bffb6061f68ad89a1b58abef8", "packagetype": "sdist", "python_version": "source", "requires_python": "<3", "size": 9082, "upload_time": "2019-04-01T08:25:05", "url": "https://files.pythonhosted.org/packages/ad/47/6bc5864b5a9428d0fe7978db64a987b2f3a116413c0b0e87445370c2c0cf/fiware-prometheus-publisher-0.0.39.tar.gz" } ], "0.0.40": [ { "comment_text": "", "digests": { "md5": "ddd2fb793d57243125370384a02e274f", "sha256": "38471ab6d6743585999af158ac1896114dc975a1d6744c0f816f19797b75222f" }, "downloads": -1, "filename": "fiware_prometheus_publisher-0.0.40-py2-none-any.whl", "has_sig": false, "md5_digest": "ddd2fb793d57243125370384a02e274f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "<3", "size": 17587, "upload_time": "2019-04-01T08:57:19", "url": "https://files.pythonhosted.org/packages/b9/34/891e87429468c02bc1c199d4fe92e584e13dfb29e2036031c9815cc5511d/fiware_prometheus_publisher-0.0.40-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6878e78e58e21c518b2479b50d3be7b", "sha256": "f2ad0146b748902d70f9ee281342c569c5db211b472190e4f158215bdadd1130" }, "downloads": -1, "filename": "fiware-prometheus-publisher-0.0.40.tar.gz", "has_sig": false, "md5_digest": "f6878e78e58e21c518b2479b50d3be7b", "packagetype": "sdist", "python_version": "source", "requires_python": "<3", "size": 9254, "upload_time": "2019-04-01T08:57:21", "url": "https://files.pythonhosted.org/packages/80/04/062c58b62eeb159c8200ce9b88cb1e2e28ac642a1170e20020c3a915a15e/fiware-prometheus-publisher-0.0.40.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ddd2fb793d57243125370384a02e274f", "sha256": "38471ab6d6743585999af158ac1896114dc975a1d6744c0f816f19797b75222f" }, "downloads": -1, "filename": "fiware_prometheus_publisher-0.0.40-py2-none-any.whl", "has_sig": false, "md5_digest": "ddd2fb793d57243125370384a02e274f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "<3", "size": 17587, "upload_time": "2019-04-01T08:57:19", "url": "https://files.pythonhosted.org/packages/b9/34/891e87429468c02bc1c199d4fe92e584e13dfb29e2036031c9815cc5511d/fiware_prometheus_publisher-0.0.40-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6878e78e58e21c518b2479b50d3be7b", "sha256": "f2ad0146b748902d70f9ee281342c569c5db211b472190e4f158215bdadd1130" }, "downloads": -1, "filename": "fiware-prometheus-publisher-0.0.40.tar.gz", "has_sig": false, "md5_digest": "f6878e78e58e21c518b2479b50d3be7b", "packagetype": "sdist", "python_version": "source", "requires_python": "<3", "size": 9254, "upload_time": "2019-04-01T08:57:21", "url": "https://files.pythonhosted.org/packages/80/04/062c58b62eeb159c8200ce9b88cb1e2e28ac642a1170e20020c3a915a15e/fiware-prometheus-publisher-0.0.40.tar.gz" } ] }