[ceph-users] Re: x-amz-request-id logging with beast + rgw (ceph 15.2.10/containerized)?

2021-05-07 Thread Matt Benjamin
That hasn't been glued up, but likely will be.  Something similar for
k8s has been discussed.  You could certainly use lua to do something
custom.  I suspect lua to customize the canned ops-log will become an
option, too.

Matt

On Fri, May 7, 2021 at 5:51 PM David Orman  wrote:
>
> Has anyone figured out an elegant way to emit this from inside cephadm
> managed/containerized ceph, so it can be handled via the host's
> journald and processed/shipped? We had gone down that path before, but
> decided to hold off on the suggestion that the LUA-based scripting
> might be a better option.
>
> David
>
> On Fri, May 7, 2021 at 4:21 PM Matt Benjamin  wrote:
> >
> > Hi David,
> >
> > I think the solution is most likely the ops log.  It is called for
> > every op, and has the transaction id.
> >
> > Matt
> >
> > On Fri, May 7, 2021 at 4:58 PM David Orman  wrote:
> > >
> > > Hi Yuval,
> > >
> > > We've managed to get an upgrade done with the 16.2.3 release in a
> > > testing cluster, and we've been able to implement some of the logging
> > > I need via this mechanism, but the logs are emitted only when
> > > debug_rgw is set to 20. I don't need to log any of that level of data
> > > (we used centralized logging and the sheer volume of this output is
> > > staggering); I'm just trying to get the full request log, to include
> > > the transactionID, so I can match it up with the logging we do on our
> > > load balancer solution. Is there another mechanism to emit these logs
> > > at normal log levels? RGWDebugLog() doesn't appear to be what I'm
> > > actually looking for. My intent is to emit JSON logs using this
> > > mechanism, in the end, with all of the required fields for requests.
> > > The current "beast: " log lines don't contain the information we need,
> > > such as txid, which is what we're attempting to solve for - but can't
> > > afford to have full debug logging enabled in production clusters.
> > >
> > > Thanks!
> > > David
> > >
> > > On Thu, Apr 1, 2021 at 11:21 AM Yuval Lifshitz  
> > > wrote:
> > > >
> > > > Hi David,
> > > > Don't have any good idea for "octopus" (other than ops log), but you 
> > > > can do that (and more) in "pacific" using lua scripting on the RGW:
> > > > https://docs.ceph.com/en/pacific/radosgw/lua-scripting/
> > > >
> > > > Yuval
> > > >
> > > > On Thu, Apr 1, 2021 at 7:11 PM David Orman  wrote:
> > > >>
> > > >> Hi,
> > > >>
> > > >> Is there any way to log the x-amz-request-id along with the request in
> > > >> the rgw logs? We're using beast and don't see an option in the
> > > >> configuration documentation to add headers to the request lines. We
> > > >> use centralized logging and would like to be able to search all layers
> > > >> of the request path (edge, lbs, ceph, etc) with a x-amz-request-id.
> > > >>
> > > >> Right now, all we see is this:
> > > >>
> > > >> debug 2021-04-01T15:55:31.105+ 7f54e599b700  1 beast:
> > > >> 0x7f5604c806b0: x.x.x.x - - [2021-04-01T15:55:31.105455+] "PUT
> > > >> /path/object HTTP/1.1" 200 556 - "aws-sdk-go/1.36.15 (go1.15.3; linux;
> > > >> amd64)" -
> > > >>
> > > >> We've also tried this:
> > > >>
> > > >> ceph config set global rgw_enable_ops_log true
> > > >> ceph config set global rgw_ops_log_socket_path /tmp/testlog
> > > >>
> > > >> After doing this, inside the rgw container, we can socat -
> > > >> UNIX-CONNECT:/tmp/testlog and see the log entries being recorded that
> > > >> we want, but there has to be a better way to do this, where the logs
> > > >> are emitted like the request logs above by beast, so that we can
> > > >> handle it using journald. If there's an alternative that would
> > > >> accomplish the same thing, we're very open to suggestions.
> > > >>
> > > >> Thank you,
> > > >> David
> > > >> ___
> > > >> ceph-users mailing list -- ceph-users@ceph.io
> > > >> To unsubscribe send an email to ceph-users-le...@ceph.io
> > > >>
> > > ___
> > > ceph-users mailing list -- ceph-users@ceph.io
> > > To unsubscribe send an email to ceph-users-le...@ceph.io
> > >
> > >
> >
> >
> > --
> >
> > Matt Benjamin
> > Red Hat, Inc.
> > 315 West Huron Street, Suite 140A
> > Ann Arbor, Michigan 48103
> >
> > http://www.redhat.com/en/technologies/storage
> >
> > tel.  734-821-5101
> > fax.  734-769-8938
> > cel.  734-216-5309
> >
>


