Ask a Question
Back to All

Seq configuration lost in Docker

Hi, Our docker host went down due to malconfiguration in Seq. Since then we can not reach the host anymore using port 80. It seems that the service is not started with the Seq.json from the /data folder but with a limited version where SEQ does not listens to other ports. If I connect with bash on the docker host, I can not use the config [email protected]:/bin/seq-server# ./Seq config [16:26:52 FTL] Could not "list" config System.IO.IOException: Not a directory at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize) at System.IO.File.InternalReadAllText(String path, Encoding encoding) at System.IO.File.ReadAllText(String path) at Seq.Server.Config.SeqConfig.Read(String filename) at Seq.Server.Cli.ConfigCommand.Run(TextWriter cout) at Seq.Server.Program.Main(String[] args) Aborted (core dumped) How can I verify & make sure that Seq docker is running fine in docker?

Suggestion: Maintain a Chocolatey Package

Hi! Love Seq. Just a quick suggestion: It would be great if you maintained an official Chocolatey package so that I can quickly update Seq via the command line. Octopus Deploy does this and it saves us time maintaining our local Octopus instance.

Its work with windows 7

Hi, My organization, development positions have windows 7 and we would like to examine the product. Installation pen encountered a message that the product supports from windows 8 up. Is there a solution? Thank you

https and http? Can I setup https and http at the same time?

"Attempted to process an empty URI template" error

``` var found = signals.Find(entity => entity.Title == existing.Title); if (found) await connection.Signals.UpdateAsync(found); ``` is throwing **Attempted to process an empty URI template**. ``` at Seq.Api.Model.Link.GetUri(IDictionary`2 parameters) at Seq.Api.Client.SeqApiClient.ResolveLink(ILinked entity, String link, IDictionary`2 parameters) at Seq.Api.Client.SeqApiClient.<PutAsync>d__19`1.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult() at Seq.Api.ResourceGroups.SignalsResourceGroup.<UpdateAsync>d__6.MoveNext() at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() ``` Please could you tell me how I can work around this error? Many thanks!

charting color correlation

I put 2 charts in the dashboard that render the same query one as Pie and one as line. Is there any way to get the colors correlate by key? I tried ordering the results by the grouping key or by count but the colors seem to be picked at random. Also it would be nice if you put an order by in the query that the legend is sorted with that order by or at least an option to do so.

Pie chart with Percentage

Hi Team, Is their a way I can display % in the pie chart rather toggling to the dashboard or have a separate dashboard with Percentage. Please let me know if you need any more information to add. Thanks & Regards, Sarfraz.

High CPU Load / FLARE extent xxx is temporarily read-only

Hello, one day last week and today we had an unusal high CPU-Load on our Seq-Server (nearly 100% for multiple hours). A "normal" load for us would be 20%. I noticed a lot of log entries in the ingestion log like this: ``` {"@t":"2020-01-21T04:23:46.0650812Z","@mt":"Exception raised when writing to event storage","@l":"Debug","@x":"Flare.FlareCapacityException: The FLARE extent 2020-01-15T00:00:00.0000000Z is temporarily read-only.\r\n at Flare.Storage.Native.FlareStorageExtent.AcquireWriteLock()\r\n at Flare.Storage.Native.FlareStorageExtent.Add(StructuredEvent[] events, Boolean lazyFlush)\r\n at Flare.Events.EventStore.Add(StorageEventCreationData[] eventsCreationData, Boolean lazyFlush)\r\n at Flare.Queries.DataStore.Add(StorageEventCreationData[] eventsCreationData, Boolean lazyFlush)\r\n at Seq.Server.Web.Api.RawEventsController.Ingest()","SourceContext":"Seq.Server.Web.Api.EventsController"} ``` I will provide the full logs via E-Mail. I am suspecting maybe our VM-Backup-Solution to try to make a backup, but I am not sure. Could it be something else? After some hours, the server went back to normal operation without any intervention from us. Thank you for your help.

Adding initial user when enabling AAD auth using Seq API

I have a new Seq instance (totally unconfigured) and trying to configure AAD auth using Seq API. When adding AAD auth to Seq manually using the GUI, it requires you to enter Tenant ID, Client ID, Client Key and an initial user, which I have. When I try to add an initial user: ``` var connection = new SeqConnection(serverUrl, apiKey); await connection.Users.AddAsync(initialUser); ``` This throws **400 - A password is required.** And when I do: ``` await connection.Settings.UpdateAsync(/*AzureADTenantId setting*/); await connection.Settings.UpdateAsync(/*AzureADClientId setting*/); await connection.Settings.UpdateAsync(/*AzureADClientKey setting*/); await connection.Settings.UpdateAsync(/*IsActiveDirectoryAuthentication setting*/); ``` This updates these settings OK. Seq will ask me to log in, however I will not have the initial user created at this point and therefore am unable to do so. How can I setup AAD auth and add the initial user at the same time using the API (just like the GUI does)? Many thanks!

Seq sink not working using config file, works with programmatic configuration

Hello, I'm using Serilog on FW 4.7.1 but unable to get logging ingress to Seq server working. Works great with .net core. It works perfectly when using programmatic config but does not work with json config ''' { "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } }, "Serilog": { "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Warning", "System": "Warning" } }, "WriteTo": [ { "Name": "Seq", "Args": { "serverUrl": "http://localhost:5341/" } } ] } } ''' Self logging shows the following error: ** 2020-01-20T16:07:30.1011678Z Unable to find a method called Seq. Candidate methods are: Serilog.LoggerConfiguration Sink(Serilog.Configuration.LoggerSinkConfiguration, Serilog.Core.ILogEventSink, Serilog.Events.LogEventLevel, Serilog.Core.LoggingLevelSwitch) Serilog.LoggerConfiguration Logger(Serilog.Configuration.LoggerSinkConfiguration, System.Action`1[Serilog.LoggerConfiguration], Serilog.Events.LogEventLevel, Serilog.Core.LoggingLevelSwitch) ** ***This does NOT work*** ''' var builder = new Microsoft.Extensions.Configuration.ConfigurationBuilder(); builder.AddJsonFile(logCfgFileName, optional: false, reloadOnChange: true); var config = builder.Build(); mLogger = new LoggerConfiguration() .ReadFrom.Configuration(config) .CreateLogger(); ''' ***This works*** ''' mLogger = new LoggerConfiguration() .MinimumLevel.Debug() .WriteTo.Seq(@"http://localhost:5341/") .CreateLogger(); ''' What am I missing?? Thanks

