首页 > 其他分享 >.Net Core微服务 - Seq 日志聚合

.Net Core微服务 - Seq 日志聚合

时间:2024-03-19 13:56:28浏览次数:36  
标签:Core 聚合 Seq seq 80 Net docker 日志

Seq简介

Seq 是一款使用现代化技术构建的结构化日志存储,查询,分析工具。比起 ELK 这种组合要轻量级许多。只需要一个安装包就具有数据存储,查询,图表分析功能。它对 windows 友好,直接提供了安装包。当然也可以使用 docker 来部署。Seq 对于单个用户是免费的,这对于一些小团队并没有什么问题。Seq 一个比较强大的功能是提供了类似 Sql 语句的数据查询及处理能力,使得用户可以直接写 Select from 来得到自己想要的数据。
image

日志聚合

日志是我们写程序离不开的一个东西。在我们排查问题的时候日志就是我们的救命稻草。我们的每个服务都在不停的生产日志。但是实施微服务后,如果按照传统的写本地文件的日志方案,显然会面临跟修改配置一样麻烦的境地。不同的日志分散在各个服务器、容器内,这种情况下查日志就会十分费力。日志聚合组件为我们解决了这个问题。所有的服务通过接口发送日志到聚合服务,再由聚合服务进行统一存储,并且提供统一的查询、分析的能力。日志聚合组件业界有 ELK、Exceptionless、Seq 等,Seq是一款比较小众的日志聚合工具。

在 Docker 容器中运行 Seq

PH=$(echo '123qwe' | docker run --rm -i datalust/seq config hash)

mkdir -p /data/docker/seq

docker run \
  --name seq \
  -d \
  --restart=always \
  -e ACCEPT_EULA=Y \
  -e SEQ_FIRSTRUN_ADMINPASSWORDHASH="$PH" \
  -v /data/docker/seq:/data \
  -p 80:80 \
  -p 5341:5341 \
  datalust/seq

这将启动一个 Seq 实例,其中包含:
--name seq能够使用容器名称运行命令,例如docker stop seq
-d在守护程序模式下运行(在后台)
--restart=always如果docker 启动,始终启动它
-e ACCEPT_EULA=Y要运行 Seq
-e SEQ_FIRSTRUN_ADMINPASSWORDHASH="$PH"为用户帐户设置初始密码;替换为您想要的密码;上面我设置的 123qwe
-v :/data在主机上挂载到 docker 容器上 - 这是 Seq 存储其所有配置和日志文件的位置。将 Seq 数据存储在容器外部意味着 Seq 的日志数据和元数据会在容器的生命周期之后持续存在,并且不会增加 docker 容器的大小, 上面我设置的 /data/docker/seq
-p 80:80将主机映射到 Seq UI 和 API(端口 80)localhost:80
-p 5341:5341将主机映射到 Seq 的特殊仅引入端口(端口 5341)
运行上述命令后,在 http://localhost:80 处浏览 Seq UI。初始用户名:admin ,密码:{自定义密码}

参考文献

Seq官网 — 集中式结构化日志 (datalust.co)

标签:Core,聚合,Seq,seq,80,Net,docker,日志
From: https://www.cnblogs.com/heyangyi/p/18082596

相关文章

  • .Net Core微服务 - Serilog+Seq记录日志
    Serilog介绍Serilog是用于.NET应用程序的诊断日志记录库。它易于设置,具有干净的API,并且可以在所有最新的.NET平台上运行。Serilog通过NuGet分发,项目包括一个Seirlog核心项目Seirlog和很多接收器sinks(超过100个),这些接收是通过插件的方式来实现将日志写入到各种终端、文件......
  • 记一次 .NET某施工建模软件 卡死分析
    一:背景1.讲故事前几天有位朋友在微信上找到我,说他的软件卡死了,分析了下也不知道是咋回事,让我帮忙看一下,很多朋友都知道,我分析dump是免费的,当然也不是所有的dump我都能搞定,也只能尽自己最大能力帮助别人缩小问题范围吧,既然dump有了,接下来就开启分析之路。二:WinDbg分析1.为什......
  • 今天去面试,面试官问我什么是容器编排工具?Kubernetes
    今天去面试,面试官问我什么是容器编排工具?KubernetesKubernetes(简称k8s)是一个开源的容器编排平台,用于自动化应用程序部署、扩展和管理。它提供了一种高效的方式来管理容器化应用程序,使得开发人员和运维人员可以更好地协同工作。本文将介绍Kubernetes的集群架构和组件,并通过......
  • K8s(Kubernetes)-Tips
    K8S中文官网https://www.kubernetes.org.cn/Kubernetes集群组件结构一个kubernetes集群主要是由控制节点(master)、**工作节点(node)**构成,每个节点上都会安装不同的组件。master:集群的控制平面,负责集群的决策(管理)ApiServer:资源操作的唯一入口,接收用户输......
  • .Net依赖注入神器Scrutor(上)
    前言从.NetCore开始,.Net平台内置了一个轻量,易用的IOC的框架,供我们在应用程序中使用,社区内还有很多强大的第三方的依赖注入框架如:AutofacDryIOCGraceLightInjectLamarStashboxSimpleInjector内置的依赖注入容器基本可以满足大多数应用的需求,除非你需要的特定功能......
  • ModbusTCP转Profinet网关高低字节交换切换
    ModbusTCP转Profinet网关高低字节交换切换背景:在现场设备与设备通迅之间通常涉及到从一种字节序(大端或小端)转换到另一种字节序。大端字节序是指高位字节存储在高地址处,而小端字节序是指低位字节存储在低地址处。在不动原有程序而又不想或不能添加程序下可选用ModbusTCP转Profinet......
  • 【App Service】在Azure App Service中分析.NET应用程序的性能的好帮手(Review Stack
    AzureAppService.NETProfiler在AppService服务中,如果部署了.NET应用,平台有一个非常好的工具可以查看请求的性能分布及异常时的StackTraces。进入路径:AppServiceAzureOverview-->  Networking(网络)-->Troubleshoot(排除故障)--> Collect.NETProfilerTrace......
  • ASP.NET Web Api 中 Grpc 的简单使用
    服务端添加Nuget包dotnetaddpackageGrpc.AspNetCore编写Protobuf文件syntax="proto3";optioncsharp_namespace="GrpcGreeter";packagegreet;//Thegreetingservicedefinition.serviceGreeter{//SendsagreetingrpcSayHello(Hell......
  • EFcore 连接mysql的一些坑。
    好久不耍mysql了,EFcore连接的时候遇到了点问题,特此记录下来,防止以后又忘了。 第一个问题相当的奇葩,居然告诉我缺.NETcore2.0,,,无语,估计是依赖项里面引用了2.0,于是乎老老实实去官网下载安装。地址如下:https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-2.0......
  • netcore接入elk
    一、elk的安装教程参考链接:https://www.8kiz.cn/archives/2623.html 二、netcore接入elk1、NLog接入NLog日志输出到logstash里,使用方式①配置logstash,添加tcp端口输入input{tcp{port=>5044type=>"service1-log"}}②重启logstashsudosystemc......