首页 > 其他分享 >Serilog + Seq 搭建日志平台

Serilog + Seq 搭建日志平台

时间:2022-11-08 13:44:06浏览次数:64  
标签:Seq seq Serilog docker 日志 5341

Docker部署Seq日志平台

Dokce部署

镜像地址:

https://hub.docker.com/r/datalust/seq

pull镜像

docker pull datalust/seq

设置seq Admin密码,起站点用到的密码必须要Hash

SeqPwd=$(echo '123456' | docker run --rm -i datalust/seq config hash) 

起站点

# 新建磁盘日志目录文件夹
mkdir -p /docker/seq/data

docker run --name seq -d -e ACCEPT_EULA=Y -e SEQ_FIRSTRUN_ADMINPASSWORDHASH="$SeqPwd"  -v /docker/seq/data:/data --memory=512m --memory-swap=512m -e SEQ_CACHE_SYSTEMRAMTARGET=0 -p 8001:80 -p 5341:5341 datalust/seq
参数 备注
SEQ_FIRSTRUN_ADMINPASSWORDHASH Seq平台登录的admin密码,必须经过Hash处理后的
-v /docker/seq/data:/data 磁盘挂载,日志持久化
memory 限制最大内存
SEQ_CACHE_SYSTEMRAMTARGET 不使用缓存
-p 8001:80 -p 5341:5341 80映射端口是http端口,5341是gRPC端口。80是UI管理界面,5341是给程序调用的

容器Run起来之后,浏览器访问http://192.168.1.5:8001/ Seq登录界面。使用刚才配置的账号密码admin+123456登录

登录之后就可以看到日志面板

创建Api key

登录seq管理平台,点击"setting",第一个菜单就是 Api Key,点击“Add Api Key”进行添加

Serilog记录日志并输出至Seq

Serilog 相关文档参考这篇博客
新建一个ASP.NET Core Web项目,添加以下Neget包

Serilog.AspNetCore
Serilog.Sinks.Seq

Program.cs添加Serilog并添加Seq相关配置

using Serilog;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddControllers();

builder.Host.UseSerilog((hostingContext, loggerConfiguration) =>
{
    loggerConfiguration
    .Enrich.FromLogContext()
    .WriteTo.Console()
    .WriteTo.Debug()
    //添加Seq
    .WriteTo.Seq("http://192.168.1.5:5341",  apiKey: "KIFLPG...");
});

var app = builder.Build();

app.UseAuthorization();

//添加中间件简化请求日志记录
app.UseSerilogRequestLogging();

app.MapControllers();

app.Run();

WeatherForecastController.cs写入日志并访问API

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;

namespace WebApplication1.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private readonly ILogger<WeatherForecastController> _logger;

        public WeatherForecastController(ILogger<WeatherForecastController> logger)
        {
            _logger = logger;
        }

        [HttpGet]
        public string Get()
        {
            _logger.LogInformation("我爱中国");
            _logger.LogInformation(Guid.NewGuid().ToString());
            return Guid.NewGuid().ToString();
        }
    }
}

Seq面板查看日志

标签:Seq,seq,Serilog,docker,日志,5341
From: https://www.cnblogs.com/RainFate/p/16869403.html

相关文章

  • 腾讯TKE容器日志托管详细教程
    一、 腾讯云CLS介绍日志服务(CloudLogService,CLS)提供一站式的日志数据解决方案。您无需关注扩缩容等资源问题,五分钟快速便捷接入,即可享受日志的采集、存储、加工、检索分......
  • 【单片机/嵌入式】【梁山派】学习日志09:按键
    一、独立按键1.1独立按键基础知识1.1.1独立按键结构组成独立按键实际上是一个非自锁的轻触开关,有左右两个触点,当按下时左右两个触点闭合,当松开时左右两个触点断开。1.1......
  • 日志服务管理和文件共享服务
    一、系统日志管理1系统日志介绍1.1sysklogd系统日志服务CentOS5之前版本采用的日志管理系统服务klogd:linuxkernel记录内核日志syslogd:systemapplicatio......
  • ASP .NET Core 使用 Serilog记录日志并输出至ElasticSearch
    Serilog添加ES配置服务端Elasticsearch+Kibana的部署参考这篇博客,版本都是当前最新版本8.5.0Serilog相关文档参考这篇博客新建一个ASP.NETCoreWeb项目,添加以下Neget......
  • Linux三剑客,日志分析
    一、awk的使用1、awk简介AWK是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫AWK是因为其取了三位创始人AlfredAho,PeterWeinberger,和BrianKe......
  • [数学记录]abc276G Count Sequences
    题意:对满足以下条件的序列计数,膜\(998244353\):\(0\leqa_0\leqa_1\cdots\leqa_n\leqm\)$a_i\not\equiva_j\pmod3$这题的难点在于发现它是简单题。想了......
  • 聊聊日志硬扫描,阿里 Log Scan 的设计与实践
    简介: SLS新推出Scan功能,让未索引的字段也支持搜索(硬扫描模式),节省全量索引产生的构建和存储费用,同时Scan的运行时计算模式对于杂乱结构的日志数据有更好的适配,帮助企......
  • .netcore log schema and serilog-asp.netcore schema
    1.  asp.netcore 的Ilogger起源这里:services.TryAdd(ServiceDescriptor.Singleton<ILoggerFactory,LoggerFactory>());services.TryAd......
  • 【MySQL高级】MySql中常用工具及Mysql 日志
    1.MySql中常用工具1.1mysql该mysql不是指mysql服务,而是指mysql的客户端工具。语法:mysql[options][database]1.1.1连接选项参数:-u,--user=name指......
  • Codeforces Subsequences
    题目:KarllikesCodeforcesandsubsequences.HewantstofindastringoflowercaseEnglishlettersthatcontainsatleastksubsequencescodeforces.Outofall......