SEQ CLI cut down version with only Log capabilities?

Do you have a version of the seqCli which only permits the 'Log' method to be called? The current file size is 68mb and I need a cut down version no larger than 10mb.

Error: Could not read signals and queries

How To fix?

Retention failed. Disk full. Deletion failing.

Hi I am getting following error in logs. "Failed to apply retention policy {RetentionPolicyId}","@l":"Error","@x":"Microsoft.Isam.Esent.Interop.EsentDatabaseDirtyShutdownException: Database was not shutdown cleanly. Recovery must first be run to properly complete database operations for the previous shutdown.\r\n at Flare.Storage.Esent.Data.EsentDBSession..ctor(Instance instance, String path, Action notifyDisposed)\r\n at Flare.Storage.Esent.Data.EsentDB.BeginSession(Action notifyDisposed, String tag)\r\n at Flare.Storage.Esent.EsentStorageExtent.BeginSession(String tag)\r\n at Flare.Storage.Esent.EsentStorageExtent.<LazyDelete>d__18.MoveNext()\r\n at Flare.Events.EventStore.Delete(EventStoreRange range, CancellationToken cancel)\r\n at Flare.Queries.DataStore.Delete(EventStoreRange range, CancellationToken cancel)\r\n at Seq.Server.Features.Retention.RetentionPolicyApplier.ApplyPolicy(RetentionPolicyState retentionPolicy, Dictionary`2 associatedSignals, HashSet`1 retained, CancellationToken cancel)\r\n at Seq.Server.Features.Retention.RetentionPolicyApplier.Apply(CancellationToken cancel)","RetentionPolicyId":"retentionpolicy-15","SourceContext":"Seq.Server.Features.Retention.RetentionPolicyApplier"} I'm not able to delete events manually also.