-- 

Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-821-5101
fax.  734-769-8938
cel.  734-216-5309
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: x-amz-request-id logging with beast + rgw (ceph 15.2.10/containerized)?

2021-05-07 Thread David Orman
Has anyone figured out an elegant way to emit this from inside cephadm
managed/containerized ceph, so it can be handled via the host's
journald and processed/shipped? We had gone down that path before, but
decided to hold off on the suggestion that the LUA-based scripting
might be a better option.

David

On Fri, May 7, 2021 at 4:21 PM Matt Benjamin  wrote:
>
> Hi David,
>
> I think the solution is most likely the ops log.  It is called for
> every op, and has the transaction id.
>
> Matt
>
> On Fri, May 7, 2021 at 4:58 PM David Orman  wrote:
> >
> > Hi Yuval,
> >
> > We've managed to get an upgrade done with the 16.2.3 release in a
> > testing cluster, and we've been able to implement some of the logging
> > I need via this mechanism, but the logs are emitted only when
> > debug_rgw is set to 20. I don't need to log any of that level of data
> > (we used centralized logging and the sheer volume of this output is
> > staggering); I'm just trying to get the full request log, to include
> > the transactionID, so I can match it up with the logging we do on our
> > load balancer solution. Is there another mechanism to emit these logs
> > at normal log levels? RGWDebugLog() doesn't appear to be what I'm
> > actually looking for. My intent is to emit JSON logs using this
> > mechanism, in the end, with all of the required fields for requests.
> > The current "beast: " log lines don't contain the information we need,
> > such as txid, which is what we're attempting to solve for - but can't
> > afford to have full debug logging enabled in production clusters.
> >
> > Thanks!
> > David
> >
> > On Thu, Apr 1, 2021 at 11:21 AM Yuval Lifshitz  wrote:
> > >
> > > Hi David,
> > > Don't have any good idea for "octopus" (other than ops log), but you can 
> > > do that (and more) in "pacific" using lua scripting on the RGW:
> > > https://docs.ceph.com/en/pacific/radosgw/lua-scripting/
> > >
> > > Yuval
> > >
> > > On Thu, Apr 1, 2021 at 7:11 PM David Orman  wrote:
> > >>
> > >> Hi,
> > >>
> > >> Is there any way to log the x-amz-request-id along with the request in
> > >> the rgw logs? We're using beast and don't see an option in the
> > >> configuration documentation to add headers to the request lines. We
> > >> use centralized logging and would like to be able to search all layers
> > >> of the request path (edge, lbs, ceph, etc) with a x-amz-request-id.
> > >>
> > >> Right now, all we see is this:
> > >>
> > >> debug 2021-04-01T15:55:31.105+ 7f54e599b700  1 beast:
> > >> 0x7f5604c806b0: x.x.x.x - - [2021-04-01T15:55:31.105455+] "PUT
> > >> /path/object HTTP/1.1" 200 556 - "aws-sdk-go/1.36.15 (go1.15.3; linux;
> > >> amd64)" -
> > >>
> > >> We've also tried this:
> > >>
> > >> ceph config set global rgw_enable_ops_log true
> > >> ceph config set global rgw_ops_log_socket_path /tmp/testlog
> > >>
> > >> After doing this, inside the rgw container, we can socat -
> > >> UNIX-CONNECT:/tmp/testlog and see the log entries being recorded that
> > >> we want, but there has to be a better way to do this, where the logs
> > >> are emitted like the request logs above by beast, so that we can
> > >> handle it using journald. If there's an alternative that would
> > >> accomplish the same thing, we're very open to suggestions.
> > >>
> > >> Thank you,
> > >> David
> > >> ___
> > >> ceph-users mailing list -- ceph-users@ceph.io
> > >> To unsubscribe send an email to ceph-users-le...@ceph.io
> > >>
> > ___
> > ceph-users mailing list -- ceph-users@ceph.io
> > To unsubscribe send an email to ceph-users-le...@ceph.io
> >
> >
>
>
> --
>
> Matt Benjamin
> Red Hat, Inc.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://www.redhat.com/en/technologies/storage
>
> tel.  734-821-5101
> fax.  734-769-8938
> cel.  734-216-5309
>
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: x-amz-request-id logging with beast + rgw (ceph 15.2.10/containerized)?

2021-05-07 Thread Matt Benjamin
Hi David,

I think the solution is most likely the ops log.  It is called for
every op, and has the transaction id.

Matt

