单机版ELK示例

news/2025/2/21 16:20:59/

Elasticsearch 用于存储数据,Logstash 用于处理日志,Kibana 用于可视化数据。以下是一个使用 YAML 文件部署ELK Stack 的基本示例。

1 部署 pv和pvc

apiVersion: v1
kind: PersistentVolume
metadata:name: elasticsearch-pvlabels:type: local
spec:storageClassName: manualcapacity:storage: 10GiaccessModes:- ReadWriteOncehostPath:path: "/mnt/data"

kubectl apply -f elasticsearch-pv.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: elasticsearch-pvc
spec:storageClassName: manualaccessModes:- ReadWriteOnceresources:requests:storage: 10Giselector:matchLabels:type: local

kubectl apply -f elasticsearch-pvc.yaml

2 部署ELK

部署 Elasticsearch

mkdir -p /usr/share/elasticsearch/data

# elasticsearch-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: elasticsearch
spec:replicas: 1selector:matchLabels:app: elasticsearchtemplate:metadata:labels:app: elasticsearchspec:initContainers:- name: set-dir-ownerimage: busyboxcommand: ["sh", "-c", "chown -R 1000:1000 /usr/share/elasticsearch/data"]volumeMounts:- name: datamountPath: /usr/share/elasticsearch/datacontainers:- name: elasticsearchimage: docker.elastic.co/elasticsearch/elasticsearch:7.10.1env:- name: "discovery.type"value: "single-node"ports:- containerPort: 9200name: rest-api- containerPort: 9300name: inter-nodevolumeMounts:- name: datamountPath: /usr/share/elasticsearch/datavolumes:- name: datapersistentVolumeClaim:claimName: elasticsearch-pvc

kubectl apply -f elasticsearch-deployment.yaml

# elasticsearch-service.yaml
apiVersion: v1
kind: Service
metadata:name: elasticsearch
spec:type: NodePortports:- port: 9200targetPort: 9200nodePort: 30200selector:app: elasticsearch

kubectl apply -f elasticsearch-service.yaml

部署 Kibana

# kibana-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: kibana
spec:replicas: 1selector:matchLabels:app: kibanatemplate:metadata:labels:app: kibanaspec:containers:- name: kibanaimage: docker.elastic.co/kibana/kibana:7.10.1env:- name: "ELASTICSEARCH_HOSTS"value: "http://elasticsearch:9200"ports:- containerPort: 5601name: kibana

kubectl apply -f kibana-deployment.yaml

# kibana-service.yaml
apiVersion: v1
kind: Service
metadata:name: kibana
spec:type: NodePortports:- port: 5601targetPort: 5601nodePort: 30561selector:app: kibana

kubectl apply -f kibana-service.yaml

部署 Logstash

# logstash-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: logstash
spec:replicas: 1selector:matchLabels:app: logstashtemplate:metadata:labels:app: logstashspec:containers:- name: logstashimage: docker.elastic.co/logstash/logstash:7.10.1env:- name: "ELASTICSEARCH_HOSTS"value: "http://elasticsearch:9200"ports:- containerPort: 5044name: logstash

kubectl apply -f logstash-deployment.yaml

3 注释

Service 为这些 Pod 提供了一个固定的、稳定的访问地址
在 elasticsearch-deployment.yaml 中,containerPort: 9200 和 containerPort: 9300 是在每个 Pod 中开放这两个端口,以便 Pod 内的 Elasticsearch 进程可以监听这些端口。

在 elasticsearch-service.yaml 中,port: 9200 和 targetPort: 9200 是定义一个 Service,这个 Service 在 9200 端口监听,并将所有到达这个端口的请求转发到后端 Pod 的 9200 端口。

Kibana 需要通过 Elasticsearch 的 Service 来连接 Elasticsearch,这是因为 Kibana 需要一个稳定的、不变的地址来访问 Elasticsearch,而不是直接连接到某个特定的 Pod。如果没有 Service,Kibana 就需要知道每个 Elasticsearch Pod 的 IP 地址,这在实际操作中是不可行的,因为 Pod 的 IP 地址可能会频繁变化


http://www.ppmy.cn/news/77721.html

相关文章

监控Spring Cloud微服务的实践方案

监控Spring Cloud微服务的实践方案 一、简介二、监控意义和应用场景1. 监控的重要性2. 监控应用场景 三、监控体系架构1. 数据源采集2. 数据存储和处理数据的可视化展示 四、监控数据采集方案1. 日志采集方式2. 指标采集方式 五、监控数据存储和处理方案1. 存储方式2. 处理方式…

力学常用惯性矩

惯性矩主要在计算弯矩使用,公式: I ∫ A y 2 d A I\int_Ay^2\mathrm{d}A I∫A​y2dA 式中 y y y是到中性轴的距离, d A \mathrm{d}A dA是面积微元。对于常见的截面形状的惯性矩做一下总结,写个思路,积分可以自己验证…

Unity3D :使用 UXML 实例作为模板

推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 使用 UXML 实例作为模板 您可以将现有 UXML 文档实例化为 UXML 文档中的模板作为模板实例,类似于预制件 在 Unity 中工作。 使用 UXML 文档作为模板 要将项目中的现有…

长江商学院EMBA38期甄知科技:ChatGPT应用与实践初探

近期,长江商学院EMBA38期&甄知科技开展了题为“ChatGPT应用与实践初探”的线下沙龙活动,由上海甄知科技创始合伙人兼CTO张礼军主讲,主要给大家解密最近很火的ChatGPT是什么,分享如何玩转ChatGPT,初步探索ChatGPT对…

工程安全监测振弦采集仪在岩土工程中的应用

工程安全监测振弦采集仪在岩土工程中的应用 岩土工程中使用振弦采集仪在工程建设中起着至关重要的作用。振弦采集仪可以测量地面或者岩土中的振动参数,通过这些参数可以对地基、土壤和岩体的性质及其变化进行监测,帮助我们更好地了解工程地质条件和工程建…

汽车电子知识

(671条消息) 汽车电子知识汇总_kl15电与kl30电的区别_liht_1634的博客-CSDN博客 (671条消息) KL15和KL30的区别__C位出道_的博客-CSDN博客 在汽车电子行业,它们分别对应4种电源模式:OFF模式、ACC模式、RUN模式、CRANK模式。 ①OFF模式:就是上…

GBase 8c:弹性伸缩实现自动化资源管理和优化

弹性伸缩是指根据业务负载的压力情况,自动调整集群的资源分配策略,以实现资源利用最大化。这一高级特性在GBase 8c中得到了很好的支持,可以帮助用户更加高效地管理数据库资源,提高应用性能。 在GBase 8c中,弹性伸缩主要…

这几款好用的软件分享给你

软件一:Handbrake Handbrake是一款免费开源的视频转码软件,适用于Mac、Windows和Linux系统。它可以将几乎所有视频格式转换为其他格式,包括MP4、MKV、AVI等等。作为一个强大的视频编码器,它可以压缩视频大小,并提供多…