2026-05-04 01:28:25
ELK(Elasticsearch、Logstash、Kibana)是一个强大的日志收集、搜索和分析解决方案。以下是关于ELK的详细介绍和使用指南:
一、ELK简介
二、ELK安装与配置(以Docker方式友拆悉为例)
在浏览器中输入
在浏览器中输入
三、使用Serilog收集日志
在项目中引入 Serilog.AspNetCore 和 Serilog.Sinks.ElasticSearch 依赖项。
在 Program.cs 文件中增加好乎以下配置:
using Microsoft.AspNetCore.Hosting;using Microsoft.Extensions.Hosting;using Serilog;using Serilog.Events;using Serilog.Sinks.Elasticsearch;using System;namespace ELK.WebApi01{ public class Program { public static void Main(string[] args) { Log.Logger = new LoggerConfiguration() .Enrich.FromLogContext() .MinimumLevel.Debug() .WriteTo.Elasticsearch( new ElasticsearchSinkOptions(new Uri("在控制器中增加日志测试接口:
using Microsoft.AspNetCore.Mvc;using Microsoft.Extensions.Logging;using System;namespace ELK.WebApi01.Controllers{ [Route("[controller]")] [ApiController] public class LogController : Controller { private readonly ILogger<LogController> logger; public LogController(ILogger<LogController> logger) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); } [HttpGet] public void Get() { logger.LogInformation("测试1"); } }}四、在Kibana中查看日志
在Kibana中,点击左侧导航栏的设置按钮,然后点击右侧的“Create index pattern”按钮创建一个索引。在Elasticsearch中,索引相当于一张“表”。
创建索引后,即可看到收集的日志信息。在此基础上,可以进行进一步的检索、过滤,生成各种查询。
五、总结
ELK解决方案通过Elasticsearch、Logstash和Kibana的紧密配合,实现了日志的实时收集、高效搜索和可视化分析。通过Serilog等日志框架,可以方便地将应用程序日志集成到ELK中,从而实现对系统运行状态的全面监控和分析。