一、Elasticsearch安装

helm安装的也行,而且helm安装的stable/elasticsearch可用性更高,但是使用资源更多。

1、安装elasticsearch(线上环境千万记得把emptyDir改了,一定要使用存储。)

#下载资源文件
wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/es-statefulset.yaml
wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/es-service.yaml #替换镜像和修改配置
docker.elastic.co/elasticsearch/elasticsearch-oss:6.7.
#其它配置根据自己情况修改,我这里修改了name的值,其它的测试就不添加或修改了

2、查看

[root@k8s-m elk]# kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch ClusterIP 10.102.165.164 <none> /TCP 108s [root@k8s-m elk]# curl 10.102.165.164:/_cluster/health?pretty
{
"cluster_name" : "docker-cluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : ,
"number_of_data_nodes" : ,
"active_primary_shards" : ,
"active_shards" : ,
"relocating_shards" : ,
"initializing_shards" : ,
"unassigned_shards" : ,
"delayed_unassigned_shards" : ,
"number_of_pending_tasks" : ,
"number_of_in_flight_fetch" : ,
"task_max_waiting_in_queue_millis" : ,
"active_shards_percent_as_number" : 100.0
}

二、Logstash安装

1、下载与修改helm资源清单(修改镜像和配置)

#下载logtsash资源清单
helm fetch stable/logstash #修改的配置(我这里就拿messages和audit日志做演示,我去掉了pvc的存储,这里就不记录了)
#镜像6.7.0 #elasticsearch配置
elasticsearch:
host: elasticsearch.kube-system.svc.cluster.local
port: #输入输出等配置
inputs:
main: |-
input {
beats {
port =>
}
} filters:
main: |-
filter {
if "audit_log" in [tags] {
mutate {
rename => { "[host][name]" => "host" }
}
} if "messages_log" in [tags] {
mutate {
rename => { "[host][name]" => "host" }
}
}
}
outputs:
main: |-
output {
if "audit_log" in [tags] {
elasticsearch {
hosts => ["${ELASTICSEARCH_HOST}:${ELASTICSEARCH_PORT}"]
index => "audit-%{+YYYY.MM.dd}"
}
}
if "messages_log" in [tags] {
elasticsearch {
hosts => ["${ELASTICSEARCH_HOST}:${ELASTICSEARCH_PORT}"]
index => "messages-%{+YYYY.MM.dd}"
}
}
}

2、安装与查看

helm  install stable/logstash     --name logstash -f values.yaml    --namespace  kube-system

#查看
[root@k8s-m logstash]# kubectl get sts -n kube-system
NAME READY AGE
elasticsearch / 33m
logstash / 19m

三、Filebeat安装

1、下载与修改helm资源清单(修改镜像和配置)

