用elk+filebeat监控容器日志
elk 为 elasticsearch(查询搜索引擎),logstash(对日志进行分析和过滤,然后转发给elasticsearch),kibana(一个web图形界面用于可视化elasticsearch数据)缩写
1.安装docker环境
2. 准备镜像
拉取 elk镜像,我们用sebp/elk
docker pull sebp/elk,
3. 启动容器
docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk -d
-p 端口映射,5601为kibana 使用,9200为elasticsearch使用,5044为logstash使用
-d 守护进程运行容器
在浏览器输入hostip:5601
正常情况下会显示界面,但是没有日志,因为还没有收集日志信息,我们要做的是将docker的日志导入elk.
4.安装filebeat
我们知道docker 会将容器日志记录到 /var/lib/docker/containers/id/id-json.log
只要将此文件发给elk就可以实现日志管理,elk提供了一个配套工具filebeat,转发日志和监控日志文件
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.1.1-x86_64.rpm
rpm -ivh filebeat-6.1.1-x86_64.rpm
修改配置文件
cd /etc/filebeat
vim filebeat.yml
enable 改为 true
paths:改为
- /var/lib/docker/container/*/*.log
- /var/log/syslog
启动filebeat,systemctl start filebeat
进入ELK容器,修改cd /etc/logstash/conf.d/
vim 02-beats-input.conf
下三行删除掉,意思是否使用证书,本例是不使用证书的,如果你需要使用证书,将logstash.crt拷贝到客户端,然后在filebeat.yml里面添加路径即可
ssl => true
ssl_certificate => "/pki/tls/certs/logstash.crt"
ssl_key => "/pki/tls/private/logstash.key"
注意:sebp/elk docker是自建立了一个证书logstash.crt,默认使用*通配配符,如果你使用证书,filebeat.yml使用的服务器地址必须使用域名,不能使用IP地址,否则会报错,这个坑是我踩后得出来的心得,说见官网文档说明即可
5.
打开kibana管理页面:http://ip:5601 新建filebeat-*
这时我们启动容器,就可以在kibana看到有新的日志输出。
在此,我们只是对elk的部分功能进行了说明。
用elk+filebeat监控容器日志的更多相关文章
- ELK+FileBeat+Log4Net搭建日志系统
ELK+FileBeat+Log4Net搭建日志系统 来源:https://www.zybuluo.com/muyanfeixiang/note/608470 标签(空格分隔): ELK Log4Ne ...
- Kubernetes部署ELK并使用Filebeat收集容器日志
本文的试验环境为CentOS 7.3,Kubernetes集群为1.11.2,安装步骤参见kubeadm安装kubernetes V1.11.1 集群 1. 环境准备 Elasticsearch运行时 ...
- ELK整合Filebeat监控nginx日志
ELK 日志分析 1. 为什么用到 ELK 一般我们需要进行日志分析场景:直接在日志文件中 grep. awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如 ...
- K8S 使用 SideCar 模式部署 Filebeat 收集容器日志
对于 K8S 内的容器日志收集,业内一般有两种常用的方式: 使用 DaemonSet 在每台 Node 上部署一个日志收集容器,用于收集当前 Node 上所有容器挂载到宿主机目录下的日志 使用 Sid ...
- ELK+Filebeat 集中式日志解决方案详解
链接:https://www.ibm.com/developerworks/cn/opensource/os-cn-elk-filebeat/index.html?ca=drs- ELK Stack ...
- logstash配合filebeat监控tomcat日志
环境:logstash版本:5.0.1&&filebeat 5.0.1 ABC为三台服务器.保证彼此tcp能够相互连接. Index服务器A - 接收BC两台服务器的tomcat日志 ...
- 原 ELK+Filebeat集中式日志解决方案(centos7)
https://blog.csdn.net/bittersweet0324/article/details/78503961
- 你必须知道的容器日志 (2) 开源日志管理方案 ELK
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.上一篇<你必须知道的容器日志(1)>中介绍了Docker自带的log ...
- elk + filebeat,6.3.2版本简单搭建,实现我们自己的集中式日志系统
前言 刚从事开发那段时间不习惯输出日志,认为那是无用功,徒增代码量,总认为自己的代码无懈可击:老大的叮嘱.强调也都视为耳旁风,最终导致的结果是我加班排查问题,花的时间还挺长的,要复现问题.排查问题等, ...
随机推荐
- Eclipse如何设置编译文件.class输出路径
1.首先我发现我的eclipse中-->project-->build automatically 是勾选上的.好吧,把把前面的勾去掉. 2去掉以后我先clean --> Clean ...
- UIButton中的**EdgeInsets是做什么用的?
UIButton中的**EdgeInsets是做什么用的? UIEdgeInsetsMake Creates an edge inset for a button or view.An inset i ...
- dll的制作
https://blog.csdn.net/guanchanghui/article/details/1621031
- Maven学习总结(一)——pom.xml文件配置详解
<build>标签:<plugins>给出构建过程中所用到的插件 <plugins> <plugin> <groupId>org.apach ...
- mysql/MariaDB 搭建后创建密码及开启远程
创建密码: mysqladmin -u root -p password 123 或 MariaDB [(none)]> use mysql MariaDB [mysql]> update ...
- 全文检索及ElasticSearch框架学习
1. 全文检索的通用步骤: 1.建库步骤: a 分词 b 倒排索引 : 关键词和记录Id的对应关系,1对多. 2.查询步骤: a 分词 b 查索引 c 取交集或并集 2. 产品使用全文 ...
- Redis 缓存穿透
Redis 缓存穿透 https://www.cnblogs.com/jiekzou/p/9212114.html 场景描述:我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容 ...
- Oracle表空间、段、区和块简述
本文转载自:http://blog.itpub.net/17203031/viewspace-682003/ 在Oracle学习过程中,存储结构,表段区块可能是每个初学者都要涉及到的概念.表空间.段. ...
- UVa 1609 - Foul Play
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- C++实现的Buffer类
写C#的同志一定觉得Byte []比C++的 BYTE * 加 Length的方式好的多.一来,只需要一个对象就可以是表示一段字节流,另一方面,由于C#的特性,不需要象C++那样还要记得删除指针.由于 ...