A demo combining Amazon Kinesis Data Streams, Amazon Data Firehose and Amazon Managed Service for Apache Flink running a Zeppelin notebook.
This repository is a member of the SLT | Storm Library for Terraform, a collection of Terraform modules for Amazon Web Services. The focus of these modules, maintained in separate GitHub™ repositories, is on building examples, demos and showcases on AWS. The audience of the library is learners and presenters alike - people that want to know or show how a certain service, pattern or solution looks like, or "feels".
This demo can be built using GitHub Actions. In order to do so
- Install the Storm Library for Terraform
- Only if your account has AWS Lake Formation enabled:
- Check the value of the DEPLOYMENT_ROLE environment variable as shown in the summary of the Apply workflow you executed in order to install the Storm Library for Terraform. It starts with slt-0 and ends with -deployment.
- In AWS Lake Formation, open Administrative roles and tasks. In the section Database creators, click on Grant
- In the opening Grant permissions panel, in the IAM users and roles input, select your deployment role which you fetched before
- Tick both Create database radio buttons
- Confirm by clicking Grant
- Deploy this member repository
Deployment of this member should take < 5 minutes on GitHub resources.
- In your GitHub Apply workflow run, click on Summary. If you scroll down, you will see the apply / check summary.
- Take a look at the ENVIRONMENT variables. Note the DEPLOYMENT_NAME environment variable. Its value should match the pattern slt-(some number)-log-analytics-demo-(your github owner).
- From the same page, download the artifact ending on .zeppelin to your download folder and unzip it if necessary
- In the AWS Console, on the Managed Apache Flink service page, click on Studio notebooks on the left-hand side menu
- In the list of Studio notebooks in the center, click on the log-analytics-demo notebook that has been created
- In the view that opens, click on the Run button. You will be asked to confirm. Do so by clicking Run once more.
- A message will appear in your center view, informing you that the service is "Starting Studio notebook (your studio notebook)...". Wait until the startup process has completed. It may take a few minutes.
- You will be notified in the AWS Console as soon as your notebook has successfully started. Then, click Open in Apache Zeppelin.
- A new browser tab will open, welcoming you to Apache Zeppelin.
- On that browser page, click Import note. A panel titled Import New Note will pop up. Click on the area saying Select JSON File/IPYNB File and choose your unzipped Zeppelin notebook from your download folder.
- You will notice a new notebook link called Log Analytics Demo on the refreshed Zeppelin browser page. Click on the link.
- The Log Analytics Demo notebook will open. Next to its title, find a small triangle (like a "play" button) that enables you to run all paragraphs one after the other. Click on that play button.
- The paragraphs will run one after the other. Execution will take a minute or two.
- Check the last paragraph. Don't worry if it's saying No Data available for a minute or so. A pie chart will show up. The pie chart will update every ten seconds, showing percentages of HTTP status codes sent from an instance running Faker.
| Name | Version |
|---|---|
| terraform | >= 1 |
| aws | >= 6 |
| awscc | >= 1 |
| cloudinit | >= 2 |
| external | >= 2 |
| local | >= 2 |
| null | >= 3 |
| time | >= 0 |
| Name | Version |
|---|---|
| aws | >= 6 |
| aws.no_tags | >= 6 |
| awscc | >= 1 |
| cloudinit | >= 2 |
| local | >= 2 |
| null | >= 3 |
| time | >= 0 |
| Name | Source | Version |
|---|---|---|
| producer | git::https://github.com/stormreply/ssm-managed-instance.git | n/a |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| _metadata | Select metadata passed from GitHub Workflows | object({ |
{ |
no |
| Name | Description |
|---|---|
| _slt_config | Map of SLT configuration |
| artifact | Artifact to be shown as a download link on the Github Action Workflow execution page. |