I am trying to set up log shipper for an app that runs iin an org other than personal. The sink is ClodWatch. I set the following secrets:
fly secrets set \
ORG="<name of the org under which the main app runs>" \
ACCESS_TOKEN="<output of fly tokens create readonly personal>" \
SUBJECT='logs.<name of the main app>.>' \
AWS_ACCESS_KEY_ID="..." \
AWS_SECRET_ACCESS_KEY="..." \
AWS_REGION="..." \
CLOUDWATCH_LOG_GROUP_NAME="..." \
CLOUDWATCH_ENCODING_CODEC='raw_message' \
-a <name of the log shipper app>
In the logs, I see the following error:
2026-09-07T14:37:53.305847Z ERROR vector::topology: Configuration error. error=Source "nats": NATS Connect Error: unexpected line while connecting: Err("Authorization Violation")
Next issue is: My app’s logs are already JSON messages. So I was hoping that setting
CLOUDWATCH_ENCODING_CODEC=‘raw_message’
would cause the raw messages to be logged. I see in CloudWatch that this is not the case. I.e., my app’s JSON Log messages are embedded in another JSON log. How do achieve the desired effect?
CloudWatch I don’t know that well, but, from your earlier thread, it looks like support for raw_message might not be fully tested.
I’d suggest marking the current thread as Solved and then creating a new top-level thread for that separate (and possibly much thornier) problem. The Questions / Help category is the best place for such things.
(If you link to the March thread from the new one, then casual readers will have more context. This will improve the odds that someone will happen to see the solution while glancing through, etc.)
Thanks for the comment! I will follow it. One quick note: It would be good to update the docs in GitHub, which is the instructions I had originally followed.