imgproxy can send its metrics to AmazonCloudFront. To use this feature, do the following:
IMGPROXY_CLOUD_WATCH_SERVICE_NAME environment variable. imgproxy will use the value of this variable as a value for the ServiceName dimension.IMGPROXY_CLOUD_WATCH_REGION or AWS_REGION. Default: us-west-1IMGPROXY_CLOUD_WATCH_NAMESPACE environment variable to be the desired CloudWatch namespace. Default: imgproxyimgproxy sends the following metrics to CloudWatch:
RequestsInProgress: the number of requests currently in progressImagesInProgress: the number of images currently in progressConcurrencyUtilization: the percentage of imgproxy's concurrency utilization. Calculated as RequestsInProgress / IMGPROXY_CONCURRENCY * 100BufferSize: a summary of the download buffers sizes (in bytes)BufferDefaultSize: calibrated default buffer size (in bytes)BufferMaxSize: calibrated maximum buffer size (in bytes)VipsMemory: libvips memory usage (in bytes)VipsMaxMemory: libvips maximum memory usage (in bytes)VipsAllocs: the number of active vips allocationsThere are three ways to specify your AWS credentials. The credentials need to have rights to write metrics to CloudWatch:
If you're running imgproxy on an Amazon Web Services platform, you can use IAM roles to to get the security credentials to make calls to AWS CloudWatch.
You can specify an AWS Access Key ID and a Secret Access Key by setting the standard AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables.
AWS_ACCESS_KEY_ID=my_access_key AWS_SECRET_ACCESS_KEY=my_secret_key imgproxy
# same for Docker
docker run -e AWS_ACCESS_KEY_ID=my_access_key -e AWS_SECRET_ACCESS_KEY=my_secret_key -it darthsim/imgproxy
This is the recommended method when using dockerized imgproxy.
Alternatively, you can create the .aws/credentials file in your home directory with the following content:
[default]
aws_access_key_id = %access_key_id
aws_secret_access_key = %secret_access_key