{"id":17646746,"url":"https://github.com/rahulkp220/observability","last_synced_at":"2025-03-30T07:16:24.882Z","repository":{"id":181027421,"uuid":"142758625","full_name":"rahulkp220/observability","owner":"rahulkp220","description":"A terraform based open-source observability stack that can run on AWS! :fire:","archived":false,"fork":false,"pushed_at":"2018-08-25T18:30:27.000Z","size":30,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T18:56:18.585Z","etag":null,"topics":["alertmanager","aws","grafana","observability","prometheus","pushgateway","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rahulkp220.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-07-29T12:21:24.000Z","updated_at":"2025-01-07T06:09:09.000Z","dependencies_parsed_at":"2023-07-17T19:43:41.521Z","dependency_job_id":null,"html_url":"https://github.com/rahulkp220/observability","commit_stats":null,"previous_names":["rahulkp220/observability"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulkp220%2Fobservability","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulkp220%2Fobservability/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulkp220%2Fobservability/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rahulkp220%2Fobservability/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rahulkp220","download_url":"https://codeload.github.com/rahulkp220/observability/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246285816,"owners_count":20752958,"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":["alertmanager","aws","grafana","observability","prometheus","pushgateway","terraform"],"created_at":"2024-10-23T11:06:45.243Z","updated_at":"2025-03-30T07:16:24.862Z","avatar_url":"https://github.com/rahulkp220.png","language":"HCL","readme":"# Observability :rocket:\nA terraform based observability boilerplate that can run on AWS.\nCreates a complete setup for Prometheus, Grafana, Alertmanager and Pushgateway. \n\n## Before you run :running:\n* Make sure you have `terraform` installed on your system\n* Make sure you have AWS credentials somewhere, the default location being `~/.aws/credentials`, and have a profile created like\n\n```\n[your_profile]\naws_access_key_id = \"your_access_key\"\naws_secret_access_key = \"your_secret_access_key\"\n\n```\n\n## Module Information :information_source:\n```\nmodule \"observability\" {\n    source              = \"../\"\n    profile             = \"your_profile_here\" ,\n    aws_credential_path = \"~/.aws/credentials\",\n    aws_region          = \"your_aws_region\", # example: us-east-2\n    aws_ami             = \"your_aws_ami_here\" , # example: ami-5e8bb23b\n    prometheus_count    = 1 ,\n    alertmanager_count  = 1 ,\n    grafana_count       = 1 ,\n    pushgateway_count   = 1 ,\n    aws_instance_type   = \"aws_instance_type_here\" , # example: t2.micro\n    key_name            = \"your_key_pair_here\" , \n    user                = \"ubuntu\" ,\n    private_ssh_key     = \"ssh_key_path\" ,\n    cidr_blocks         = [\"cider_range_here\"] , # example: \"0.0.0.0/0\"\n    outcidr_blocks      = [\"cider_range_here\"] , # example: \"0.0.0.0/0\"\n    vpc_id              = \"your_vpc_id_here\" ,  # example: vpc-3993a751\"\n    has_public_ip       = true\n}\n```\n* Change to the `example` directory and fill in the all the values.\n* Make sure you have a `VPC` created and also a `KeyPair` generated.\n* Run the following terraform commands to see the magic,\n    * `terraform init`\n    * `terraform plan`\n    * `terraform apply --auto-approve`\n    \n## Sample output\n```\nOutputs:\n\nalertmanager = [\n    18.191.34.26\n]\ngrafana = [\n    18.188.149.197\n]\nprometheus = [\n    52.14.154.54\n]\npushgateway = [\n    18.191.173.29\n]\n```\n## Ports to play :eyes:\n* Alertmanager IP on port `9093`\n* Grafana IP on port `3000`\n* Prometheus IP on port `9090`\n* Pushgateway IP on port `9091`\n\n## Note:\nThe scripts used in the project are written by [in4it Team](https://github.com/in4it/prometheus-course) :+1:\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulkp220%2Fobservability","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frahulkp220%2Fobservability","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulkp220%2Fobservability/lists"}