2019-04-09 14:39:42 -04:00
# MinIO Logging Quickstart Guide [![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io)
This document explains how to configure MinIO server to log to different logging targets.
2018-11-02 21:40:08 -04:00
## Log Targets
2019-04-09 14:39:42 -04:00
MinIO supports currently two target types
2018-11-02 21:40:08 -04:00
- console
- http
### Console Target
2019-10-23 01:59:13 -04:00
Console target is on always and cannot be disabled.
### HTTP Target
HTTP target logs to a generic HTTP endpoint in JSON format and is not enabled by default. To enable HTTP target logging you would have to update your MinIO server configuration using `mc admin config set` command.
2018-11-02 21:40:08 -04:00
2019-04-09 14:39:42 -04:00
Assuming `mc` is already [configured ](https://docs.min.io/docs/minio-client-quickstart-guide.html )
2018-11-02 21:40:08 -04:00
```
2019-11-13 20:38:05 -05:00
mc admin config get myminio/ logger_webhook
2019-12-06 16:53:51 -05:00
logger_webhook:name1 auth_token="" endpoint=""
2018-11-02 21:40:08 -04:00
```
```
2019-12-06 16:53:51 -05:00
mc admin config set myminio logger_webhook:name1 auth_token="" endpoint="http://endpoint:port/path"
2019-10-23 01:59:13 -04:00
mc admin service restart myminio
2018-11-02 21:40:08 -04:00
```
2019-10-23 01:59:13 -04:00
NOTE: `http://endpoint:port/path` is a placeholder value to indicate the URL format, please change this accordingly as per your configuration.
2018-11-02 21:40:08 -04:00
2019-10-23 01:59:13 -04:00
MinIO also honors environment variable for HTTP target logging as shown below, this setting will override the endpoint settings in the MinIO server config.
2018-11-02 21:40:08 -04:00
```
2019-12-04 18:32:37 -05:00
export MINIO_LOGGER_WEBHOOK_ENABLE_target1="on"
2019-11-13 20:38:05 -05:00
export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_target1="token"
export MINIO_LOGGER_WEBHOOK_ENDPOINT_target1=http://localhost:8080/minio/logs
2019-10-23 01:59:13 -04:00
minio server /mnt/data
2018-11-02 21:40:08 -04:00
```
2019-10-23 01:59:13 -04:00
## Audit Targets
Assuming `mc` is already [configured ](https://docs.min.io/docs/minio-client-quickstart-guide.html )
2018-11-02 21:40:08 -04:00
```
2019-11-13 20:38:05 -05:00
mc admin config get myminio/ audit_webhook
2019-12-06 16:53:51 -05:00
audit_webhook:name1 auth_token="" endpoint=""
2018-11-02 21:40:08 -04:00
```
```
2019-12-06 16:53:51 -05:00
mc admin config set myminio audit_webhook:name1 auth_token="" endpoint="http://endpoint:port/path"
2019-10-23 01:59:13 -04:00
mc admin service restart myminio
2018-11-02 21:40:08 -04:00
```
2019-10-23 01:59:13 -04:00
NOTE: `http://endpoint:port/path` is a placeholder value to indicate the URL format, please change this accordingly as per your configuration.
MinIO also honors environment variable for HTTP target Audit logging as shown below, this setting will override the endpoint settings in the MinIO server config.
2018-11-02 21:40:08 -04:00
```
2019-12-04 18:32:37 -05:00
export MINIO_AUDIT_WEBHOOK_ENABLE_target1="on"
2019-11-13 20:38:05 -05:00
export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_target1="token"
export MINIO_AUDIT_WEBHOOK_ENDPOINT_target1=http://localhost:8080/minio/logs
2019-10-23 01:59:13 -04:00
minio server /mnt/data
2018-11-02 21:40:08 -04:00
```
Setting this environment variable automatically enables audit logging to the HTTP target. The audit logging is in JSON format as described below.
2020-05-19 21:34:02 -04:00
NOTE: `timeToFirstByte` and `timeToResponse` will be expressed in Nanoseconds.
2018-11-02 21:40:08 -04:00
```json
{
"version": "1",
2019-08-12 23:32:34 -04:00
"deploymentid": "bc0e4d1e-bacc-42eb-91ad-2d7f3eacfa8d",
"time": "2019-08-12T21:34:37.187817748Z",
2018-11-02 21:40:08 -04:00
"api": {
2018-11-21 23:03:24 -05:00
"name": "PutObject",
2019-08-12 23:32:34 -04:00
"bucket": "testbucket",
"object": "hosts",
2018-11-21 23:03:24 -05:00
"status": "OK",
2019-08-12 23:32:34 -04:00
"statusCode": 200,
2020-05-19 21:34:02 -04:00
"timeToFirstByte": "366333ns",
"timeToResponse": "16438202ns"
2018-11-02 21:40:08 -04:00
},
"remotehost": "127.0.0.1",
2019-08-12 23:32:34 -04:00
"requestID": "15BA4A72C0C70AFC",
"userAgent": "MinIO (linux; amd64) minio-go/v6.0.32 mc/2019-08-12T18:27:13Z",
2018-11-02 21:40:08 -04:00
"requestHeader": {
2019-08-12 23:32:34 -04:00
"Authorization": "AWS4-HMAC-SHA256 Credential=minio/20190812/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-decoded-content-length,Signature=d3f02a6aeddeb29b06e1773b6a8422112890981269f2463a26f307b60423177c",
"Content-Length": "686",
2018-11-21 23:03:24 -05:00
"Content-Type": "application/octet-stream",
2019-08-12 23:32:34 -04:00
"User-Agent": "MinIO (linux; amd64) minio-go/v6.0.32 mc/2019-08-12T18:27:13Z",
2018-11-21 23:03:24 -05:00
"X-Amz-Content-Sha256": "STREAMING-AWS4-HMAC-SHA256-PAYLOAD",
2019-08-12 23:32:34 -04:00
"X-Amz-Date": "20190812T213437Z",
"X-Amz-Decoded-Content-Length": "512"
2018-11-02 21:40:08 -04:00
},
"responseHeader": {
"Accept-Ranges": "bytes",
2019-08-12 23:32:34 -04:00
"Content-Length": "0",
2018-11-02 21:40:08 -04:00
"Content-Security-Policy": "block-all-mixed-content",
2019-08-12 23:32:34 -04:00
"ETag": "a414c889dc276457bd7175f974332cb0-1",
"Server": "MinIO/DEVELOPMENT.2019-08-12T21-28-07Z",
2018-11-02 21:40:08 -04:00
"Vary": "Origin",
2019-08-12 23:32:34 -04:00
"X-Amz-Request-Id": "15BA4A72C0C70AFC",
2018-11-02 21:40:08 -04:00
"X-Xss-Protection": "1; mode=block"
}
}
```
## Explore Further
2019-04-09 14:39:42 -04:00
* [MinIO Quickstart Guide ](https://docs.min.io/docs/minio-quickstart-guide )
* [Configure MinIO Server with TLS ](https://docs.min.io/docs/how-to-secure-access-to-minio-server-with-tls )