zoukankan      html  css  js  c++  java
  • .net core使用 ELK

    一 Linux 下安装部署

    第一种方法:docker-compose 安装方式

     1.1 创建 docker-compose.yml 文件

    version: '3.1'
    
    services:
    
      elasticsearch:
       container_name: elasticsearch
       image: docker.elastic.co/elasticsearch/elasticsearch:7.9.2
       ports:
        - 9200:9200
       volumes:
        - elasticsearch-data:/usr/share/elasticsearch/data
       environment:
        - xpack.monitoring.enabled=true
        - xpack.watcher.enabled=false
        - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
        - discovery.type=single-node
       networks:
        - elastic
    
      kibana:
       container_name: kibana
       image: docker.elastic.co/kibana/kibana:7.9.2
       ports:
        - 5601:5601
       depends_on:
        - elasticsearch
       environment:
        - ELASTICSEARCH_URL=http://localhost:9200
       networks:
        - elastic
      
    networks:
      elastic:
        driver: bridge
    
    volumes:
      elasticsearch-data:
    

     1.2  在放有docker-compose.yml的目录下运行命令以启动容器。

    docker-compose up -d
    

    1.3 安装成功后打开 http://localhost:9200 表示已经安装成功

      

     第二种方法:下载安装包安装 并且开启登录验证功能

    Note:这边下载的是版本7.10,elk比较吃性能。我这边服务器是一核2G 也撑不起,加了一些虚拟内存才解决问题

            我把下载的安装包放在我的OSS空间里面,访问比较快。

    2.1下载地址:这边下载的是

        elasticsearch 下载地址:  https://www.elastic.co/cn/downloads/elasticsearch

        kibana下载地址:   https://www.elastic.co/cn/downloads/kibana

    2.2 elasticsearch安装

      下载解压安装包

     wget  https://xuquan.oss-cn-shenzhen.aliyuncs.com/Software/elasticsearch-7.10.0-linux-x86_64.tar.gz
    
     tar -zxvf elasticsearch-7.10.0-linux-x86_64.tar.gz -C /usr/local/

      

      不能使用root 启用应用,需要创建一个新用户elk,把elasticsearch-7.10.0文件夹的拥有者改为elk

    1    adduser elk
    2 
    3   passwd elk  然后 输入密码
    4 
    5   chown -R elk /usr/local/elasticsearch-7.10.0/
    6 
    7   cd /usr/local/elasticsearch-7.10.0/
    8 
    9   su elk

      更改配置文件,开启密码密码登录验证

    1   
    2 vim /usr/local/elasticsearch-7.10.0/config/elasticsearch.yml 3 4 http.cors.enabled: true 5 http.cors.allow-origin: "*" 6 http.cors.allow-headers: Authorization 7 xpack.security.enabled: true 8 xpack.license.self_generated.type: basic 9 xpack.security.transport.ssl.enabled: true

      启动应用(后台运行需要加-d) 

     ./bin/elasticsearch -d

         

       因为设置密码需要应用启动才能所以密码的设置初始化要放在启动后面。切换回root账号做密码设置。

    1 su root 
    2 
    3 /usr/local/elasticsearch-7.10.0/bin/elasticsearch-setup-passwords interactive

        出现下面界面就开始做密码设置,设置完切换回elk  重启 elasticsearch即可。

         

        

        打开网址后出现输入密码的弹窗,这样就完成elasticsearch的安装

    2.3  kibana安装

         下载解压安装包  

    wget   https://xuquan.oss-cn-shenzhen.aliyuncs.com/Software/kibana-7.10.0-linux-x86_64.tar.gz 
    
    tar -zxvf kibana-7.10.0-linux-x86_64.tar.gz -C /usr/local/

      修改配置文件

     1   vim /usr/local/kibana-7.10.0-linux-x86_64/config/kibana.yml
     2 
     3   # Kibana的端口号
     4   server.port: 9201
     5 
     6   # Kibana绑定的主机地址:
     7   elasticsearch.hosts: "0.0.0.0"
     8 
     9   # Kibana所连接的ES:
    10    elasticsearch.hosts: "http://127.0.0.1:9200"
    11 
    12   # 配置pid文件存储运行Kibana时的进程号,便于用kill -9 `cat /var/run/kibana.pid`来杀进程。
    13   pid_file: /var/run/kibana.pid

     

      设置密码: 把usernane设置为 kibans 密码设置为自己的密码,这边的账号就可以在  kibana, elasticsearch,和net core 使用了

     cd 到kibana安装目录下的bin文件夹 运行命令启动 

    1  cd /usr/local/kibana-7.10.0-linux-x86_64/bin
    2 
    3  ./kibana

          

      输入的账号密码登录即可进入后台

     

      

     备注: 如需更改密码 可执行

    curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'

    二   在.net core3.1 中使用Serilog 集成ELK ,这边就直接贴代码了

    安装的包为:

    1  //< PackageReference Include = "Serilog.AspNetCore" Version = "3.4.0" />
    2 //< PackageReference Include = "Serilog.Enrichers.Environment" Version = "2.1.3" />
    3 //< PackageReference Include = "Serilog.Exceptions" Version = "5.6.0" />
    4 //< PackageReference Include = "Serilog.Sinks.Debug" Version = "1.0.1" />
    5 //< PackageReference Include = "Serilog.Sinks.Elasticsearch" Version = "8.4.1" />

    Program.cs

     1   public static IHostBuilder CreateHostBuilder(string[] args, string urls) =>
     2             Host.CreateDefaultBuilder(args)
     3                 .ConfigureWebHostDefaults(webBuilder =>
     4                 {
     5                     webBuilder
     6                     .UseStartup<Startup>()
     7                     .UseUrls(urls);
     8                 }).ConfigureLogging((context, logging) =>
     9                 {
    10                    
    15                     logging.AddSerilog(new LoggerConfiguration()
    16                     .Enrich.FromLogContext()
    17                     .Enrich.WithExceptionDetails()
    18                     .Enrich.WithMachineName()
    19                     .WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(context.Configuration["ElasticConfiguration:Uri"]))
    20                     {
    21                         AutoRegisterTemplate = true,
    22                         IndexFormat = $"{Assembly.GetExecutingAssembly().GetName().Name.ToLower().Replace(".", "-")}-{context.HostingEnvironment.EnvironmentName?.ToLower().Replace(".", "-")}-{DateTime.UtcNow:yyyy-MM}",
    23                         ModifyConnectionSettings = setting => setting.BasicAuthentication(context.Configuration["ElasticConfiguration:UserName"], context.Configuration["ElasticConfiguration:PassWord"])
    24                     })
    25                     .Enrich.WithProperty("Environment", context.HostingEnvironment.EnvironmentName)
    26                     .ReadFrom.Configuration(context.Configuration)
    27                     .CreateLogger());
    28 
    29                 });

    appsettings.json
    1 "Serilog": {
    2     "MinimumLevel": {
    3       "Default": "Warning",
    4       "Override": {
    5         "Microsoft": "Error",
    6         "System": "Warning"
    7       }
    8     }
    9   }

    这样就完成了,只需要在kibana创建索引查看了




  • 相关阅读:
    DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting
    DVWA 黑客攻防演练(九) SQL 盲注 SQL Injection (Blind)
    DVWA 黑客攻防演练(八)SQL 注入 SQL Injection
    DVWA 黑客攻防演练(七)Weak Session IDs
    DVWA 黑客攻防演练(六)不安全的验证码 Insecure CAPTCHA
    DVWA 黑客攻防演练(五)文件上传漏洞 File Upload
    工作流表结构设计
    Visual Studio 2019尝鲜----新建空项目体验
    《使用CSLA 2019:CSLA .NET概述》原版和机译文档下载
    .NET快速开发平台的在线预览
  • 原文地址:https://www.cnblogs.com/shiding/p/14092964.html
Copyright © 2011-2022 走看看