一、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. 分享一款基于aui框架的图文发布界面

    本文出自APICloud官方论坛, 感谢论坛版主 川哥哥 的分享. 分享一款基于aui框架的图文发布界面,可以添加多张图可以删除,类似qq空间发布说说,没做服务器后端,只演示前端操作.需要用到UIMe ...

  2. 执行sql中的 函数,function

    CREATE FUNCTION [dbo].[GetWeight] ( ,)--重量/体积重 ) ,) as begin --顺丰重量/体积重以0.5kg为单位向上取值(小数点后两位4舍5入) ,) ...

  3. java反序列化php序列化的对象

    最近工作中遇到一个需要解析php序列化后存入DB的array, a:4:{i:0;a:2:{s:11:"province";s:8:"0016";s:7:&qu ...

  4. matplotlib 折线图

    1.基本要点 # 导入模块 from matplotlib import pyplot as plt # x轴数据 x = range(2, 26, 2) # y轴数据 y = [15, 13, 14 ...

  5. .Net Core2.*学习手册

    1.net core 基础知识解析(创建一个.net core网站)(视频录制) 1.1 Startup解析(没写) 1.2 目录结构分析(没写) 1.3 使用静态文件(没写) 1.4 Control ...

  6. 从零开始ming的多人联机游戏(3)为socket通讯添加mysql数据库

    macOS下visual studio C#加载mySql 本文在上一节的基础上,添加了mysql数据库的功能.client发送信息给服务器后,服务器将收到的消息保存在数据库中. 如果client发送 ...

  7. Ubuntu16手动安装OpenStack——nova篇。。转

    前言: 本文转自https://www.voidking.com/dev-ubuntu16-manual-openstack-nova/ ,过程非常的详细,作者也说本实验最终失败,因为课程要求我们只要 ...

  8. 优雅写Java之四(类与对象)

    一.类相关用法 二.Bean 三.泛型与注解 四.序列化

  9. 从头开始,如何配置一部纯净好用的Windows

    emmm,原因是酱紫的, 鉴于许许多多的人问过我怎么重装系统,装出来的系统干净没有广告什么的, 还有问为什么我的电脑这么卡,是不是要重装系统or更换设备的, 啊,更换设备的土豪请随意

  10. selenium + PhantomJS使用时 PhantomJS报错解决

    selenium + PhantomJS使用时 PhantomJS报错解决 在做动态网页爬虫时用到了selenium + PhantomJS,安装好之后运行时报错: UserWarning: Sele ...