<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      .net core Serilog + Elk(Elasticsearch、Logstash、Kibana) 部署Linux及使用

      部署

      Elasticsearch 官方地址 ,這里只需要裝ES 和Kibana 。 Serilog 會直接把數據寫入ES,繞開了 Logstash,所以不需要裝Logstash

      Elasticsearch 部署

      1. 方便后面集群通信,先創建網絡

      docker network create elastic

      2. 拉取鏡像。

      docker pull docker.elastic.co/elasticsearch/elasticsearch:8.11.1
      

      3. 啟動容器

      docker run --name es01 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m"  --net elastic -p 9200:9200 -itd -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.11.1
      

      注意這里沒有掛載,正常生產環境應該把config,data,plugin全部掛載出來

      啟動后默認會是https的,如果要關閉,修改elasticsearch.yml中一下配置,版本變化后可能配置不一樣

      # 如果之前啟用了HTTPS,可能會有類似以下的設置
      xpack.security.http.ssl.enabled: false

      啟動成功后查看日志(docker logs  [容器名稱]),會找到生產的密碼,證書和token等信息,保存到本地,方便使用

      如果后期忘記了密碼和token,可以重新生成

      重新生成token: docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
      重新生成密碼:docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elasticx

      會生成ca證書,這里可以考到本地計算機方便使用

      docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .

      如果需要部署集群,請查看上面的官方文檔

      啟動成功后輸入地址:https://ip:9200  。這里是https忽略瀏覽器的安全校驗 ,輸入 賬號:elastic  密碼:【上面啟動生成密碼】。成功后如下所示

      Kibana 部署

      1. 拉取 Kibana Docker 鏡像。

      docker pull docker.elastic.co/kibana/kibana:8.11.0
      

      2. 啟動 Kibana 容器

      docker run --name kib01 --net elastic -p 5601:5601 -itd docker.elastic.co/kibana/kibana:8.11.0

      這里生產環境需要把kibana.yml 掛載出來

      訪問 http://ip:5601 。最開始初始化需要輸入Es啟動時生成的token。注意,上面生成的token會有過期時間,如果過期了請重新生成token

      輸入后,查看 kibana 日志,會生成一個驗證碼,然后輸入進去就行了 

       

      輸入ES賬號密碼進行登錄

      代碼實踐

      1. 引入nuget包

      Serilog.AspNetCore
      Serilog.Sinks.Elasticsearch
      
      ###以下配置是為了擴展其他的,只需要上面兩個包就行了
      Serilog.Settings.Configuration
      Serilog.Sinks.Console
      Serilog.Sinks.Seq
      

      2. 修改program.cs 

      builder.Host.UseSerilog();
      Log.Logger = new LoggerConfiguration()
          .MinimumLevel.Verbose()   //最小日志記錄等級
          .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)    //指定程序集最小記錄級別
          .MinimumLevel.Override("System", LogEventLevel.Warning)
          .ReadFrom.Configuration(Configuration)
          .Enrich.FromLogContext()
          .WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri("https://192.168.0.236:9200"))
          {
              //傳送到ES中失敗的日志會進入這里
              FailureCallback = e => {
                  Console.WriteLine("Unable to submit event " + e.MessageTemplate);
              },
              EmitEventFailure = EmitEventFailureHandling.WriteToSelfLog |
                                             EmitEventFailureHandling.WriteToFailureSink |
                                             EmitEventFailureHandling.RaiseCallback,
              //FailureSink = new FileSink("./failures.txt", new JsonFormatter(), null), //如果日志發送不到ES則存放在這里
      
              MinimumLogEventLevel = LogEventLevel.Information,
              ModifyConnectionSettings = conn =>
                      conn.ServerCertificateValidationCallback((sender, certificate, chain, sslPolicyErrors) => true) // 禁用證書驗證
                  .ServerCertificateValidationCallback((sender, certificate, chain, errors) => true) // 禁用證書驗證
                  .ServerCertificateValidationCallback((sender, certificate, chain, policyErrors) => true) // 禁用證書驗證
                  .BasicAuthentication("elastic", "FyuSpCJMd2sX2iq27lKv"), // 如果啟用了基本身份驗證,這里要配置密碼
                  //.CertificateFingerprint("94fd0d932dc79ed50523612ecc49225c91dde29f33c697b92f05357df6ace879"),
                  //.ClientCertificate("./certs/http_ca.crt"),// 如果需要客戶端證書
              IndexFormat = "physicaltest-{0:yyyy.MM.dd}",
              //自動注冊模板
              AutoRegisterTemplate = true,
              //模板類型
              AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv6,
              //自定義模板名稱
              //AutoRegisterTemplate = false,    
              //CustomFormatter = new ElasticsearchJsonFormatter(renderMessage: true),
              //TemplateName="測試",
          })
          .CreateLogger();

      注意:如果開啟了身份驗證,一定要設置賬號密碼才能訪問,本地使用了https+ip的形式,要禁用證書驗證,否則數據發送不到ES上面,會進入FailureCallback 

      3. 測試代碼

       private IConfiguration _configuration;
              private readonly ILogger<ValuesController> _logger;
              public ValuesController(IConfiguration configuration, ILogger<ValuesController> logger)
              {
                  _configuration = configuration;
                  _logger = logger;
              }
              /// <summary>
              /// 測試日志
              /// </summary>
              /// <param name="url"></param>
              /// <returns></returns>
              [HttpGet("GetTest")]
              public IActionResult GetTest()
              {
                  _logger.LogError("這是一條測試消息Erro");
                  Log.Error("這是一條測試錯誤日志");
                  return Ok();
              }
      

        

      4. 查看效果

      如果程序正常,會在界面上會自動創建索引在Stack Management =》Index Management 中查看索引,如果沒有創建,看數據是否傳到了ES中

       

      在Discover中創建data view進行匹配對應的索引,查看日志

       

       

      posted @ 2023-11-15 16:27  Joni是只狗  閱讀(1102)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 欧美午夜精品久久久久久浪潮| 国产精品一区二区三区日韩| 国产97人人超碰CAO蜜芽PROM| 谢通门县| 国产精品久久无中文字幕 | 男人的天堂va在线无码| 看全色黄大黄大色免费久久| 久久高潮少妇视频免费| 无码国内精品久久人妻蜜桃| 国产高清精品在线一区二区 | 天天澡日日澡狠狠欧美老妇 | 少妇办公室好紧好爽再浪一点| 2019nv天堂香蕉在线观看| 久久精品日日躁夜夜躁| 最新精品国偷自产在线美女足| 公天天吃我奶躁我的在| 国产精品区一区第一页| 年日韩激情国产自偷亚洲 | 亚洲中文字幕精品久久久久久动漫| 好吊妞无缓冲视频观看| 国偷自产一区二区三区在线视频| 亚洲夂夂婷婷色拍ww47| 久久婷婷成人综合色综合| 国产精品偷伦费观看一次| 国产一区二区三区无遮挡| 97精品人妻系列无码人妻| 日韩精品区一区二区三vr| 日本黄色一区二区三区四区| 国产在线精品福利91香蕉| 亚洲av中文乱码一区二| 色综合久久精品中文字幕| 亚洲红杏AV无码专区首页| 欧美人妻在线一区二区| 国产亚洲无线码一区二区| 精品一区二区三区在线视频观看| 亚洲精品漫画一二三区| 国产a在视频线精品视频下载| 日韩在线视频线观看一区| 天天干天天日| 国产精品偷乱一区二区三区| 国产成人综合95精品视频|