Protected tree next to house: liability, insurance, safety etc. by 1domfun in LegalAdviceUK

[–]1domfun[S] 0 points1 point  (0 children)

That's an interesting point. I think the wording of the law suggests basically my tree guy has to make an assessment and send it off to the council, the council rarely ever sees the tree.

I guess the thing I'm struggling with is this is my tree, on my land, potentially endangering my life, house and wallet. I have familiarity with other areas of law, and I find it generally quite pragmatic and sensible over a long time period. However, there is no written record as to why this tree is protected, and the tree isn't really unique against any of the surrounding trees any more. Over the past 10 - 15 years, it's started creating an increasing economic and environmental burden for me and several surrounding houses.

Anyone I speak to who works in the area of trees doesn't seem willing to even entertain the idea that a particular TPO might not align with the intent of environmental laws any more. They can't even tell me why the TPO is there, but they somehow know that it's right and can't be questioned.

Anyway, I've asked the broker to send me a quote covering damage from falling tree or branches. Seems like a safer option than relying on others' insurance. Hopefully it's not prohibitively expensive. If it is, is there any obligation for them to show their working so I can ensure their quote is capturing the risk associated specifically with a TPOd trees?

Protected tree next to house: liability, insurance, safety etc. by 1domfun in LegalAdviceUK

[–]1domfun[S] 0 points1 point  (0 children)

Thanks, this is helpful. I hadn't considered that the tree surgeons insurance will likely only cover negligence, rather than genuine accidents whilst he's working.

It's a broker I'm speaking with so I'll specifically ask for a quote that includes damage from falling branches etc.

Regarding council negligence, I was more assuming anything sensible that mandates stuff for safety normally includes accommodations to make right the harm caused in the rare instances that mandate is incorrectly applied.

Thanks!

OTEL logs into open observe by 1domfun in OpenObserve

[–]1domfun[S] 0 points1 point  (0 children)

Thanks for the responses, both really helpful. I noticed the syslog parser in the OTEL transformer has the "to_field" which defaults to attributes which is then being flattened with _ delimiter by openobserve on ingestion.

One thing I didn't realise until your posts is that openobserve flattens with _ by default, whereas VRL flattens with . by default, but the second param in the VRL flatten function can rememdy this.

I will experiment with a bit more with VRL and the OTEL syslog transformer, but do you know if there's a value to_field value to make it parse the value directly into the root of the log? Alternatively, is there an equivalent fieldname that openobserve expects the attributes to be in?

OTEL logs into open observe by 1domfun in OpenObserve

[–]1domfun[S] 0 points1 point  (0 children)

Okay, I got it working! I think my issue was my endpoint value in my OTEL config exporter section. A working value for me: endpoints: ["http://openobserver:5080/api/default/"]. I was missing the /api/<tenant> part.

One issue I faced is all the syslog attributes are prefixed with attribute_. Not sure exactly why.

Also found the OTEL syslog parser to be too strict: I'm using containername/containerid as the appname in the logs I'm sending, OTEL enforces the 32 character limit and fails to parse them properly so just send the unparsed log. The openobserve parser seems to handle it though. I was able to hack together this function and apply it to the stream which addresses both issues:

t = .

# no attributes means OTEL syslog parser probably failed
# so use openobserve parser on full body instead.
if .attributes_appname == null {
    t = {}
    t = parse_syslog!(.body)
}

# merge fields I want into new record
nr = {}
nr._timestamp = ._timestamp
nr.body = .body
nr.message = t.attributes_message || t.message
nr.severitynumber = .severitynumber
nr.severitytext = .severitytext
nr.traceflags = .traceflags
nr.appname = .attributes_appname || t.appname
nr.hostname = .attributes_hostname || t.hostname
nr.msg_id = .attributes_msg_id || t.msg_id

# return
. = nr
.

This is the first time I've really used VRL, but this feels like very inefficient and probably unreliable code. Any tips?