一、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. Adobe Acrobat DC 安装

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

  2. MySQL——DOS命令

    翻开之前的笔记发现有这么一篇,于是整理了一下发出来加深记忆并分享交流,欢迎纠错,谢谢!!! 1.启动MySQL服务: net start mysql; 2.停止MySQL服务: net stop my ...

  3. python 线程池实用总结

    线程池的两张方法 submit 和map from concurrent.futures import ThreadPoolExecutor import time # def sayhello(a) ...

  4. Java入门 - 面向对象 - 01.继承

    原文地址:http://www.work100.net/training/java-inheritance.html 更多教程:光束云 - 免费课程 继承 序号 文内章节 视频 1 概述 2 继承的特 ...

  5. [状压DP思路妙题]图

    源自 luhong 大爷的 FJ 省冬令营模拟赛题 Statement 给定一个 \(n\) 个点 \(m\) 条边的图,没有重边与自环 每条边的两端点编号之差不超过 \(12\) 求选出一个非空点集 ...

  6. [题解][Codeforces]Codeforces Round #602 (Div. 1) 简要题解

    orz djq_cpp lgm A 题意 给定一个分别含有 \(\frac n2\) 个左括号和右括号的括号序列 每次可以将序列的一个区间翻转 求一个不超过 \(n\) 次的操作方案,使得操作完之后的 ...

  7. latex之在windows环境下能够在latex中使用中文

    今天要把前段时间的实验用英语先记录下来,自己就想根据原来会议的模版弄一个简易的页面(英语),突然想到之前用英文模板时是不能输入中文的,于是想着怎么在latex中输入中文,折腾了许久,终于成功了,现在分 ...

  8. Qt Installer Framework翻译(7-4)

    组件脚本 对于每个组件,您可以指定一个脚本,来准备要由安装程序执行的操作.脚本格式必须与QJSEngine兼容. 构造 脚本必须包含安装程序在加载脚本时创建的Component对象. 因此,脚本必须至 ...

  9. Bate冲刺博客(3次)

    Bate冲刺博客 课程介绍 课程 (https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience) 作业要求 https://www ...

  10. 史上最简单的的HashTable源码分析

    HashTable源码分析 1.前言 Hashtable 一个元老级的集合类,早在 JDK 1.0 就诞生了 1.1.摘要 在集合系列的第一章,咱们了解到,Map 的实现类有 HashMap.Link ...