-
Notifications
You must be signed in to change notification settings - Fork 33
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
Add aws-otel-collector #50
Conversation
packages/aws-otel-collector/aws-otel-collector-default-config.yaml
Outdated
Show resolved
Hide resolved
packages/aws-otel-collector/aws-otel-collector-default-config.yaml
Outdated
Show resolved
Hide resolved
packages/aws-otel-collector/aws-otel-collector-default-config.yaml
Outdated
Show resolved
Hide resolved
Version: 0.40.0 | ||
Release: 1%{?dist} | ||
Summary: An AWS supported service to send telemetry data | ||
License: Apache-2.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This license statement seems incorrect. You can run askalono crawl .
in a directory with all the unpacked sources to get its verdict (askalono). But you are probably looking at an aggregation of all the licenses in THIRD-PARTY-LICENSES.txt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. I based this off the Linux build.spec
file offered by the collector repo: https://github.com/aws-observability/aws-otel-collector/blob/main/tools/packaging/linux/build.spec#L5
When I run askalono crawl . | grep License: | sort | uniq
on the unpacked collector directory, I get the following excluding errors:
License: Apache-2.0 (license header)
License: Apache-2.0 (original text)
License: BSD-2-Clause (original text)
License: BSD-2-Clause-Views (original text)
License: BSD-3-Clause (original text)
License: CC-BY-SA-4.0 (original text)
License: ISC (original text)
License: MIT (original text)
License: MPL-2.0 (original text)
Given the license header is listed as Apache-2.0
, is this correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Went through all the licenses in the THIRD-PARTY file and aggregated this:
License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND MPL-2.0
extensions: | ||
health_check: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not entirely sure it makes sense to ship a config at all here, but if we do then it should be a bare minimum - just the most basic one possible with all optional functionality turned off.
The awsxray, awsemf, http stuff I would cut.
Downstream variants can pretty easily specify a different config file via systemd unit drop-in that overrides the ExecStart command to point to their custom config or rendered template.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe the collector requires some sort of config which specifies receivers, processors, and exporters; otherwise it will fail. I tried creating a patch to make the config optional but it causes the collector to fail with invalid configuration errors with ResolverSettings, which is an import from the general OTEL collector pkg.
I've created a minimalist config based on possible core (non-aws specific) components which the collector still functions with here: https://gist.github.com/koooosh/8cddd42a91657552af4709b5d1157bef
Let me know if you notice anything off-putting in that.
a57b0aa
to
3aa8a8d
Compare
Force push addresses @bcressey comments:
|
packages/aws-otel-collector/0001-logger-change-collector-log-file-path.patch
Outdated
Show resolved
Hide resolved
3aa8a8d
to
15bb5d7
Compare
Force push addresses @arnaldo2792 comments:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked through this, and especially looked through the remaining conversations on the pull request, and it looks good to me.
packages/aws-otel-collector/0001-change-logger-and-extraconfig-file-paths.patch
Show resolved
Hide resolved
Signed-off-by: Kush Upadhyay <kushupad@amazon.com>
Signed-off-by: Kush Upadhyay <kushupad@amazon.com>
15bb5d7
to
d2f348d
Compare
Force push updates the following:
|
Issue number: #52
Closes #52
Description of changes:
This change adds the
aws-otel-collector
package to the core-kit to be used by our downstream customers. Specifically, it includes the following:aws-otel-collector.spec
which provides non-FIPS and FIPS versions of the collector binaryCargo.toml
for the new packageaws-otel-collector.service
which is the systemd service for the collector. This is similar to the default service with the following changes:EnvironmentFile
field and providing the config path directly inExecStart
. This way if downstream customers want to provide their own config, they just have to add a drop-in unit updating theExecStart
field.Restart
fromon-failure
toalways
just for safetyRestartSec
from 60s to 5sUser
andGroup
fields since they are unnecessarynetwork.target
tonetwork-online.target configured.target
in relevant settingsaws-otel-collector.yaml
which is a minimal config needed for the collector to runaws-otel-collector-tmpfiles.conf
to install above config in/etc
rather than the default/opt
0001-change-logger-and-extraconfig-file-paths.patch
to change the log and extraconfig file paths from/opt
to/var/log
and/etc
, respectivelybottlerocket-core-kit/Cargo.toml
and rootCargo.toml
andCargo.lock
to add the aws-otel-collector to the kitTesting done:
Launched an
aws-dev
variant instance with theaws-otel-collector
package added and verified the following:/etc
:/var/log
:Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.