{ "info": { "author": "Tyler French", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# vac_exporter\n\nVeeam VAC Exporter for Prometheus. \n\nGet VAC Tenant information:\n* Tenant Backuped VMs\n* Tenant Replicated VMs\n* Tenant Backed up to Cloud VMs\n* Tenant Storage Quota\n* Tenant VMs Quota\n* Tenant Traffic Quota\n* Tenant Used Storage\n* Tenant Used Traffic \n* Tenant jobs Processing Rate\n* Tenant jobs Transferred Data\n* Tenant jobs Protected VM count\n\n## Install\n\nYou can do the following to run this exporter:\n\n* Install locally\n\n```\n$> python setup.py install\n$> vac_exporter -c /path/to/your/config\n```\n\n* Run via Docker container\n\n```\ndocker run -it --rm -p 9273:9273 -e VAC_USER=${VAC_USERNAME} -e VAC_PASSWORD=${VAC_PASSWORD} -e VAC_IGNORE_SSL=True --name vac_exporter registry.gitlab.com/frenchtoasters/vac_exporter:latest\n```\n\n## Configuration \n\nYou should only provide a configuration file if the environment variables are not going to be set. If you are going to use a configuration file for your container you will have to edit the container ENTRYPOINT like so:\n\n```\nENTRYPOINT [\"/usr/local/bin/vac_exporter\",\"-c\",\"/path/to/your/config\"]\n```\n\nThe following is what an example configuration file would look like, note that you can have multiple sections for different VAC hosts:\n\n```\ndefault:\n vac_user: \"user\"\n vac_password: \"password\"\n ignore_ssl: False\n```\n\n### Environment Variables\n\n| Variable | Precedence | Defaults | Description |\n|----------------|------------------------|----------|---------------------------------------------------|\n| VAC_HOST | config, env, get_param | n/a | vac server to connect to |\n| VAC_USER | config, env | n/a | User for connecting to vac |\n| VAC_PASSWORD | config, env | n/a | Password for connecting to vac |\n| VAC_IGNORE_SSL | config, env | False | Ignore the ssl cert on the connection to vac host |\n\n\n### Prometheus configuration\n\nThe following the base Prometheus configuration file.\n\n```\n - job_name: 'veeam_vac'\n metrics_path: '/metrics'\n static_configs:\n - targets:\n - 'veeam.company.com'\n relabel_configs:\n - source_labels: [__address__]\n target_label: __param_target\n - source_labels: [__param_target]\n target_label: instance\n - target_label: __address__\n replacement: localhost:9273\n\n# Example of Multiple VAC's usage \n\n- job_name: vac_export\n metrics_path: /metrics\n static_configs:\n - targets:\n - vac01\n - 'vac02.example.org'\n - \"vac03.com\"\n relabel_configs:\n - source_labels: [__address__]\n target_label: __param_target\n - source_labels: [__param_target]\n target_label: instance\n - target_label: __address__\n replacement: exporter_ip:9273\n```\n\n# Example Output\n\n***Thanks to a certian Lobster***\n\n`:9273/vac`\n\n```\n$> curl 127.0.0.1:9273/vac\n# HELP teant_vms_backedup Number of protected vms of tenant\n# TYPE teant_vms_backedup gauge\nteant_vms_backedup{tenant_id=\"Tenant1\",tenant_name=\"2\"} 0.0\nteant_vms_backedup{tenant_id=\"homelab\",tenant_name=\"4\"} 45.0\n# HELP tenant_vms_replicated Number of replicated vms of tenant\n# TYPE tenant_vms_replicated gauge\ntenant_vms_replicated{tenant_id=\"Tenant1\",tenant_name=\"2\"} 0.0\ntenant_vms_replicated{tenant_id=\"homelab\",tenant_name=\"4\"} 0.0\n# HELP tenant_vms_backed_cloud Number of tenat vms backed up to cloud\n# TYPE tenant_vms_backed_cloud gauge\ntenant_vms_backed_cloud{tenant_id=\"Tenant1\",tenat_name=\"2\"} 0.0\ntenant_vms_backed_cloud{tenant_id=\"homelab\",tenat_name=\"4\"} 3.0\n# HELP job_processing_rate Rate of job processing\n# TYPE job_processing_rate gauge\njob_processing_rate{job_id=\"1\",job_name=\"SQL_To_CloudConnect\",tenant_id=\"4\",units=\"B/s\"} 0.0\njob_processing_rate{job_id=\"2\",job_name=\"vcd\",tenant_id=\"4\",units=\"MB/s\"} 31.47\njob_processing_rate{job_id=\"3\",job_name=\"domain-controllers\",tenant_id=\"4\",units=\"MB/s\"} 33.6\njob_processing_rate{job_id=\"4\",job_name=\"veeam\",tenant_id=\"4\",units=\"MB/s\"} 28.93\njob_processing_rate{job_id=\"5\",job_name=\"veeam-sp\",tenant_id=\"4\",units=\"MB/s\"} 33.66\njob_processing_rate{job_id=\"6\",job_name=\"Testing\",tenant_id=\"4\",units=\"MB/s\"} 52.54\njob_processing_rate{job_id=\"7\",job_name=\"mail\",tenant_id=\"4\",units=\"MB/s\"} 5.89\njob_processing_rate{job_id=\"8\",job_name=\"vmware\",tenant_id=\"4\",units=\"MB/s\"} 56.54\njob_processing_rate{job_id=\"9\",job_name=\"centos_no_connectivity_restore\",tenant_id=\"4\",units=\"B/s\"} 0.0\njob_processing_rate{job_id=\"10\",job_name=\"plex\",tenant_id=\"4\",units=\"MB/s\"} 38.63\njob_processing_rate{job_id=\"11\",job_name=\"templates\",tenant_id=\"4\",units=\"B/s\"} 0.0\njob_processing_rate{job_id=\"12\",job_name=\"sql_aap\",tenant_id=\"4\",units=\"MB/s\"} 33.83\njob_processing_rate{job_id=\"13\",job_name=\"ccr-seed\",tenant_id=\"4\",units=\"MB/s\"} 99.06\njob_processing_rate{job_id=\"14\",job_name=\"test_vcd_test\",tenant_id=\"4\",units=\"MB/s\"} 46.5\njob_processing_rate{job_id=\"2\",job_name=\"Backup_Copy_Test\",tenant_id=\"4\",units=\"B/s\"} 0.0\njob_processing_rate{job_id=\"3\",job_name=\"Backup_Copy_Test_3\",tenant_id=\"4\",units=\"B/s\"} 0.0\njob_processing_rate{job_id=\"4\",job_name=\"TinyVM and CentOS SYN full\",tenant_id=\"4\",units=\"B/s\"} 0.0\njob_processing_rate{job_id=\"5\",job_name=\"test_to_ds_clone1\",tenant_id=\"4\",units=\"B/s\"} 0.0\njob_processing_rate{job_id=\"15\",job_name=\"SureBackup Job 1\",tenant_id=\"4\",units=\"B/s\"} 0.0\n# HELP job_transfer_data Amount of data transferred in job\n# TYPE job_transfer_data gauge\njob_transfer_data{job_id=\"1\",job_name=\"SQL_To_CloudConnect\",tenant_id=\"4\",units=\"B\"} 0.0\njob_transfer_data{job_id=\"2\",job_name=\"vcd\",tenant_id=\"4\",units=\"MB\"} 66.24\njob_transfer_data{job_id=\"3\",job_name=\"domain-controllers\",tenant_id=\"4\",units=\"MB\"} 176.18\njob_transfer_data{job_id=\"4\",job_name=\"veeam\",tenant_id=\"4\",units=\"GB\"} 3.2\njob_transfer_data{job_id=\"5\",job_name=\"veeam-sp\",tenant_id=\"4\",units=\"MB\"} 880.77\njob_transfer_data{job_id=\"6\",job_name=\"Testing\",tenant_id=\"4\",units=\"GB\"} 11.8\njob_transfer_data{job_id=\"7\",job_name=\"mail\",tenant_id=\"4\",units=\"MB\"} 197.03\njob_transfer_data{job_id=\"8\",job_name=\"vmware\",tenant_id=\"4\",units=\"MB\"} 805.33\njob_transfer_data{job_id=\"9\",job_name=\"centos_no_connectivity_restore\",tenant_id=\"4\",units=\"B\"} 32.0\njob_transfer_data{job_id=\"10\",job_name=\"plex\",tenant_id=\"4\",units=\"MB\"} 477.45\njob_transfer_data{job_id=\"11\",job_name=\"templates\",tenant_id=\"4\",units=\"B\"} 0.0\njob_transfer_data{job_id=\"12\",job_name=\"sql_aap\",tenant_id=\"4\",units=\"GB\"} 10.97\njob_transfer_data{job_id=\"13\",job_name=\"ccr-seed\",tenant_id=\"4\",units=\"GB\"} 1.12\njob_transfer_data{job_id=\"14\",job_name=\"test_vcd_test\",tenant_id=\"4\",units=\"GB\"} 16.28\njob_transfer_data{job_id=\"2\",job_name=\"Backup_Copy_Test\",tenant_id=\"4\",units=\"B\"} 0.0\njob_transfer_data{job_id=\"3\",job_name=\"Backup_Copy_Test_3\",tenant_id=\"4\",units=\"B\"} 0.0\njob_transfer_data{job_id=\"4\",job_name=\"TinyVM and CentOS SYN full\",tenant_id=\"4\",units=\"B\"} 64.0\njob_transfer_data{job_id=\"5\",job_name=\"test_to_ds_clone1\",tenant_id=\"4\",units=\"B\"} 0.0\njob_transfer_data{job_id=\"15\",job_name=\"SureBackup Job 1\",tenant_id=\"4\",units=\"B\"} 0.0\n# HELP job_protected_vms Protected vms in job\n# TYPE job_protected_vms gauge\njob_protected_vms{job_id=\"1\",job_name=\"SQL_To_CloudConnect\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"2\",job_name=\"vcd\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"3\",job_name=\"domain-controllers\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"4\",job_name=\"veeam\",tenant_id=\"4\"} 8.0\njob_protected_vms{job_id=\"5\",job_name=\"veeam-sp\",tenant_id=\"4\"} 2.0\njob_protected_vms{job_id=\"6\",job_name=\"Testing\",tenant_id=\"4\"} 17.0\njob_protected_vms{job_id=\"7\",job_name=\"mail\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"8\",job_name=\"vmware\",tenant_id=\"4\"} 3.0\njob_protected_vms{job_id=\"9\",job_name=\"centos_no_connectivity_restore\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"10\",job_name=\"plex\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"11\",job_name=\"templates\",tenant_id=\"4\"} 6.0\njob_protected_vms{job_id=\"12\",job_name=\"sql_aap\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"13\",job_name=\"ccr-seed\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"14\",job_name=\"test_vcd_test\",tenant_id=\"4\"} 3.0\njob_protected_vms{job_id=\"2\",job_name=\"Backup_Copy_Test\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"3\",job_name=\"Backup_Copy_Test_3\",tenant_id=\"4\"} 1.0\njob_protected_vms{job_id=\"4\",job_name=\"TinyVM and CentOS SYN full\",tenant_id=\"4\"} 2.0\njob_protected_vms{job_id=\"5\",job_name=\"test_to_ds_clone1\",tenant_id=\"4\"} 0.0\njob_protected_vms{job_id=\"15\",job_name=\"SureBackup Job 1\",tenant_id=\"4\"} 0.0\n# HELP resources_storage_quota Storage quota for tenant resources\n# TYPE resources_storage_quota gauge\nresources_storage_quota{resource_id=\"1\",tenant_id=\"2\",tenant_name=\"Tenant1\",units=\"GB\"} 500.0\n# HELP resources_vms_quota VM quota for tenant resources\n# TYPE resources_vms_quota gauge\nresources_vms_quota{resource_id=\"1\",tenant_id=\"2\",tenant_name=\"Tenant1\"} 0.0\n# HELP resources_traffic_quota Network traffic quota for tenant resources\n# TYPE resources_traffic_quota gauge\nresources_traffic_quota{resource_id=\"1\",tenant_id=\"2\",tenant_name=\"Tenant1\",units=\"GB\"} 0.0\n# HELP resources_used_storage Used storage for tenant resources\n# TYPE resources_used_storage gauge\nresources_used_storage{resource_id=\"1\",tenant_id=\"2\",tenant_name=\"Tenant1\",units=\"GB\"} 142.6\n# HELP resources_used_traffic Used network traffic for tenant resources\n# TYPE resources_used_traffic gauge\nresources_used_traffic{resource_id=\"1\",tenant_id=\"2\",tenant_name=\"Tenant1\",units=\"MB\"} 18.5\n```\n\n`:9273/metrics`\n\n```\n$> curl 127.0.0.1:9273/metrics\n# HELP process_virtual_memory_bytes Virtual memory size in bytes.\n# TYPE process_virtual_memory_bytes gauge\nprocess_virtual_memory_bytes 96972800.0\n# HELP process_resident_memory_bytes Resident memory size in bytes.\n# TYPE process_resident_memory_bytes gauge\nprocess_resident_memory_bytes 25964544.0\n# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.\n# TYPE process_start_time_seconds gauge\nprocess_start_time_seconds 1549495918.93\n# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.\n# TYPE process_cpu_seconds_total counter\nprocess_cpu_seconds_total 0.21000000000000002\n# HELP process_open_fds Number of open file descriptors.\n# TYPE process_open_fds gauge\nprocess_open_fds 6.0\n# HELP process_max_fds Maximum number of open file descriptors.\n# TYPE process_max_fds gauge\nprocess_max_fds 1048576.0\n# HELP vac_collection_duration_seconds Duration of collections by the VAC exporter\n# TYPE vac_collection_duration_seconds summary\n# HELP vac_request_errors_total Errors in requests to VAC exporter\n# TYPE vac_request_errors_total counter\n```\n\n`:9273/healthz`\n\n```\n$> curl 127.0.0.1:9273/healthz\nOK\n```\n\n`:9273/`\n\n```\n$> curl 127.0.0.1:9273/\nVAC Exporter\nVisit /vac?target=1.2.3.4 to use.\n```\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/frenchtoasters/vac_exporter", "keywords": "Veeam,VAC,Prometheus", "license": "BSD 3-Clause License", "maintainer": "", "maintainer_email": "", "name": "vac-exporter", "package_url": "https://pypi.org/project/vac-exporter/", "platform": "", "project_url": "https://pypi.org/project/vac-exporter/", "project_urls": { "Homepage": "https://gitlab.com/frenchtoasters/vac_exporter" }, "release_url": "https://pypi.org/project/vac-exporter/0.0.1/", "requires_dist": [ "prometheus-client (==0.0.19)", "pytz", "twisted (>=14.0.2)", "yamlconfig", "service-identity", "requests", "Werkzeug" ], "requires_python": "", "summary": "Veeam VAC Exporter for Prometheus", "version": "0.0.1" }, "last_serial": 4789169, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "27e91193d53bde5edbf7dab3b3b1fea8", "sha256": "8bb2db4409b3b3415fc566b6786868a11ba79f41ae96aa08bcca067179ec4bbe" }, "downloads": -1, "filename": "vac_exporter-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "27e91193d53bde5edbf7dab3b3b1fea8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11198, "upload_time": "2019-02-07T00:41:11", "url": "https://files.pythonhosted.org/packages/82/16/938682fe8d96d16dff19b8d9f632bea09f3aacefba6b1bb74bd260ab7de2/vac_exporter-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e17520f876bdc0f5d1f993c923890fc", "sha256": "483518fca70f8acdaae4239815a0bc990e39089deb9c310c859a251a985dfbfb" }, "downloads": -1, "filename": "vac_exporter-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2e17520f876bdc0f5d1f993c923890fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10890, "upload_time": "2019-02-07T00:41:12", "url": "https://files.pythonhosted.org/packages/84/72/df31a149e010312f311efd62785cc6edff74ce7caa3897fee835154b66e5/vac_exporter-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "27e91193d53bde5edbf7dab3b3b1fea8", "sha256": "8bb2db4409b3b3415fc566b6786868a11ba79f41ae96aa08bcca067179ec4bbe" }, "downloads": -1, "filename": "vac_exporter-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "27e91193d53bde5edbf7dab3b3b1fea8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11198, "upload_time": "2019-02-07T00:41:11", "url": "https://files.pythonhosted.org/packages/82/16/938682fe8d96d16dff19b8d9f632bea09f3aacefba6b1bb74bd260ab7de2/vac_exporter-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e17520f876bdc0f5d1f993c923890fc", "sha256": "483518fca70f8acdaae4239815a0bc990e39089deb9c310c859a251a985dfbfb" }, "downloads": -1, "filename": "vac_exporter-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2e17520f876bdc0f5d1f993c923890fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10890, "upload_time": "2019-02-07T00:41:12", "url": "https://files.pythonhosted.org/packages/84/72/df31a149e010312f311efd62785cc6edff74ce7caa3897fee835154b66e5/vac_exporter-0.0.1.tar.gz" } ] }