On Fri, May 7, 2021 at 4:58 PM David Orman  wrote:
>
> Hi Yuval,
>
> We've managed to get an upgrade done with the 16.2.3 release in a
> testing cluster, and we've been able to implement some of the logging
> I need via this mechanism, but the logs are emitted only when
> debug_rgw is set to 20. I don't need to log any of that level of data
> (we used centralized logging and the sheer volume of this output is
> staggering); I'm just trying to get the full request log, to include
> the transactionID, so I can match it up with the logging we do on our
> load balancer solution. Is there another mechanism to emit these logs
> at normal log levels? RGWDebugLog() doesn't appear to be what I'm
> actually looking for. My intent is to emit JSON logs using this
> mechanism, in the end, with all of the required fields for requests.
> The current "beast: " log lines don't contain the information we need,
> such as txid, which is what we're attempting to solve for - but can't
> afford to have full debug logging enabled in production clusters.
>
> Thanks!
> David
>
> On Thu, Apr 1, 2021 at 11:21 AM Yuval Lifshitz  wrote:
> >
> > Hi David,
> > Don't have any good idea for "octopus" (other than ops log), but you can do 
> > that (and more) in "pacific" using lua scripting on the RGW:
> > https://docs.ceph.com/en/pacific/radosgw/lua-scripting/
> >
> > Yuval
> >
> > On Thu, Apr 1, 2021 at 7:11 PM David Orman  wrote:
> >>
> >> Hi,
> >>
> >> Is there any way to log the x-amz-request-id along with the request in
> >> the rgw logs? We're using beast and don't see an option in the
> >> configuration documentation to add headers to the request lines. We
> >> use centralized logging and would like to be able to search all layers
> >> of the request path (edge, lbs, ceph, etc) with a x-amz-request-id.
> >>
> >> Right now, all we see is this:
> >>
> >> debug 2021-04-01T15:55:31.105+ 7f54e599b700  1 beast:
> >> 0x7f5604c806b0: x.x.x.x - - [2021-04-01T15:55:31.105455+] "PUT
> >> /path/object HTTP/1.1" 200 556 - "aws-sdk-go/1.36.15 (go1.15.3; linux;
> >> amd64)" -
> >>
> >> We've also tried this:
> >>
> >> ceph config set global rgw_enable_ops_log true
> >> ceph config set global rgw_ops_log_socket_path /tmp/testlog
> >>
> >> After doing this, inside the rgw container, we can socat -
> >> UNIX-CONNECT:/tmp/testlog and see the log entries being recorded that
> >> we want, but there has to be a better way to do this, where the logs
> >> are emitted like the request logs above by beast, so that we can
> >> handle it using journald. If there's an alternative that would
> >> accomplish the same thing, we're very open to suggestions.
> >>
> >> Thank you,
> >> David
> >> ___
> >> ceph-users mailing list -- ceph-users@ceph.io
> >> To unsubscribe send an email to ceph-users-le...@ceph.io
> >>
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io
>
>


-- 

Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-821-5101
fax.  734-769-8938
cel.  734-216-5309
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: x-amz-request-id logging with beast + rgw (ceph 15.2.10/containerized)?

2021-05-07 Thread David Orman
Hi Yuval,

We've managed to get an upgrade done with the 16.2.3 release in a
testing cluster, and we've been able to implement some of the logging
I need via this mechanism, but the logs are emitted only when
debug_rgw is set to 20. I don't need to log any of that level of data
(we used centralized logging and the sheer volume of this output is
staggering); I'm just trying to get the full request log, to include
the transactionID, so I can match it up with the logging we do on our
load balancer solution. Is there another mechanism to emit these logs
at normal log levels? RGWDebugLog() doesn't appear to be what I'm
actually looking for. My intent is to emit JSON logs using this
mechanism, in the end, with all of the required fields for requests.
The current "beast: " log lines don't contain the information we need,
such as txid, which is what we're attempting to solve for - but can't
afford to have full debug logging enabled in production clusters.

Thanks!
David

On Thu, Apr 1, 2021 at 11:21 AM Yuval Lifshitz  wrote:
>
> Hi David,
> Don't have any good idea for "octopus" (other than ops log), but you can do 
> that (and more) in "pacific" using lua scripting on the RGW:
> https://docs.ceph.com/en/pacific/radosgw/lua-scripting/
>
> Yuval
>
> On Thu, Apr 1, 2021 at 7:11 PM David Orman  wrote:
>>
>> Hi,
>>
>> Is there any way to log the x-amz-request-id along with the request in
>> the rgw logs? We're using beast and don't see an option in the
>> configuration documentation to add headers to the request lines. We
>> use centralized logging and would like to be able to search all layers
>> of the request path (edge, lbs, ceph, etc) with a x-amz-request-id.
>>
>> Right now, all we see is this:
>>
>> debug 2021-04-01T15:55:31.105+ 7f54e599b700  1 beast:
>> 0x7f5604c806b0: x.x.x.x - - [2021-04-01T15:55:31.105455+] "PUT
>> /path/object HTTP/1.1" 200 556 - "aws-sdk-go/1.36.15 (go1.15.3; linux;
>> amd64)" -
>>
>> We've also tried this:
>>
>> ceph config set global rgw_enable_ops_log true
>> ceph config set global rgw_ops_log_socket_path /tmp/testlog
>>
>> After doing this, inside the rgw container, we can socat -
>> UNIX-CONNECT:/tmp/testlog and see the log entries being recorded that
>> we want, but there has to be a better way to do this, where the logs
>> are emitted like the request logs above by beast, so that we can
>> handle it using journald. If there's an alternative that would
>> accomplish the same thing, we're very open to suggestions.
>>
>> Thank you,
>> David
>> ___
>> ceph-users mailing list -- ceph-users@ceph.io
>> To unsubscribe send an email to ceph-users-le...@ceph.io
>>
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: x-amz-request-id logging with beast + rgw (ceph 15.2.10/containerized)?

