clearcodehq / go-forward Goto Github PK
View Code? Open in Web Editor NEWAWS Cloudwatch Logs forwarder
License: Other
AWS Cloudwatch Logs forwarder
License: Other
AWS does not limit number of streams.
Possible variables:
This solution will prevent #12
When SIGINT
is received, program should:
Caused when multiple clients send at the same time to same log group and stream. Can be fixed by exponential backoff
We need to pin dependencies in some way in order to have same dependency version across builds.
Cloudwatch logs have certain constraints for putLogEvents
action:
putLogEventsDelay
call.sequenceToken
must change in order to successfully send messages. Otherwise DataAlreadyAcceptedException
is returned as an error.sequenceToken
is assigned for each log stream.Problem:
How to run a goroutine and know when it finished ?
As syslog messages are sent / forwarded with different fields and formats, config option providing message format is essential.
Assumptions:
This may be implemented using parser.
In README.md
:
Config file location. (default "/etc/logs_agent.cfg")
In main.go
:
const defaultConfigFile = "/etc/awslogs.conf"
[...]
flag.StringVar(&cfgfile, "c", defaultConfigFile, "Config file location.")
Which should be used?
I have seen /etc/awslogs.conf
used by a different package with a different content, probably /etc/logs_agent.cfg
is more unique. Or name it /etc/go_forward.cfg
?
I don't see where we specify that the LGPL applies, but we should include the GPL too: LGPL3 works as an additional permission and refers to the GPL. See https://www.gnu.org/licenses/gpl-howto.en.html.
Queue size should be configurable.
Formatting a message before sending it may be useful e.g. remove facility and severity because there is no need to store it. Timestamps should always be removed since they are already stored in cloudwatch logs.
Possible implementations:
Depending on receiver, messages may arrive in different formats. We should support formats for different kinds of messages.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.