k8s笔记8-部署filebeat+ELK日志方案
仅供本人学习、复习使用K8s使用的日志方案,是属于一个技术栈组成的方案。其中,ElaFilebeat是一个日志采集工具;logstash是一个数据处理引擎,处理filebeat发送的日志;Elasticsearch用于做数据存储,提供全网检索、分布式的搜索引擎;Kibana,从Elasticsearch数据库中展示,同时,可进行绘图、搜索、作仪表盘。Node上部署一个日志收集程序每个nod...
仅供本人学习、复习使用
日志就是一组数据,数据即价值
k8s系统的组件日志
k8s cluster里面部署的应用程序日志
K8s使用的日志方案,是属于一个技术栈组成的方案。一般使用filebeat+ELK方式。
Filebeat是一个日志采集工具;
logstash是一个数据处理引擎,处理filebeat发送的日志;即支持从各种数据源收集数据,并对数据进行过滤、分析等操作;
Elasticsearch用于做数据存储,分布式的搜索引擎;用于全文搜索;
Kibana,可视化平台;能够搜索、展示存储在Elasticsearch数据库中索引数据,同时,可以很方便地以图表、表格、地图形式展示。
Node上部署一个日志收集程序
每个node上仅需部署一个日志收集程序,资源消耗少,对应用无侵入。(但是,应用程序日志需要写到标准输出和标准错误输出,不支持多行日志)
1、DaemonSet(守护进程集)方式部署日志收集程序 --这个在每个节点上会有一个pod监听
2、对本节点(node上的)/var/log和 /var/lib/docker/containers/
两个目录下的日志进行采集
docker日志通常放在目录下,一般可通过cat命令查看,如
cat /var/lib/docker/containers/***-json.log
------or------
ls /var/log/containers/
Pod中附加专用日志收集的容器
优势是低耦合(但是每个Pod启动一个日志收集代理,增加资源消耗,并增加运维维护成本
)每个运行应用程序的Pod中增加一个日志收集容器,使用emtyDir共享日志目录让日志收集程序读取到。
部署第二个方案
elastic.co/cn 产品–> logstash–> 文档–>logstash introduction
安装elasticsearch和logstash到harbor服务器上,如230
由于elasticsearch和logstash都是Java环境,首先需要装Java环境。
1、安装Logstash,官方文档.
java openjdk版本
yum install java-1.8.0-openjdk -y
java -version
注:一般需要添加Java环境变量,如果Logstash在程序包安装期间无法找到JAVA_HOME环境变量,您可能会收到错误消息,Logstash将无法正常启动。
# 修改yum源文件
vi /etc/yum.repos.d/logstash.repo
-------
[logstash-6.x]
name=Elastic repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
-------
yum install logstash elasticsearch kibana -y
修改kibana配置文件
vi /etc/kibana/kibana.yml
--------
#server.port: 5601 去掉#,修改默认访问端口是5601
server.host: "localhost" 改为 server.host: "0.0.0.0",实现外网连接
#elasticsearch.hosts: ["http://localhost:9200"] 去掉#,连接本地elasticsearch存储地址
--------
systemctl start kibana
修改elasticsearch配置文件,默认设置即可,以下是存储地址。
vi /etc/elasticsearch/elasticsearch.yml
---------
# Path to directory where to store the data (separate multiple locations by comma):
path.data: /var/lib/elasticsearch
# Path to log files:
path.logs: /var/log/elasticsearch
-----------
systemctl start elasticsearch
查看是否已经被监听
netstat -antp |grep 5601
ps -ef |grep java
ps -ef |grep kibaka
网页中访问主页10.0.3.104:5601
vi /etc/logstash/conf.d/logstash-to-es.conf # 设置文件
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash-to-es.conf
更多推荐
所有评论(0)