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

b2b电子商务网站开发千锋教育学费

b2b电子商务网站开发,千锋教育学费,网站开发需要多少钱新闻,南阳网站建设哪家好文章目录 1. EFK日志三件套集成1.1 核心组件1.2 部署 2. Exceptionless日志系统2.1 Exceptionless核心特性2.2 Exceptionless部署文件2.3 K8s中使用Exceptionless 1. EFK日志三件套集成 1.1 核心组件 Elasticsearch(存储)Fluentd(收集器&am…

文章目录

    • 1. EFK日志三件套集成
      • 1.1 核心组件
      • 1.2 部署
    • 2. Exceptionless日志系统
      • 2.1 Exceptionless核心特性
      • 2.2 Exceptionless部署文件
      • 2.3 K8s中使用Exceptionless

1. EFK日志三件套集成

1.1 核心组件

  • Elasticsearch(存储)
  • Fluentd(收集器)
  • Kibana(数据看板)

在这里插入图片描述

每个Kubernetes节点上可以运行一个Fluentd实例,这个实例会去收集所有Pod打印出来的日志流。Fluentd可以做到无侵入的收集日志;
多个Kubernetes节点组成了Kubernetes集群,每个Fluentd收集到的日志都推送到Elasticsearch中。Elasticsearch可以单独部署,也可以部署在Kuberbetes集群中;
Kibana负责管理Elasticsearch,并作为数据看板

1.2 部署

需要部署Elasticsearch、Fluentd、Kibana

Elasticsearch

apiVersion: apps/v1beta1
kind: Deployment
metadata:name: elasticsearchnamespace: defaultlabels:tag: elasticsearch
spec:replicas: 1template:metadata:labels:app: elasticsearchspec:containers:- name: elasticsearchimage: "elasticsearch:7.5.2"imagePullPolicy: IfNotPresentenv:- name: discovery.typevalue: "single-node"volumeMounts:- mountPath: "/usr/share/elasticsearch/data"name: elasticsearch-storageports:- containerPort: 9200- containerPort: 9300resources:limits:cpu: 1000mmemory: 2048Mirequests:cpu: 100mmemory: 512MiterminationGracePeriodSeconds: 10volumes:- name: elasticsearch-storagehostPath:path: "/d/k8s/volumes/elasticsearch/data"type: DirectoryOrCreaterestartPolicy: Always--- apiVersion: v1
kind: Service
metadata:name: elasticsearchnamespace: defaultlabels:tag: "elasticsearch"
spec:type: NodePortports:- nodePort: 30007port: 9200targetPort: 9200name: "9200"protocol: TCP- nodePort: 30008port: 9300targetPort: 9300name: "9300"protocol: TCPselector:app: elasticsearch

Fluentd

apiVersion: apps/v1beta1
kind: Deployment
metadata:name: fluentdnamespace: defaultlabels:tag: fluentd
spec:replicas: 1template:metadata:labels:app: fluentdspec:containers:- name: fluentdimage: "witskeeper/fluentd-es:68"imagePullPolicy: IfNotPresentenv:- name: discovery.typevalue: "single-node"volumeMounts:- mountPath: "/fluentd/etc/fluent.conf"name: fluentd-configsubPath: fluent.conf- mountPath: "/var/log"name: containers-logs- mountPath: "/var/lib/docker/containers"name: docker-logsports:- containerPort: 24224resources:limits:cpu: 1000mmemory: 2048Mirequests:cpu: 100mmemory: 512MiterminationGracePeriodSeconds: 10volumes:- name: fluentd-configconfigMap:name: fluentd-config- name: containers-logshostPath:path: "/var/log"type: DirectoryOrCreate- name: docker-logshostPath:path: /var/lib/docker/containersrestartPolicy: Always--- apiVersion: v1
kind: Service
metadata:name: fluentdnamespace: defaultlabels:tag: "fluentd"
spec:type: NodePortports:- nodePort: 30011port: 24224targetPort: 24224protocol: TCPselector:app: fluentd

Kibana

apiVersion: apps/v1beta1
kind: Deployment
metadata:name: kibananamespace: defaultlabels:tag: kibana
spec:replicas: 1template:metadata:labels:app: kibanaspec:containers:- name: kibanaimage: "kibana:6.8.6"imagePullPolicy: IfNotPresentenv:- name: discovery.typevalue: "single-node"- name: XPACK_MONITORING_ENABLEDvalue: "true"ports:- containerPort: 5601resources:limits:cpu: 1000mmemory: 2048Mirequests:cpu: 100mmemory: 512MiterminationGracePeriodSeconds: 10restartPolicy: Always--- apiVersion: v1
kind: Service
metadata:name: kibananamespace: defaultlabels:tag: "kibana"
spec:type: NodePortports:- nodePort: 30009port: 5601targetPort: 5601protocol: TCPselector:app: kibana

2. Exceptionless日志系统

2.1 Exceptionless核心特性

  • 友好的界面
  • 内置日志分类看板
  • 按团队和项目管理应用
  • 支持Web hook发送异常通知
  • 基于.Net Core开源

在这里插入图片描述

Exceptionless由UI、Job、Api三个镜像组成。背后依赖了Redis存储和文件存储;
文件存储是用来存储应用提交的日志文件,然后通过Job将这些文件推送到Elasticsearch中,用户可以通过UI和Api从dashboard上查询异常日志;
应用程序通过Api推送异常日志

2.2 Exceptionless部署文件

apiVersion: apps/v1beta1
kind: Deployment
metadata:name: exceptionless-apinamespace: defaultlabels:tag: exceptionless-api
spec:replicas: 1template:metadata:labels:app: exceptionless-apispec:containers:- name: exceptionless-apiimage: "exceptionless/api:6.0.0"imagePullPolicy: IfNotPresentenv:- name: EX_AppModevalue: "Production"- name: EX_BaseURLvalue: http://localhost:30013- name: EX_ConnectionStrings__Cachevalue: provider=redis- name: EX_ConnectionStrings__Elasticsearchvalue: server=http://elasticsearch:9200;enable-size-plugin=false#- name: EX_ConnectionStrings__Email#  value: smtps://user:password@smtp.host.com:587- name: EX_ConnectionStrings__MessageBusvalue: provider=redis- name: EX_ConnectionStrings__Queuevalue: provider=redis- name: EX_ConnectionStrings__Redisvalue: server=redis,abortConnect=false- name: EX_ConnectionStrings__Storagevalue: provider=folder;path=/app/storage- name: EX_RunJobsInProcessvalue: 'false'volumeMounts:- mountPath: "/app/storage"name: exceptionless-storageports:- containerPort: 80resources:limits:cpu: 1000mmemory: 2048Mirequests:cpu: 100mmemory: 128MiterminationGracePeriodSeconds: 10volumes:- name: exceptionless-storagehostPath:path: "/d/k8s/volumes/exceptionless" // 本地存储目录type: DirectoryOrCreaterestartPolicy: Always---apiVersion: v1
kind: Service
metadata:name: exceptionless-apinamespace: defaultlabels:tag: "exceptionless-api"
spec:type: NodePortports:- nodePort: 30012port: 80targetPort: 80protocol: TCPselector:app: exceptionless-api---apiVersion: apps/v1beta1
kind: Deployment
metadata:name: exceptionless-jobnamespace: defaultlabels:tag: exceptionless-job
spec:replicas: 1template:metadata:labels:app: exceptionless-jobspec:containers:- name: exceptionless-jobimage: "exceptionless/job:6.0.0"imagePullPolicy: IfNotPresentenv:- name: EX_AppModevalue: "Production"- name: EX_BaseURLvalue: http://localhost:30013- name: EX_ConnectionStrings__Cachevalue: provider=redis- name: EX_ConnectionStrings__Elasticsearchvalue: server=http://elasticsearch:9200;enable-size-plugin=false#- name: EX_ConnectionStrings__Email#  value: smtps://user:password@smtp.host.com:587- name: EX_ConnectionStrings__MessageBusvalue: provider=redis- name: EX_ConnectionStrings__Queuevalue: provider=redis- name: EX_ConnectionStrings__Redisvalue: server=redis,abortConnect=false- name: EX_ConnectionStrings__Storagevalue: provider=folder;path=/app/storage- name: EX_RunJobsInProcessvalue: 'false'volumeMounts:- mountPath: "/app/storage"name: exceptionless-job-storageports:- containerPort: 80resources:limits:cpu: 1000mmemory: 2048Mirequests:cpu: 100mmemory: 128MiterminationGracePeriodSeconds: 10volumes:- name: exceptionless-job-storagehostPath:path: "/d/k8s/volumes/exceptionless"type: DirectoryOrCreaterestartPolicy: Always---apiVersion: v1
kind: Service
metadata:name: exceptionless-jobnamespace: defaultlabels:tag: "exceptionless-job"
spec:type: NodePortports:- nodePort: 30014port: 80targetPort: 80protocol: TCP---
apiVersion: apps/v1beta1
kind: Deployment
metadata:name: exceptionless-uinamespace: defaultlabels:tag: exceptionless-ui
spec:replicas: 1template:metadata:labels:app: exceptionless-uispec:containers:- name: exceptionless-uiimage: "exceptionless/ui:2.8.1497"imagePullPolicy: IfNotPresentenv:- name: AppModevalue: "Production"- name: EX_ApiUrlvalue: http://localhost:30012ports:- containerPort: 80resources:limits:cpu: 1000mmemory: 2048Mirequests:cpu: 100mmemory: 128MiterminationGracePeriodSeconds: 10restartPolicy: Always---apiVersion: v1
kind: Service
metadata:name: exceptionless-uinamespace: defaultlabels:tag: "exceptionless-ui"
spec:type: NodePortports:- nodePort: 30013port: 80targetPort: 80protocol: TCPselector:app: exceptionless-ui
// Program
public static int Main(string[] args)
{Log.Logger = new LoggerConfiguration().ReadFrom.Configuration(Configuration).MinimumLevel.Debug().Enrich.FromLogContext().WriteTo.Console(new RenderedCompactJsonFormatter())//.WriteTo.Fluentd("localhost", 30011, tag: "geektime-ordering-api", restrictedToMinimumLevel: Serilog.Events.LogEventLevel.Debug).CreateLogger();// 将Configuration中的exceptionless读取出来,并绑定到它默认的配置上去Configuration.GetSection("exceptionless").Bind(Exceptionless.ExceptionlessClient.Default.Configuration);try{Log.Information("Starting web host");CreateHostBuilder(args).Build().Run();return 0;}catch (Exception ex){Log.Fatal(ex, "Host terminated unexpectedly");return 1;}finally{Log.CloseAndFlush();}
}// 配置文件
"exceptionless": {"ApiKey": "PSaokqmXC8T4xgWal9I0atA8TlYG7Ytz65JvxAL3","ServerUrl": "http://localhost:30012"},// startup
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{app.UseExceptionless();// 放在所有中间件最前面.为了能捕获到所有异常
}

2.3 K8s中使用Exceptionless

配置文件

 "exceptionless": {"ApiKey": "PSaokqmXC8T4xgWal9I0atA8TlYG7Ytz65JvxAL3" // 需要是当前项目的秘钥},

因为serverUrl地址是共享的,地址被配置在env.txt中

要将配置引用进来,需要在deployment.yaml中注册serverUrl为环境变量

通过EFK收集应用的全量日志,Exceptionless收集异常日志

http://www.hkea.cn/news/75728/

相关文章:

  • 手机3d动画制作软件重庆网络seo公司
  • 青海和城乡建设厅网站石家庄自动seo
  • 建站网址是多少深圳市seo上词多少钱
  • 应用网站开发创建网站花钱吗
  • 2023太原疫情优化设计答案大全
  • 创新的专业网站建设适合小学生的新闻事件
  • 政府机关备案网站百度竞价什么意思
  • 广元专业高端网站建设seo视频
  • 烟台网站建设诚信臻动传媒百度网络营销中心
  • 贵阳网站建设搜王道下拉重庆seo网络推广关键词
  • 大型 网站的建设 阶段百度官方网站下载
  • 江苏专业做网站的公司百度地图导航网页版
  • 怎么去投诉做网站的公司宁波seo外包推广软件
  • 网络营销跟做网站有什么区别线上推广如何引流
  • 如何进行网店推广seo排名优化怎样
  • 什么建站程序好收录上海网络公司seo
  • 电子商务网站建设投资预算小程序平台
  • 广州外贸营销型网站成都移动seo
  • 如何韩国视频网站模板下载 迅雷下载sem竞价托管费用
  • 做网站去哪个平台seo培训学院
  • 网站移动端优化的重点有哪些营销策略ppt
  • 养车网站开发搜狗seo快速排名公司
  • 企业电子商务网站建设武汉百度快速排名提升
  • 建一个网站的流程今天刚刚发生的新闻
  • 建立网站请示优化服务是什么意思
  • 有一个做场景动画的网站山东seo费用多少
  • 阿里云服务器的网站备案流程图营销推广有哪些形式
  • 做宣传用什么网站好手游推广平台有哪些
  • 免费全国网站在线客服软件新手电商运营从哪开始学
  • 0317网站建设怎么建个网站