Server Status: The server is unavailable and Could not load diagnostics

We are using Seq 5.1.3200. Our Seq server is mostly working, but a couple things seem wrong. The first thing I noticed is an exclamation mark in a red circle in the header next to "events". If I click on it, a popup appears with the text Server Status The server is unavailable Trying to investigate this problem myself, I attempted to load the diagnostics page in settings, but that page failed to load saying Could not load diagnostics An unhandled error occurred while serving the request (token: {some GUID that is different every time}). How can I fix these problems?

Run Linux Docker Container as non-root user

I have been attempting to run the official docker container for Seq with a different user, but it appears that the `Seq` executable has permissions that require root to run it. It would be good if the container could be run as an alternate user.


Hi - Looking to purchase a copy. For that I need invoice to create a PO. Then it will be paid by our finance team. How does that work? thanks.

backup and restore with extents

I'm trying to copy the extents and signals from one machine to another for archival queries. I've gone through the backup and restore steps using the original master key from the original machine, and all my custom signals and filters are showing up in the browser. Next, i copied the extents folder into the c:\ProgramData\seq folder, stopped and restarted seq. When i browse seq, no events are displayed. Is there an additional step I need to perform?

Could not load diagnostics: Cannot allocate memory

I deployed the Seq docker image version 5.1.3200 to a host with 16GB of RAM. Seq is the only application running on the host. After a few days of operation, the Seq web UI shows a red exclamation point ("the server is unavailable"), and the diagnostics page says "could not load diagnostics." Seq's error log in the data directory is full of stack traces similar to this one: ``` [2019-12-23T00:00:12.2517401+00:00 ERR] HTTP GET /api/diagnostics/status?initial=false responded 500 in 10.5039 ms System.ComponentModel.Win32Exception (12): Cannot allocate memory at Interop.Sys.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setUser, UInt32 userId, UInt32 groupId, Int32& lpChildPid, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean shouldThrow) at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at Flare.Internal.OS.CaptiveProcess.Run(String fullExePath, String args, Action`1 writeStdout, Action`1 writeStderr, String workingDirectory, Boolean elevated) at Flare.Util.IO.DiskUtil.GetFreeSpaceBytes(String path) at Flare.Events.EventStore.GetMetrics() at Seq.Server.Web.Api.DiagnosticsController.GetServerStatus() at lambda_method(Closure , Object , Object[] ) at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync() at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync() at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context) at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync() at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter() at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context) at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync() at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync() at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext) at Seq.Server.Web.Middleware.WebSocketAcceptMiddleware.Invoke(HttpContext context) at Seq.Server.Web.Middleware.RequestAuthenticationMiddleware.Invoke(HttpContext httpContext) at Seq.Server.Web.Middleware.BrowserSecurityOptionsMiddleware.Invoke(HttpContext context) at Seq.Server.Web.Middleware.RequestCompletionMiddleware.Invoke(HttpContext httpContext) ``` The system has about 600 MB of memory free. How can I fix this? Should I try setting `SEQ_CACHE_SYSTEMRAMTARGET` to something lower than the default 0.9?

Update Instructions

Probably just overlooking it but I can't seem to find instructions anywhere for how to update my existing production installation to a new version. Can you point me to a guide somewhere for this?

Backup/Restore questions.

Hello, We are looking at a two node installation with events replicated from a master node to another passive DR. Both of these are will be running as docker containers on separate physical hosts (and sites for that matter). I like and understand the replication application. However, this app only replicates ingest data. If we wish to 'fail-over to the DR' node, there is a complicated sequence of commands that we would need to execute in order to restore the backup from the live server. So a couple of suggestions/questions. 1. How complicated would it be to allow one apply the backup file from within the Seq UI ? Providing we supply the secret key and the backup file, this should not be too complicated ? 2. Is it possible to simply replicate signals/users etc like the replication app already does for ingest data ? If this were possible then in a DR situation, the number of steps required would be significantly less. 3. Ideally, what we actually want is a kind of multi-master topology (with two nodes), but I appreciate that this is also quite hard..