Skip to content

Create tech stack docs (techstack.yml and techstack.md) #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ Generate CloudWatch metrics embedded within structured log events. The embedded

- **Generate custom metrics across compute environments**

- Easily generate custom metrics from Lambda functions without requiring custom batching code, making blocking network requests or relying on third-party software.
- Other compute environments (EC2, On-prem, ECS, EKS, and other container environments) are supported by installing the [CloudWatch Agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Generation_CloudWatch_Agent.html).
- Easily generate custom metrics from Lambda functions without requiring custom batching code, making blocking network requests or relying on third-party software.
- Other compute environments (EC2, On-prem, ECS, EKS, and other container environments) are supported by installing the [CloudWatch Agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Generation_CloudWatch_Agent.html).
- Examples can be found in [examples/README.md](examples/README.md)

- **Link metrics to high cardinality context**

Expand Down
22 changes: 21 additions & 1 deletion examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,27 @@ Run the example:
```
./examples/agent/bin/run.sh
```


## Docker

With Docker images, using the `awslogs` log driver will send your container logs to CloudWatch Logs. All you have to do is write to STDOUT and your EMF logs will be processed.

[Official Docker documentation for `awslogs` driver](https://docs.docker.com/config/containers/logging/awslogs/)

## ECS and Fargate

With ECS and Fargate, you can use the `awslogs` log driver to have your logs sent to CloudWatch Logs on your behalf. After configuring your task to use the `awslogs` log driver, you may write your EMF logs to STDOUT and they will be processed.

[ECS documentation on `awslogs` log driver](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html)

## Fluent Bit and Fluentd

Fluent Bit can be used to collect logs and push them to CloudWatch Logs. After configuring the Amazon CloudWatch Logs output plugin, you may write your EMF logs to STDOUT and they will be processed.

[Getting Started with Fluent Bit](https://docs.fluentbit.io/manual/installation/getting-started-with-fluent-bit)

[Amazon CloudWatch output plugin for Fluent Bit](https://docs.fluentbit.io/manual/pipeline/outputs/cloudwatch)

## FireLens on ECS EC2

You can deploy the example by running the following:
Expand Down
163 changes: 163 additions & 0 deletions techstack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
<!--
&lt;--- Readme.md Snippet without images Start ---&gt;
## Tech Stack
gordonpn/aws-embedded-metrics-java is built on the following main stack:

- [Java](https://www.java.com) – Languages
- [Jackson](https://github.com/FasterXML/jackson) – Java Tools
- [Docker](https://www.docker.com/) – Virtual Machine Platforms & Containers
- [Gradle](https://www.gradle.org/) – Java Build Tools
- [SLF4J](http://slf4j.org/) – Log Management
- [AWS Lambda](http://aws.amazon.com/lambda) – Serverless / Task Processing
- [Shell](https://en.wikipedia.org/wiki/Shell_script) – Shells

Full tech stack [here](/techstack.md)

&lt;--- Readme.md Snippet without images End ---&gt;

&lt;--- Readme.md Snippet with images Start ---&gt;
## Tech Stack
gordonpn/aws-embedded-metrics-java is built on the following main stack:

- <img width='25' height='25' src='https://img.stackshare.io/service/995/K85ZWV2F.png' alt='Java'/> [Java](https://www.java.com) – Languages
- <img width='25' height='25' src='https://ucarecdn.com/d8ec839d-4d66-4c08-8297-9e2be82f6b75/' alt='Jackson'/> [Jackson](https://github.com/FasterXML/jackson) – Java Tools
- <img width='25' height='25' src='https://img.stackshare.io/service/586/n4u37v9t_400x400.png' alt='Docker'/> [Docker](https://www.docker.com/) – Virtual Machine Platforms & Containers
- <img width='25' height='25' src='https://img.stackshare.io/service/975/gradlephant-social-black-bg.png' alt='Gradle'/> [Gradle](https://www.gradle.org/) – Java Build Tools
- <img width='25' height='25' src='https://img.stackshare.io/service/2805/05518ecaa42841e834421e9d6987b04f_400x400.png' alt='SLF4J'/> [SLF4J](http://slf4j.org/) – Log Management
- <img width='25' height='25' src='https://img.stackshare.io/service/1909/aws-lambda.png' alt='AWS Lambda'/> [AWS Lambda](http://aws.amazon.com/lambda) – Serverless / Task Processing
- <img width='25' height='25' src='https://img.stackshare.io/service/4631/default_c2062d40130562bdc836c13dbca02d318205a962.png' alt='Shell'/> [Shell](https://en.wikipedia.org/wiki/Shell_script) – Shells

Full tech stack [here](/techstack.md)

&lt;--- Readme.md Snippet with images End ---&gt;
-->
<div align="center">

# Tech Stack File
![](https://img.stackshare.io/repo.svg "repo") [gordonpn/aws-embedded-metrics-java](https://github.com/gordonpn/aws-embedded-metrics-java)![](https://img.stackshare.io/public_badge.svg "public")
<br/><br/>
|28<br/>Tools used|02/29/24 <br/>Report generated|
|------|------|
</div>

## <img src='https://img.stackshare.io/languages.svg'/> Languages (1)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/995/K85ZWV2F.png' alt='Java'>
<br>
<sub><a href="https://www.java.com">Java</a></sub>
<br>
<sub></sub>
</td>

</tr>
</table>

## <img src='https://img.stackshare.io/frameworks.svg'/> Frameworks (1)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://ucarecdn.com/d8ec839d-4d66-4c08-8297-9e2be82f6b75/' alt='Jackson'>
<br>
<sub><a href="https://github.com/FasterXML/jackson">Jackson</a></sub>
<br>
<sub></sub>
</td>

</tr>
</table>

## <img src='https://img.stackshare.io/devops.svg'/> DevOps (4)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/586/n4u37v9t_400x400.png' alt='Docker'>
<br>
<sub><a href="https://www.docker.com/">Docker</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/1046/git.png' alt='Git'>
<br>
<sub><a href="http://git-scm.com/">Git</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/975/gradlephant-social-black-bg.png' alt='Gradle'>
<br>
<sub><a href="https://www.gradle.org/">Gradle</a></sub>
<br>
<sub></sub>
</td>

<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/2805/05518ecaa42841e834421e9d6987b04f_400x400.png' alt='SLF4J'>
<br>
<sub><a href="http://slf4j.org/">SLF4J</a></sub>
<br>
<sub></sub>
</td>

</tr>
</table>

## <img src='https://img.stackshare.io/hosting.svg'/> Hosting (1)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/1909/aws-lambda.png' alt='AWS Lambda'>
<br>
<sub><a href="http://aws.amazon.com/lambda">AWS Lambda</a></sub>
<br>
<sub></sub>
</td>

</tr>
</table>

## Other (1)
<table><tr>
<td align='center'>
<img width='36' height='36' src='https://img.stackshare.io/service/4631/default_c2062d40130562bdc836c13dbca02d318205a962.png' alt='Shell'>
<br>
<sub><a href="https://en.wikipedia.org/wiki/Shell_script">Shell</a></sub>
<br>
<sub></sub>
</td>

</tr>
</table>


## <img src='https://img.stackshare.io/group.svg' /> Open source packages (20)</h2>

## <img width='24' height='24' src='https://img.stackshare.io/package_manager/977/default_9833f2ef0bbc2a946b4cc5e9307264033361076b.png'/> Apache Maven (20)

|NAME|VERSION|LAST UPDATED|LAST UPDATED BY|LICENSE|VULNERABILITIES|
|:------|:------|:------|:------|:------|:------|
|[com.fasterxml.jackson.core:jackson-annotations](http://github.com/FasterXML/jackson)|v2.14.2|03/02/23|Mark Kuhn |Apache-2.0|N/A|
|[com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core)|v2.14.2|03/02/23|Mark Kuhn |Apache-2.0|N/A|
|[com.fasterxml.jackson.datatype:jackson-datatype-jsr310](https://github.com/FasterXML/jackson-modules-java8)|v2.14.2|03/02/23|Mark Kuhn |Apache-2.0|N/A|
|[com.github.javafaker:javafaker](http://github.com/DiUS/java-faker)|v1.0.2|03/02/23|Mark Kuhn |Apache-2.0|N/A|
|[org.apache.commons:commons-lang3](http://commons.apache.org/proper/commons-lang/)|v3.12.0|03/02/23|Mark Kuhn |Apache-2.0|N/A|
|[org.apache.logging.log4j:log4j-api](https://logging.apache.org/log4j/2.x/)|v2.13.3|09/16/22|Mark Kuhn |Apache-2.0|[CVE-2021-45046](https://github.com/advisories/GHSA-7rjr-3q55-vv33) (Critical)<br/>[CVE-2021-44228](https://github.com/advisories/GHSA-jfh8-c2jp-5v3q) (Critical)<br/>[CVE-2021-45105](https://github.com/advisories/GHSA-p6xc-xr62-6r2g) (High)<br/>[CVE-2021-44832](https://github.com/advisories/GHSA-8489-44mv-ggj8) (Moderate)|
|[org.apache.logging.log4j:log4j-core](https://logging.apache.org/log4j/2.x/)|v2.13.3|09/16/22|Mark Kuhn |Apache-2.0|[CVE-2021-45046](https://github.com/advisories/GHSA-7rjr-3q55-vv33) (Critical)<br/>[CVE-2021-44228](https://github.com/advisories/GHSA-jfh8-c2jp-5v3q) (Critical)<br/>[CVE-2021-45105](https://github.com/advisories/GHSA-p6xc-xr62-6r2g) (High)<br/>[CVE-2021-44832](https://github.com/advisories/GHSA-8489-44mv-ggj8) (Moderate)|
|[org.apache.logging.log4j:log4j-slf4j-impl]()|v2.13.3|09/16/22|Mark Kuhn |Apache-2.0|N/A|
|[org.javatuples:javatuples](http://www.javatuples.org)|v1.2|03/02/23|Mark Kuhn |Apache-2.0|N/A|
|[org.junit.jupiter:junit-jupiter-api](https://junit.org/junit5/)|v5.9.2|03/02/23|Mark Kuhn |EPL-2.0|N/A|
|[org.junit.jupiter:junit-jupiter-engine](https://junit.org/junit5/)|v5.9.2|03/02/23|Mark Kuhn |EPL-2.0|N/A|
|[org.junit.jupiter:junit-jupiter-params](https://junit.org/junit5/)|v5.9.2|03/02/23|Mark Kuhn |EPL-2.0|N/A|
|[org.junit.vintage:junit-vintage-engine](https://junit.org/junit5/)|v5.9.2|03/02/23|Mark Kuhn |EPL-2.0|N/A|
|[org.openjdk.jmh:jmh-core]()|v1.36|03/02/23|Mark Kuhn |GPL-3.0-only,GPL-2.0-with-classpath-exception|N/A|
|[org.openjdk.jmh:jmh-generator-annprocess]()|v1.36|03/02/23|Mark Kuhn |GPL-3.0-only,GPL-2.0-with-classpath-exception|N/A|
|[org.powermock:powermock-api-mockito2](http://www.powermock.org)|v2.0.9|03/02/23|Mark Kuhn |Apache-2.0|N/A|
|[org.powermock:powermock-module-junit4](http://www.powermock.org)|v2.0.9|03/02/23|Mark Kuhn |Apache-2.0|N/A|
|[org.projectlombok:lombok](https://projectlombok.org)|v1.18.12|03/02/23|Mark Kuhn |MIT|N/A|
|[org.slf4j:slf4j-api](http://www.slf4j.org)|v2.0.6|03/02/23|Mark Kuhn |MIT|N/A|
|[software.amazon.awssdk:cloudwatch](https://aws.amazon.com/sdkforjava)|v2.20.13|03/02/23|Mark Kuhn |N/A|N/A|

<br/>
<div align='center'>

Generated via [Stack File](https://github.com/marketplace/stack-file)
Loading