Pixwel logs
Telemetry
We have many sources of telemetry:- AWS CloudWatch
- DataDog
- PaperTrail
- NewRelic
CloudWatch
We use CloudWatch to record metrics on the application. There are two types of metrics:- One off event. E.g. “someone logged in”. We can average these out to determine “14 people logged in in the last 5 minutes” and derive a “LoginRate” metric. This approach will be familiar to anyone used to the StatsD/Librato type of approach.
- A metric. Think of this as a gauge or a meter that we can read. This is things like “number of open work requests”. See
GatherKpis.phpfor the main bulk of the collection of metrics.
How logs are shipped
ECS/Fargate services send their container logs to AWS CloudWatch Logs via theawslogs driver configured in each ecs-*.service.yml. From CloudWatch they may be forwarded on to PaperTrail / DataDog.
For local development, logs go to the container’s stdout — view them with docker-compose logs -f app (and the worker services).
The legacy approach (a radify base-box Ansible role wrapping PaperTrail’s remote_syslog in an init.d service, fed by rsyslog on Ubuntu nodes) is no longer used.
Special case for the “magic closet”
The “magic closet” runs on OSX, not Ubuntu, is not provisioned through immutable infrastructure so any changes around logging must be made manually - see slurpee and services for more details on this setup.Ingest logs
See the ingest documentation for details.Back to docs index | Next page in recommended reading order >>