当前位置: 首页 > news >正文

做自适应网站外语网站建设目的

做自适应网站,外语网站建设目的,做网站普洱,企业系统集成Grafana loki1. Intro最近在了解日志聚合系统#xff0c;正好前几天看到一篇文章《用了日志系统新贵Loki#xff0c;ELK突然不香了#xff01;》#xff0c;所以就决定动手体验一下。本文就带大家快速了解下Loki#xff0c;并简单介绍.NET Core如何集成Loki。2. Whats Lok… Grafana loki1. Intro最近在了解日志聚合系统正好前几天看到一篇文章《用了日志系统新贵LokiELK突然不香了》所以就决定动手体验一下。本文就带大家快速了解下Loki并简单介绍.NET Core如何集成Loki。2. Whats Loki StackGrafana Loki like Prometheus, but for logs。其是一个水平可扩展高可用性多租户的日志聚合系统基于Apatch 2.0开源。其有三部分组成Loki 是主服务器负责存储日志和处理查询。对标ELK中的ElasticSearch。Promtail 是代理负责收集日志并将其发送给loki。对标ELK中的Logstash。Grafana提供用户界面。对标ELK中的Kibana。3. Why Use Loki日志聚合系统的目的是为了方便我们进行日志跟踪和故障排查尤其在云原生的环境之下。目前主流的日志聚合系统当数ELK、EFK和Loki。Loki相较于ELK Stack有以下优势Elasticsearch中的数据作为非结构化JSON对象存储在磁盘上Loki以二进制的形式存储。Elasticsearch采用全文索引倒排索引的切分和共享的成本较高。Loki仅索引元数据比如标签。和Prometheus无缝集成。4. How Use Loki首先我们先来基于Heml安装Loki到本地K8S集群。1. 添加Loki Chart 仓库PS C:\Users\Shengjie helm repo add loki https://grafana.github.io/loki/charts loki has been added to your repositories PS C:\Users\Shengjie helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the stable chart repository ...Successfully got an update from the loki chart repository Update Complete. ⎈ Happy Helming!⎈ 2. 安装Loki StackPS C:\Users\Shengjie helm search hub loki-stack URL CHART VERSION APP VERSION DESCRIPTION https://hub.helm.sh/charts/loki/loki-stack 0.38.3 v1.5.0 Loki: like Prometheus, but for logs. PS C:\Users\Shengjie helm show values loki/loki-stack loki:enabled: truepromtail:enabled: truefluent-bit:enabled: falsegrafana:enabled: falsesidecar:datasources:enabled: trueimage:tag: 6.7.0prometheus:enabled: falsefilebeat:enabled: falsefilebeatConfig:filebeat.yml: |# logging.level: debugfilebeat.inputs:- type: containerpaths:- /var/log/containers/*.logprocessors:- add_kubernetes_metadata:host: ${NODE_NAME}matchers:- logs_path:logs_path: /var/log/containers/output.logstash:hosts: [logstash-loki:5044]logstash:enabled: falseimage:repository: grafana/logstash-output-lokitag: 1.0.1filters:main: |-filter {if [kubernetes] {mutate {add_field {container_name %{[kubernetes][container][name]}namespace %{[kubernetes][namespace]}pod %{[kubernetes][pod][name]}}replace { host %{[kubernetes][node][name]}}}}mutate {remove_field [tags]}}outputs:main: |-output {loki {url http://loki:3100/loki/api/v1/push#username test#password test}# stdout { codec rubydebug }} 从上面的Values中可以看出可以自定义启用fluent-bit、grafana、filebeat、prometheus、logstash组件。这里我们仅启用grafana日志界面。PS C:\Users\Shengjie helm install loki-stack loki/loki-stack --set grafana.enabledtrue coalesce.go:165: warning: skipped value for filters: Not a table. coalesce.go:165: warning: skipped value for filters: Not a table. NAME: loki-stack LAST DEPLOYED: Sun Jul 26 11:58:11 2020 NAMESPACE: default STATUS: deployed REVISION: 1 NOTES: The Loki stack has been deployed to your cluster. Loki can now be added as a datasource in Grafana.See http://docs.grafana.org/features/datasources/loki/ for more detail. 3. 登录Grafana首先确认Loki是否成功部署PS C:\Users\Shengjie helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION loki-stack default 1 2020-07-26 11:58:11.022896 0800 CST deployed loki-stack-0.38.3 v1.5.0 PS C:\Users\Shengjie kubectl get pod -w NAME READY STATUS RESTARTS AGE loki-stack-0 1/1 Running 0 2m33s loki-stack-grafana-c447cfbd-z6tbg 1/1 Running 0 2m33s loki-stack-promtail-j47hl 1/1 Running 0 2m33s PS C:\Users\Shengjie kubectl get svc -w NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 none 443/TCP 56d loki-stack ClusterIP 10.110.83.209 none 3100/TCP 2m52s loki-stack-grafana ClusterIP 10.111.24.26 none 80/TCP 2m52s loki-stack-headless ClusterIP None none 3100/TCP 2m52s 从上面可知已经成功启动其中loki暴露的容器端口为3100grafana暴露的端口为80。因此我们下一步需要进行端口转发才能访问grafana。PS C:\Users\Shengjie kubectl port-forward svc/loki-stack-grafana 3000:80 Forwarding from 127.0.0.1:3000 - 3000 Forwarding from [::1]:3000 - 3000 然后本地浏览器打开http://localhost:3000/就可以访问了。其默认用户是admin默认密码在哪里呢别慌我们去看下loki-stack chart 的readmePS C:\Users\Shengjie helm show readme loki/loki-stack # Loki-Stack Helm Chart ## PrerequisitesMake sure you have Helm [installed](https://helm.sh/docs/using_helm/#installing-helm) and [deployed](https://helm.sh/docs/using_helm/#installing-tiller) to your cluster. Then add Lokis chart repository to Helm: $ helm repo add loki https://grafana.github.io/loki/chartsYou can update the chart repository by running: $ helm repo update## Deploy Loki and Promtail to your cluster ### Deploy with default config $ helm upgrade --install loki loki/loki-stack ### Deploy in a custom namespace $ helm upgrade --install loki --namespaceloki-stack loki/loki-stack### Deploy with custom config$ helm upgrade --install loki loki/loki-stack --set key1val1,key2val2,... ## Deploy Loki and Fluent Bit to your cluster $ helm upgrade --install loki loki/loki-stack \--set fluent-bit.enabledtrue,promtail.enabledfalse ## Deploy Grafana to your cluster The chart loki-stack contains a pre-configured Grafana, simply use --set grafana.enabledtrueTo get the admin password for the Grafana pod, run the following command: $ kubectl get secret --namespace YOUR-NAMESPACE loki-grafana -o jsonpath{.data.admin-password} | base64 --decode ; echo To access the Grafana UI, run the following command: $ kubectl port-forward --namespace YOUR-NAMESPACE service/loki-grafana 3000:80 Navigate to http://localhost:3000 and login with admin and the password output above. Then follow the [instructions for adding the loki datasource](/docs/getting-started/grafana.md), using the URL http://loki:3100/ 上面已经说了很清楚了可以从secret中获取。如果在windows powersheel中执行需要分两步 1. 先获取base64加密的密码 PS C:\Users\Shengjie $pwd kubectl get secret --namespace default loki-stack-grafana -o jsonpath{.data.admin-password} 2. decode base64 PS C:\Users\Shengjie [Text.Encoding]::Utf8.GetString([Convert]::FromBase64String($pwd)) CjnbkkQmwQynZ96gCsynSf0elYQLOp4dyuDnp9jJ------------------------ Linux命令行执行 shengjieThinkpad:/mnt/c/Users/Shengjie$ kubectl get secret --namespace default loki-stack-grafana -o jsonpath{.data.admin-password} | base64 --decode ; echo CjnbkkQmwQynZ96gCsynSf0elYQLOp4dyuDnp9jJ 然后使用admin/CjnbkkQmwQynZ96gCsynSf0elYQLOp4dyuDnp9jJ即可成功登录http://localhost:3000/。Grafnan Explore5. Use Loki With .NET Core下一步我们就来创建一个ASP.NET Core Web 应用将日志记录到Loki并通过Grafana进行聚合分析。PS C:\Users\Shengjie dotnet new web -n Loki.K8s.Demo The template ASP.NET Core Empty was created successfully.Processing post-creation actions... Running dotnet restore on Loki.K8s.Demo\Loki.K8s.Demo.csproj...Determining projects to restore...Restored C:\Users\Shengjie\Loki.K8s.Demo\Loki.K8s.Demo.csproj (in 150 ms).Restore succeeded. PS C:\Users\Shengjie cd .\Loki.K8s.Demo\ # 添加Serilog.AspNetCore和Serilog.Sinks.Loki Nuget包。 PS C:\Users\Shengjie\Loki.K8s.Demo dotnet add package Serilog.AspNetCore PS C:\Users\Shengjie\Loki.K8s.Demo dotnet add package Serilog.Sinks.Loki 从上可知日志组件选用的是Serilog因为其支持持久化日志到Loki。修改Program.cs如下public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();}).UseSerilog((ctx, cfg) {//cfg.MinimumLevel.Override(Microsoft, LogEventLevel.Warning);//Microsoft框架本身的日志仅输出Warning以上级别cfg.Enrich.FromLogContext().Enrich.WithProperty(App, ctx.HostingEnvironment.ApplicationName).Enrich.WithProperty(ENV, ctx.HostingEnvironment.EnvironmentName).WriteTo.LokiHttp(new NoAuthCredentials(http://localhost:3100))//配置Loki Url和认证方式.WriteTo.Console();}); 修改Startup.cs的Configure方法如下public void Configure(IApplicationBuilder app, IWebHostEnvironment env,ILoggerStartup logger) {if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseRouting();app.UseEndpoints(endpoints {endpoints.MapGet(/, async context {logger.LogInformation(start handle request!);await context.Response.WriteAsync(Hello World!);logger.LogInformation(end handle request!);});}); } 因为不想把应用打包成镜像运行到K8S中所以我们需要把K8S的Loki服务做一次端口转发暴露到本机转发后就可以使用http://localhost:3100作为Loki的Url进行日志写入啦。PS C:\Users\Shengjie\Loki.K8s.Demo kubectl port-forward svc/loki-stack 3100:3100 Forwarding from 127.0.0.1:3100 - 3100 Forwarding from [::1]:3100 - 3100 运行项目后重新打开Grafana添加过滤条件就可以查看应用日志了。参考资料日志聚合工具lokiCSDN-linkt1234-LokiLoki官方文档
http://www.zqtcl.cn/news/374532/

