{"id":13582675,"url":"https://github.com/prometheus/demo-site","last_synced_at":"2025-04-06T14:31:13.625Z","repository":{"id":35403204,"uuid":"133764758","full_name":"prometheus/demo-site","owner":"prometheus","description":"Demo site auto-deployed with Ansible.","archived":false,"fork":false,"pushed_at":"2025-03-25T02:44:58.000Z","size":329,"stargazers_count":113,"open_issues_count":8,"forks_count":59,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-25T03:28:26.705Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"cloudalchemy/demo-site","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prometheus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-17T05:48:23.000Z","updated_at":"2025-03-25T02:45:01.000Z","dependencies_parsed_at":"2024-01-16T17:56:11.408Z","dependency_job_id":"4ba5742c-a1d0-46f9-ad94-c8e99f8d82e5","html_url":"https://github.com/prometheus/demo-site","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus%2Fdemo-site","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus%2Fdemo-site/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus%2Fdemo-site/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prometheus%2Fdemo-site/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prometheus","download_url":"https://codeload.github.com/prometheus/demo-site/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247495827,"owners_count":20948114,"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":[],"created_at":"2024-08-01T15:02:55.794Z","updated_at":"2025-04-06T14:31:13.620Z","avatar_url":"https://github.com/prometheus.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"# Prometheus monitoring demo site\n\n[![Build Status](https://circleci.com/gh/prometheus/demo-site.svg?style=svg)](https://circleci.com/gh/prometheus/demo-site)\n[![License](https://img.shields.io/badge/license-Apache%20License-brightgreen.svg)](https://opensource.org/licenses/Apache-2.0)\n[![IRC](https://img.shields.io/badge/chat-on%20freenode-blue.svg)](http://webchat.freenode.net/?channels=prometheus)\n\n## [demo.prometheus.io](https://demo.prometheus.io)\n\nThis repository provides a demo site for [prometheus](https://github.com/prometheus/prometheus), [alertmanager](https://github.com/prometheus/alertmanager), prometheus exporters, and [grafana](https://github.com/grafana/grafana).\nSite is provisioned with ansible running every day and on all commits to master branch. Everything is fully automated with travis ci pipeline. If you want to check `ansible-playbook` output, go to [last build](https://app.circleci.com/pipelines/github/prometheus/demo-site).\n\nHave a look at configuration files in [group_vars/](group_vars).\n\n## Applications\n\nAll applications should be running on their default ports.\n\n| App name          | Address (HTTP)                                       | Address (HTTPS)                                           |\n|-------------------|------------------------------------------------------|-----------------------------------------------------------|\n| node_exporter     | [demo.prometheus.io:9100][node_exporter_http]     | [node.demo.prometheus.io][node_exporter_https]         |\n| prometheus        | [demo.prometheus.io:9090][prometheus_http]        | [prometheus.demo.prometheus.io][prometheus_https]      |\n| alertmanager      | [demo.prometheus.io:9093][alertmanager_http]      | [alertmanager.demo.prometheus.io][alertmanager_https]  |\n| grafana           | [demo.prometheus.io:3000][grafana_http]           | [grafana.demo.prometheus.io][grafana_https]            |\n\n## Important notice\n\nBefore running, golang is required to be installed on deployer machine (necessary to install random_exporter).\n\nMost services can be accessed in two ways (links in [Applications](#Applications) section. As an example, prometheus can be accessed via:\n  - **http**://demo.prometheus.io:9090 - default way\n  - **https**://prometheus.demo.prometheus.io - workaround which in background communicates with prometheus via insecure, \"default\" channel mentioned above\n\nThis workaround was needed to solve issue [cloudalchemy/demo-site#13](https://github.com/cloudalchemy/demo-site/issues/13).\n\n## Run yourself\n\nYou can easily run such setup yourself without much knowledge how any part of this works. You just need to do two things:\n\n#### Change ansible inventory\n\nFirst of all you need to configure your inventory, ours is located in [`hosts`](hosts) file. Here you set up your target hosts by changing value of `ansible_host` variable. Also here you can exclude parts of this demo site, so if you don't need our website, you just remove this part:\n\n```\n[web]\ndemo\n```\n\nAccordingly you can exclude grafana, prometheus.\n\n#### Change passwords\n\nFor security measures we encrypted some of our passwords, but it is easy to use yours! You can do it by replacing a file located at [`group_vars/grafana/vault`](group_vars/grafana/vault) with following content:\n\n```\nvault_grafana_password: \u003c\u003cINSERT_YOUR_GRAFANA_PASSWORD\u003e\u003e\n```\n\n#### Download the 'random' exporter binary\n\nYou will have to manually run `go` command to download \u0026 copy the [`random`](https://github.com/prometheus/client_golang/tree/master/examples/random) exporter binary to [`playbooks/files`](playbooks/files) directory.\n\n- The binary will be downloaded at `GOPATH` location. The value of `GOPATH` can be found by running `go env|grep GOPATH` command on your system.\n\n```\ngo get -u github.com/prometheus/client_golang/examples/random\ncp \u003cGOPATH\u003e/bin/random /path/to/demo-site/playbooks/files/\n```\n\n#### Run as usual Ansible playbook\n\n```bash\n# Download roles\nansible-galaxy install -r roles/requirements.yml\n\n# Run playbook\nansible-playbook site.yml\n# or when using vault encrypted variables\nansible-playbook --vault-id @prompt site.yml\n```\n\n# \n\ndemo site is deployed using [Prometheus Community](https://github.com/prometheus-community/ansible) ansible roles.\n\n[node_exporter_http]: http://demo.prometheus.io:9100\n[node_exporter_https]: https://node.demo.prometheus.io\n\n[prometheus_http]: http://demo.prometheus.io:9090\n[prometheus_https]: https://prometheus.demo.prometheus.io\n\n[alertmanager_http]: http://demo.prometheus.io:9093\n[alertmanager_https]: https://alertmanager.demo.prometheus.io\n\n[grafana_http]: http://demo.prometheus.io:3000\n[grafana_https]: https://grafana.demo.prometheus.io\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprometheus%2Fdemo-site","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprometheus%2Fdemo-site","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprometheus%2Fdemo-site/lists"}