#下载清单
helm fetch stable/filebeat #修改镜像等配置(演示messages和audit日志)
config:
filebeat.config:
modules:
path: ${path.config}/modules.d/*.yml
# Reload module configs as they change:
reload.enabled: false processors:
- add_cloud_metadata: filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/messages
close_eof: true
tags: messages_log
clean_*: true
- type: log
paths:
- /var/log/audit/audit.log
close_eof: true
tags: audit_log
clean_*: true
- type: docker
containers.ids:
- "*"
processors:
- add_kubernetes_metadata:
in_cluster: true
- drop_event:
when:
equals:
kubernetes.container.name: "filebeat" output.file:
enabled: false
output.logstash:
hosts: ["logstash.kube-system.svc.cluster.local:5044"]
http.enabled: true
http.port: 5066

2、安装与查看

#安装
helm install stable/filebeat --name filebeat -f values.yaml --namespace kube-system #查看
[root@k8s-m filebeat]# kubectl get ds -n kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
calico-node beta.kubernetes.io/os=linux 45m
filebeat <none> 21m

四、Kibana安装

1、下载与修改helm资源清单(修改镜像和配置)

#下载清单
helm fetch stable/kibana #修改的配置(我把443改成了80端口访问)
files:
kibana.yml:
server.name: kibana
server.host: ""
elasticsearch.hosts: http://elasticsearch.kube-system.svc.cluster.local:9200
service:
type: ClusterIP
externalPort:
internalPort:

2、安装与查看

#安装
helm install stable/kibana --name kibana -f values.yaml --namespace kube-system #让kibana能外网访问
kubectl patch svc kibana -n kube-system -p '{"spec":{"type":"NodePort"}}'

3、浏览器查看

五、Fluentd安装(filebeat和fluentd选一个安装)(k8s日志收集方案推荐 Fluentd)

安装fluentd就没必要安装logtsah和filebeat了,上面的架构可以说是ELFK,特点是logstash对日志较强的格式处理,格式化输出,还有特点就是之前用过或学过,不用再学习了,可以直接拿来就用。并且logstash保存到Elasticsearch之间还可以添加个消息队列。

EFK (Elasticsearch + Fluentd + Kibana) 是kubernetes官方推荐的日志收集方案。

Fluentd官方安装的就已经收集了许多日志了。可以根据自己的需求添加修改。

推荐一篇博客:https://blog.laisky.com/p/fluentd/#

1、安装Fluentd(记得修改elasticsearch的配置)

wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml
wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml

2、查看

[root@k8s-m fluentd]# kubectl get ds -n kube-system fluentd-es-v2.7.0
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
fluentd-es-v2.7.0 <none> 101m

3、kibana查看

4、总结

EFK的安装完全可以使用官方的yaml文件安装,并且官方安装的方式使用的EFK版本都比较新。

k8s 安装ELK(6.7.0版本)和EFK的更多相关文章

  1. CentOS 6 中安装Node.js 4.0 版本或以上

    如果想在CentOS 6 中安装Node.js >4.0,如果通过以往的方式安装: wget http://nodejs.org/dist/v4.0.0/node-v4.0.0.tar.gz t ...

  2. Centos7.x RPM安装ELK 7.5.0

    一.环境介绍   单位需要分析tomcat 日志和业务日志,比较以后还是选择用ELK 来进行日志的分析,以及可视化的展示. 系统环境 服务器: 1.AWS EC2 2C8G [root@ip-10-0 ...

  3. 安装篇四:安装NGINX(1.4.0版本)

    #1.NGINX安装 1.安装文件上传软件 [root@TEST ~]# yum install lrzsz –y <---拖拽文件 2.检查软件安装的系统环境 [root@TEST ~]# c ...

  4. Mysql5.7和8.0版本的文件夹版安装教程(整合版,超详细)

    安装Mysql(5.7版本) 下载地址在这里可以自选版本,找到合适的版本进行下载 解压安装包 配置环境变量 win+r 输入 sysdm.cpl 点击高级 点击环境变量 新建一个系统变量 变量名为MY ...

  5. ELK技术实战-安装Elk 5.x平台

    ELK技术实战–了解Elk各组件   转载  http://www.ywnds.com/?p=9776 ELK技术实战-部署Elk 2.x平台 ELK Stack是软件集合Elasticsearch. ...

  6. 如何在安装了Owin 2.X版本的项目中正确安装SignalR 2.2.1

    以安装了Owin2.1.0版本为例 1打开NuGet程序包管理控制台 2输入 Install-Package Microsoft.AspNet.SignalR -Version 2.2.1 2输入 I ...

  7. ELK 安装部署实战 (最新6.4.0版本)

    一.实战背景 根据公司平台的发展速度,对于ELK日志分析日益迫切.主要的需求有: 1.用户行为分析 2.运营活动点击率分析 作为上述2点需求,安装最新版本6.4.0是非常有必要的,大家可根据本人之前博 ...

  8. 【K8S】K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本)

    [K8S]K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本) 写在前面 K8S集群部署成功了,如何对集群进行可视化管理呢?别着急,接下来,我们一 ...

  9. ELK——安装 logstash 2.2.0、elasticsearch 2.2.0 和 Kibana 3.0

    本文内容 Elasticsearch logstash Kibana 参考资料 本文介绍安装 logstash 2.2.0 和 elasticsearch 2.2.0,操作系统环境版本是 CentOS ...

随机推荐

  1. 网络连接报错“DNS服务未响应”

    一般报这个错误就是网络没有正常连接. 先检查连接情况:路由器是否正常.网线是否正常.接口是否正常.

  2. 通过自己实现接口来加深理解SpringMVC的执行流程

    功能介绍 上篇文章[从源码角度了解SpringMVC的执行流程]通过接口源码向大家介绍了SpringMVC的执行流程,主要偏重于源码.这篇文件我们来自己实现那几个关键接口,来真实体验下SpringMV ...

  3. 【LC_Lesson5】---求最长的公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow" ...

  4. C# html生成图片保存下载

    最近有个需求,需要把内容生成图片,我找到一些资料可以将html页面生成图片并保存下载 下面是简单的实现 1.html页面 @{ Layout = null; } <!DOCTYPE html&g ...

  5. Adobe Acrobat DC 安装

    Adobe Acrobat DC 制作pdf模板 下载:http://www.downza.cn/soft/20562.html 安装出错解决: 可以将C:\Program Files (x86)\C ...

  6. 史上最简单的vi教程,10分钟包教会

    从第一次接触vi/vim到现在已经十几年了,在这个过程中,来来回回,反反复复,学习vi很多次了. 虽然关于vi的使用,我还远未达到"专家"的水平,但对于vi的使用,我有话说. 1. ...

  7. 西柚考勤系统——alpha2

    这个作业属于哪个课程 http://edu.cnblogs.com/campus/xnsy/GeographicInformationScience 这个作业的要求在哪里 https://www.cn ...

  8. Python3-ORM-Sqlalchemy

    目录: ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业 1. ORM介绍 orm英文全称object relational mapping, ...

  9. tarjan求割点与割边

    tarjan求割点与割边 洛谷P3388 [模板]割点(割顶) 割点 解题思路: 求割点和割点数量模版,对于(u,v)如果low[v]>=dfn[u]那么u为割点,特判根结点,若根结点子树有超过 ...

  10. windows RabbitMQ安装与配置

    windows RabbitMQ安装与配置 1.安装Erlang 下载地址: http://www.erlang.org/downloads 注意: 右键以管理员身份进行安装,否则将导致后续无法启动 ...