相关文章:

  • 凡科平台网站怎么建设广州网站建设信科网络
  • 网站建设公司的服务特点seo实战密码电子书
  • 网站开发保密协议范本北京市建设工程信息网查询
  • 怎样跟网站做优化呢wordpress实现新闻列表
  • 济南手机网站定制费用wordpress安装文档下载
  • 麻涌镇网站仿做郑州做网页的公司
  • 做那个网站中山免备案网站建设
  • 软路由系统如何做网站全网营销式网站
  • 中国建设网官方网站视觉网站建设
  • 苏州乡村旅游网站建设策划书.docincapsula wordpress
  • 百度收录自适应网站滨海做网站哪家公司好
  • 东莞网站排名优化公司福田在线官网
  • 清湖网站建设天猫开店流程及费用2023
  • 邵阳建设网站公司网站建设构架
  • 怎样做网站卖网站网络营销概念
  • 怎样做网站能百度能搜到设计网站公司哪里好
  • 网站收缩栏专业定制网站公司
  • 烟台网站建设方案托管无锡网站制作企业
  • 网站网页是怎么做的用什么做网站 优化
  • 数据网站怎么做的网站开发的开题报告引言
  • 苏州专业网站制作设计做网站上海
  • 做网站可以用中文域名备案嘛山东省住房和城乡城乡建设厅网站
  • 网站建设推广多少钱站长工具seo综合查询关键词
  • 分类信息网站平台的推广做网站的花费
  • 还原wordpress站点地址恢复网站都要备案吗
  • 如何建立营销性企业网站论文如何修改wordpress
  • 全网营销销售郑州seo网站管理
  • dw怎么做网站首页邯郸网站建设品牌加盟
  • 辽宁省建筑工程造价信息网深圳市seo点击排名软件价格
  • 网站建设宗旨是指建设中英文网站