Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Nicholas Blumhardt
    @nblumhardt
    Hi @KeithBarrows ! Last time we checked (quite recently), VHDs still weren't available for Azure Container Instances :-( .. Has this changed?
    Simon Cropp
    @SimonCropp
    @nblumhardt in the compact format that seq uses. i assume newlines inside the log entry are not allowed. as in non-significant whitespace between json elements eg a newline after a comma (between two key value pairs)?
    Nicholas Blumhardt
    @nblumhardt
    That's correct; the format is newline-delimited so embedded newlines aren't allowed @SimonCropp
    Simon Cropp
    @SimonCropp
    thanks
    Simon Cropp
    @SimonCropp
    Is there any constraints on encoding when logging to seq?
    Nicholas Blumhardt
    @nblumhardt
    @SimonCropp UTF-8 is expected, I think
    Simon Cropp
    @SimonCropp
    That works for me
    Nicholas Blumhardt
    @nblumhardt
    UTF-8 all the things :-)
    Simon Cropp
    @SimonCropp
    @nblumhardt thoughts on this https://github.com/SimonCropp/SeqProxy ?
    Nicholas Blumhardt
    @nblumhardt
    @SimonCropp nice!
    It's not complete, but there could be some ideas to consider in there :-)
    One is that the proxy does level control, so that if the client is e.g. a browser app, some volume can be shed before forwarding to Seq
    Another is that the middleware tags events with a non-overridable Origin property for identification over on the server side
    Mine uses a Serilog logger as the target of the proxy, though, which is a bit more flexible (can use for Seq or anything else, and will aggregate/batch events from multiple clients) but also potentially less efficient
    Might provide some food for thought, anyway
    Simon Cropp
    @SimonCropp
    I used Server instead of origin
    And yeah i didnt that the overhead of deserializing and going through ilogger
    And it means we dont need to talk to the security peeps about exposing seq to the internet :)
    Level control is a nice idea
    Is there any reason why timestamp is required? Why not default to seq server time?
    Nicholas Blumhardt
    @nblumhardt
    @SimonCropp RE timestamp, it's not a great UX when batches of events are sent (they all end up with the same timestamp); on the one hand, it'd be a nice little shortcut to allow it, but on the other hand, it's nicer for users if we make log sources collect the info :-)
    Simon Cropp
    @SimonCropp
    @nblumhardt "they all end up with the same timestamp" but u could fix that with an incrementing timestamp when u get a back server side when u get a batch. and TBH if i was in JS client side i would prob get a timestamp instance and then re-use it. so we havnt prevented that scenario
    Nicholas Blumhardt
    @nblumhardt
    @SimonCropp we use an incrementing arrival order to avoid reorderings even when timestamps are the same, but.. they're still not the real/original timestamps :-) ..
    Simon Cropp
    @SimonCropp
    for anyone else listening, i added samples from JS https://github.com/SimonCropp/SeqProxy#client-side-usage
    Nicholas Blumhardt
    @nblumhardt
    :sparkles:
    Simon Cropp
    @SimonCropp
    image.png
    Keith Barrows
    @KeithBarrows
    @nblumhardt - thanks for the info. Was hoping to avoid spinning up a VM for this. Once we make the decision to move to PROD it does not make sense to have logging in a container. At least not until disk issues are addressed by Azure.
    Another subject: https://blog.datalust.co/smart-logging-middleware-for-asp-net-core/ vs https://nblumhardt.com/2017/03/latency-monitoring/. It seems (to me) that the tracking of HTTP request latency is now built in?
    Keith Barrows
    @KeithBarrows
    image.png
    I'm also getting a Seq Error when trying to save this particular signal:
    Nicholas Blumhardt
    @nblumhardt
    Hi @KeithBarrows !
    Latency measurement is built-in but spread across different events, making it a bit of a pain to analyze/correlate info; I still use that middleware :-)
    RE the failure to save the signal, if you copy that GUID and then search the diagnostic report from Settings > Diagnostics > Download a full diagnostic report you should find some more details
    HTH!
    Keith Barrows
    @KeithBarrows
    What would your recommendations be for Azure hosting right now? Setup a VM with disk then install Seq? I love the idea of a containerized Seq instance but the disk burping randomly just won't do for production... :)
    Nicholas Blumhardt
    @nblumhardt
    Until ACI supports managed disks/VHDs, it's only VMs or Kubernetes on Azure, unfortunately :-(
    Keith Barrows
    @KeithBarrows
    Getting back to "not being able to save signals/dashboard items":
    {"@t":"2019-06-05T13:34:41.1675647Z","@mt":"HTTP {RequestMethod} {RequestPath} responded {StatusCode} in {Elapsed:0.0000} ms","@r":["77.1328"],"@l":"Error","@x":"LightningDB -30795: MDB_PANIC: Update of meta page failed or environment had fatal error","RequestMethod":"PUT","RequestPath":"/api/dashboards/dashboard-14?version=1","StatusCode":500,"Elapsed":77.132787,"ErrorToken":"b9de30e0b6c14e72b6d340d9638fea72","RequestProtocol":"HTTP/1.1","RequestHost":"seqlog.azurewebsites.net","RequestHeaders":{"Content-Type":"application/json; charset=UTF-8","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36","Content-Length":"2524"},"SourceContext":"Seq.Server.Web.Middleware.RequestCompletionMiddleware","RequestId":"0HLMTUGU04JQS:00000001","CorrelationId":null,"ConnectionId":"0HLMTUGU04JQS"}
    I have several of these errors in the diagnostics output...
    Robin Sue
    @Suchiman
    @KeithBarrows btw. you've pasted the link to your seq instance that's publicly reachable
    Keith Barrows
    @KeithBarrows
    thanks @Suchiman :(
    Kristoffer Lindvall
    @kristofferlindvall
    How does Seq load dependencies when loading apps? I have a problem where I try to load an app which depends on Microsoft.ML, but I get the following error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.ML.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The system cannot find the file specified.
    Nicholas Blumhardt
    @nblumhardt
    @kristofferlindvall it's very close to what's in https://github.com/datalust/seqcli/blob/dev/src/SeqCli/Apps/AppLoader.cs
    which you can debug through via the app run command (https://github.com/datalust/seqcli#app-run)
    normally Seq expects that all dependencies are packaged alongside the app assembly; you can see some examples of how this is done for a newer .NET Standard-based app here: https://github.com/datalust/seq-input-healthcheck (both the Build.ps1 and .csproj files are modified to enable it)
    let me know if there's more I can fill in :+1:
    Simon Cropp
    @SimonCropp
    @nblumhardt how do u handle binding redirect issues?
    Kristoffer Lindvall
    @kristofferlindvall
    @nblumhardt Thanks!
    Nicholas Blumhardt
    @nblumhardt