{"id":21526350,"url":"https://github.com/netapp/harvest_install","last_synced_at":"2025-04-09T23:33:15.970Z","repository":{"id":48301679,"uuid":"369324221","full_name":"NetApp/harvest_install","owner":"NetApp","description":"Install Harvest via Ansible","archived":false,"fork":false,"pushed_at":"2024-06-24T13:00:39.000Z","size":34,"stargazers_count":4,"open_issues_count":0,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-24T01:23:17.212Z","etag":null,"topics":["ansible","harvest","netapp-public"],"latest_commit_sha":null,"homepage":"https://github.com/NetApp/harvest","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NetApp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-05-20T19:59:36.000Z","updated_at":"2024-06-24T13:00:39.000Z","dependencies_parsed_at":"2024-03-26T20:52:49.565Z","dependency_job_id":"235366b2-d99e-41b3-b75f-99862df30d65","html_url":"https://github.com/NetApp/harvest_install","commit_stats":null,"previous_names":["netapp/harvest_install"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fharvest_install","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fharvest_install/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fharvest_install/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fharvest_install/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NetApp","download_url":"https://codeload.github.com/NetApp/harvest_install/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248129953,"owners_count":21052669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","harvest","netapp-public"],"created_at":"2024-11-24T01:44:41.138Z","updated_at":"2025-04-09T23:33:15.944Z","avatar_url":"https://github.com/NetApp.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# harvest_install\n\nThis repository contains an Ansible playbook to deploy Harvest, Prometheus, and Grafana containers.\n\nIf you are new to Harvest,\nit is a tool that collects performance and configuration metrics from ONTAP and StorageGRID clusters\nand stores them in a time-series database.\nPrometheus is the time-series database and Grafana is the visualization tool.\n\nFor more information on Harvest, see the [Harvest documentation](https://netapp.github.io/harvest/).\n\nThe Harvest containers are configured to monitor ONTAP clusters.\nThe Prometheus and Grafana containers are configured to work with Harvest.\n\nPrerequisites\n* Ansible   \n* Community.docker collection (this collection needs the python library `docker`)\n* Docker\n* Inbound ports 3000 and 9090 open\n\nSetup\nEdit the `harvest/harvest.yml` file and add your ONTAP cluster(s).  Here is an example from my lab.\n```\nPollers:\n  Cluster-1:\n    datacenter: DC-01\n    addr: 10.0.0.1\n    auth_style: basic_auth\n    prometheus_port: 25000\n    username: myuser\n    password: mypasw\n  Cluster-2:\n    datacenter: DC-01\n    addr: 10.0.0.2\n    auth_style: basic_auth\n    prometheus_port: 25001\n    username: myuser\n    password: mypasw\n```\n\nWhere my example says `Cluster-1` and `Cluster-2` this is the name of the cluster.  This doesn't have to match the cluster hostname – it can be anything.  The `datacenter:` section is how you can group clusters together via region or purpose.  Finally, for each cluster you add be sure you increment the value of `prometheus_port:`.\n\nOnce you have entered your clusters in the `harvest.yml` file, you can start the services with the command\n\n`$ ansible-playbook manage_harvest.yml`\n\nThis will pull the three image files you need from docker hub, update the Prometheus.yml file with the systems and ports you included in `harvest.yml` and deploy Prometheus, Grafana, and one (1) Harvest container per cluster.  So if you have just one cluster to monitor, 3 containers will deploy.  Two clusters will deploy 4 containers and so on.  Since the containers are all from the same image, they don’t take up extra space.\n\nNow that the containers are all running, run the playbook again with an `api` tag to set up the Prometheus datasource and Harvest dashboards in Grafana.\n\n`$ ansible-playbook manage_harvest.yml --tags api`\n\nYou now have Harvest setup and running.  Point your browser at the IP or hostname of the machine where you did the installation.\n\n```\nhttp://localhost:3000\nusername: admin\npassword: pass\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetapp%2Fharvest_install","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetapp%2Fharvest_install","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetapp%2Fharvest_install/lists"}