2021-04-01 Thread Matt Benjamin
Hi Folks,

A Red Hat SA (Mustafa Aydin) suggested, some while back, a concise
formula for relaying ops-log to syslog, basically a script executing

socat unix-connect:/var/run/ceph/opslog,reuseaddr UNIX-CLIENT:/dev/log &

I haven't experimented with it.

Matt

On Thu, Apr 1, 2021 at 12:22 PM Yuval Lifshitz  wrote:
>
> Hi David,
> Don't have any good idea for "octopus" (other than ops log), but you can do
> that (and more) in "pacific" using lua scripting on the RGW:
> https://docs.ceph.com/en/pacific/radosgw/lua-scripting/
>
> Yuval
>
> On Thu, Apr 1, 2021 at 7:11 PM David Orman  wrote:
>
> > Hi,
> >
> > Is there any way to log the x-amz-request-id along with the request in
> > the rgw logs? We're using beast and don't see an option in the
> > configuration documentation to add headers to the request lines. We
> > use centralized logging and would like to be able to search all layers
> > of the request path (edge, lbs, ceph, etc) with a x-amz-request-id.
> >
> > Right now, all we see is this:
> >
> > debug 2021-04-01T15:55:31.105+ 7f54e599b700  1 beast:
> > 0x7f5604c806b0: x.x.x.x - - [2021-04-01T15:55:31.105455+] "PUT
> > /path/object HTTP/1.1" 200 556 - "aws-sdk-go/1.36.15 (go1.15.3; linux;
> > amd64)" -
> >
> > We've also tried this:
> >
> > ceph config set global rgw_enable_ops_log true
> > ceph config set global rgw_ops_log_socket_path /tmp/testlog
> >
> > After doing this, inside the rgw container, we can socat -
> > UNIX-CONNECT:/tmp/testlog and see the log entries being recorded that
> > we want, but there has to be a better way to do this, where the logs
> > are emitted like the request logs above by beast, so that we can
> > handle it using journald. If there's an alternative that would
> > accomplish the same thing, we're very open to suggestions.
> >
> > Thank you,
> > David
> > ___
> > ceph-users mailing list -- ceph-users@ceph.io
> > To unsubscribe send an email to ceph-users-le...@ceph.io
> >
> >
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io
>
>


-- 

Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-821-5101
fax.  734-769-8938
cel.  734-216-5309
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: x-amz-request-id logging with beast + rgw (ceph 15.2.10/containerized)?

2021-04-01 Thread Yuval Lifshitz
Hi David,
Don't have any good idea for "octopus" (other than ops log), but you can do
that (and more) in "pacific" using lua scripting on the RGW:
https://docs.ceph.com/en/pacific/radosgw/lua-scripting/

Yuval

On Thu, Apr 1, 2021 at 7:11 PM David Orman  wrote:

> Hi,
>
> Is there any way to log the x-amz-request-id along with the request in
> the rgw logs? We're using beast and don't see an option in the
> configuration documentation to add headers to the request lines. We
> use centralized logging and would like to be able to search all layers
> of the request path (edge, lbs, ceph, etc) with a x-amz-request-id.
>
> Right now, all we see is this:
>
> debug 2021-04-01T15:55:31.105+ 7f54e599b700  1 beast:
> 0x7f5604c806b0: x.x.x.x - - [2021-04-01T15:55:31.105455+] "PUT
> /path/object HTTP/1.1" 200 556 - "aws-sdk-go/1.36.15 (go1.15.3; linux;
> amd64)" -
>
> We've also tried this:
>
> ceph config set global rgw_enable_ops_log true
> ceph config set global rgw_ops_log_socket_path /tmp/testlog
>
> After doing this, inside the rgw container, we can socat -
> UNIX-CONNECT:/tmp/testlog and see the log entries being recorded that
> we want, but there has to be a better way to do this, where the logs
> are emitted like the request logs above by beast, so that we can
> handle it using journald. If there's an alternative that would
> accomplish the same thing, we're very open to suggestions.
>
> Thank you,
> David
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io
>
>
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io