seq简介

seq是老外开发的一个针对.net平台非常友好的日志服务。支持容器部署,提供一个单用户免费的开发版本。

官网:

使用文档:

seq主体功能如下所示:

  1. 支持主流的编程语言,尤其对.net非常友好
  2. 丰富的事件格式

以结构化形式记录上文信息与应用程序事件,支持将文本数据与结构话数据无缝连接。下图中所有属性都是由使用者自定义的。

3.支持筛选语法和sql查询,非常简单和灵活

多种查询方式 -支持以sql表达式查询,以及c#中的,==,!=,<,<=,内置startswith(),endswith()indexof()contains(),并支持文本全文检索。

4.公开了内置字段和函数

5.支持仪表盘,可以自行创建和编辑图表

6.支持安装插件,插件可以使用.net进行编写

7.支持发送邮件(通过插件)

8.支持团队操作

9.提供命令行客户端

10.支持健康检查(通过插件)

11.支持收集docker日志

12.支持收集k8s日志

13.支持自定义警报和webhook

部署到k8s

seq部署我们采用的是基于容器的部署,具体可以参考:

腾讯云容器服务yaml配置如下所示:

注意:其中主机端口分别为31180(对应80,用于公开seq ui和web api)、31181(对应5341,用于公开seq接收终结点的端口)。

一般情况,日志不重要的话,我们可以不进行持久化配置。如需持久化,仅需配置“/data”的映射即可。

使用

seq对.net core支持非常友好,支持:

  • asp.net
  • coreserilog
  • 使用nlog

当然还支持其他语言以及其他的一些方式,比如rabbitmq、gelf、windows事件等等。接下来,我们以基于nlog集成为例:

安装包nlog.targets.seq

安装nlog.targets.seq nuget包。例如,在visual studio程序包管理器控制台中,键入:

修改nlog配置文件

第一步,需要先添加刚安装的扩展程序集:

然后需要定义规则:

需要指定服务端接收端地址和apikey。接下来就可以直接使用了。

除此之外,我们还可以添加例如线程id、机器名等属性,配置示例如下所示:

nlog配置说明说明

官网:

配置和使用

https://github.com/nlog/nlog/wiki/getting-started-with-asp.net-core-2
https://github.com/nlog/nlog/wiki/getting-started-with-asp.net-core-3

参考配置

集成之后,我们就可以非常方便的在seq的面板上看到各种日志和图表了。

总结

到此这篇关于使用seq搭建免费的日志服务的文章就介绍到这了,更多相关seq搭建日志服务内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!