1. ELK 系统是什么

ELK 是一套日志中心解决方案,其三个字母分别表示:

  • Elasticsearch:负责日志存储及检索
  • Logstash:负责日志收集、过滤及格式化
  • Kibana:数据看板,负责日志展示及数据可视化

Elasticsearch 是自带搜索引擎的数据库。

2. ELK 系统常见用途

1. 网络监控

可以用来监控网络设备。

2. 应用监控

实时监控业务:如访问量、终端类型

分析业务:可以调取日志分析平均每秒请求数、峰谷请求数、API 请求数等,用于系统扩容的参考。

3. 特殊用途

分析用户画像。

3. Docker 容器化应用日志中心

除了应用镜像外,ELK 对应的镜像分别是 logstashelasticsearchkibana 三个。

1. 开启 Docker 宿主机的 rsyslog 服务

编辑服务的配置文件:

vi /etc/rsyslog.conf

开启下面的三个参数,让 rsyslog 加载 imtcp 模块并监听 514 端口,然后将 rsyslog 收集到的数据转发到 4560 端口:

$ModLoad imtcp
$InputTcpServerRun 514
*.* @@localhost:4560

重启 rsyslog 服务,并查看 514 端口是否监听成功:

systemctl restart rsyslog
netstat -ntpl

2. 部署 ELK

部署 ElasticSearch 服务

docker run -d -p 9200:9200 -v \
~/elasticsearch/data:/usr/share/elasticsearch/data \
--name elasticsearch elasticsearch

部署完成后可以访问宿主机的 9200 端口验证服务是否部署成功。成功时会输出 JSON 格式的版本信息。

部署 Logstash 服务

~/logstash/ 目录下创建 logstash.conf 配置文件,将 Logstash 服务配置为从本地的 rsyslog 服务获取应用日志数据,然后转发到 Elasticsearch 数据库。配置文件内容如下:

input {
syslog {
type => "rsyslog"
prot => 4560
}
}
output {
elasticsearch {
hosts => [ "elasticsearch:9200" ]
}
}

启动 Logstash 容器:

docker run -d -p 4560:4560 \
-v ~/logstash/logstash.conf:/etc/logstash.conf \
--link elasticsearch:elasticsearch \
--name logstash logstash \
logstash -f /etc/logstash.conf

部署 Kibana 服务

docker run -d -p 5601:5601 \
--link elasticsearch:elasticsearch \
-e ELASTICSEARCH_URL=http://elasticsearch:9200 \
--name kibana kibana

启动应用程序产生日志

注意,启动应用程序的容器时,需要设置将日志转发到 syslog 服务中。

docker run -d -p 80:80 \
--log-driver syslog \
--log-opt syslog-address=tcp://localhost:514 \
--log-opt tag="nginx" \
--name nginx
nginx

3. 测试

产生应用日志

打开浏览器,并多次访问 localhost:80 来让应用程序生产日志。

打开 Kibana 可视化界面

在 localhost:5601 页面中,查看日志信息。可以在查询框中输入 program=nginx 查询特定日志。

ELK 日志系统入门及通过 Docker 部署的更多相关文章

  1. Centos6.7 ELK日志系统部署

    Centos6.7 ELK日志系统部署 原文地址:http://www.cnblogs.com/caoguo/p/4991602.html 一. 环境 elk服务器:192.168.55.134 lo ...

  2. 创业公司做数据分析(四)ELK日志系统 (转)

    http://blog.csdn.net/zwgdft/article/details/53842574 作为系列文章的第四篇,本文将重点探讨数据采集层中的ELK日志系统.日志,指的是后台服务中产生的 ...

  3. ELK日志系统之通用应用程序日志接入方案

    前边有两篇ELK的文章分别介绍了MySQL慢日志收集和Nginx访问日志收集,那么各种不同类型应用程序的日志该如何方便的进行收集呢?且看本文我们是如何高效处理这个问题的 日志规范 规范的日志存放路径和 ...

  4. 创业公司做数据分析(四)ELK日志系统

      作为系列文章的第四篇.本文将重点探讨数据採集层中的ELK日志系统.日志.指的是后台服务中产生的log信息,一般会输入到不同的文件里.比方Django服务下,一般会有nginx日志和uWSGI日志. ...

  5. 【7.1.1】ELK日志系统单体搭建

    ELK是什么? 一般来说,为了提高服务可用性,服务器需要部署多个实例,每个实例都是负载均衡转发的后的,如果还用老办法登录服务器去tail -f xxx.log,有很大可能错误日志未出现在当前服务器中, ...

  6. ELK日志系统:Elasticsearch+Logstash+Kibana+Filebeat搭建教程

    ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 系统架构 安装配置JDK环境 JDK安装(不能安装JRE) JDK下载地址:http://www.orac ...

  7. ELK日志系统之kibana的使用操作

    1.ELK日志系统打开后,打开kibana的操作界面,第一步创建索引模式: 第2步:创建日志索引 第3步:创建成功 第4步:查看30分钟时间段内的日志数据,也可以查今天的,今月的,今年的 放牛去

  8. 03篇ELK日志系统——升级版集群之ELK日志系统整合springboot项目

    [ 前言:整个ELK日志系统已经搭建好了,接下来的流程就是: springboot项目中的logback日志配置通过tcp传输,把springboot项目中所有日志数据传到————>logsta ...

  9. 02篇ELK日志系统——升级版集群之kibana和logstash的搭建整合

    [ 前言:01篇LK日志系统已经把es集群搭建好了,接下来02篇搭建kibana和logstash,并整合完成整个ELK日志系统的初步搭建. ] 1.安装kibana 3台服务器: 192.168.2 ...

随机推荐

  1. P2876 [USACO07JAN]解决问题Problem Solving

    传送门 显然的 $dp$,设 $f[i][j]$ 表示做完第 $i$ 题,此月做的题的区间为 $[j,i]$ 需要的最少月数 每个月记得分成还钱并写新题,和只还钱分类讨论,不要搞成每个月强制做一题 那 ...

  2. asp.net中的<% %>,<%= %>,<%# %><%$ %>的使用

    原文:https://www.cnblogs.com/Hackerman/p/3857630.html 首先我们来看一下<% %>的使用 在aspx的页面中只能使用服务器控件和一般的控件, ...

  3. 信号量Semaphore实现原理

    Semaphore用于管理信号量,在并发编程中,可以控制返访问同步代码的线程数量.Semaphore在实例化时传入一个int值,也就是指明信号数量.主要方法有两个:acquire()和release( ...

  4. Taro -- 使用 Redux 来进行全局变量的管理

    前言 Redux是JavaScript 状态容器,提供可预测化的状态管理.一般来说,规模比较大的小程序,页面状态,数据缓存,需要管理的东西太多,这时候引入Redux可以方便的管理这些状态,同一数据,一 ...

  5. Window Server 2008 R2 FTP服务用户隔离

    Window Server 2008 R2 FTP服务用户隔离 原题:安装FTP服务,新建一个FTP站点,主目录为C:\ftproot,通过适当技术实现用户soft1 与soft2通过匿名方式登录FT ...

  6. 记录一次 Linux crontab 执行django 脚本 失败 的经历和解决办法

    目的是想通过定时任务来执行一次数据统计,本来可以用celery来做,但是想着这个项目整个就没用到异步的地方,所以决定用crontab来做.之前做过数据库的热备份,想来用该没啥问题,但是现实打脸啪啪响. ...

  7. java并发学习--第六章 线程之间的通信

    一.等待通知机制wait()与notify() 在线程中除了线程同步机制外,还有一个最重要的机制就是线程之间的协调任务.比如说最常见的生产者与消费者模式,很明显如果要实现这个模式,我们需要创建两个线程 ...

  8. [web 安全] 源码泄露

    web 源码泄露 1..hg 源码泄露 http://www.example.com/.hg/ 2..git 源码泄露 http://www.example.com/.git/config 3..ds ...

  9. AIX下绑定双网卡

    摘要 AIX下绑定双网卡,实现IP地址的高可用.为后续按照oracle11gRAC环境做准备.   收 藏 生产环境中是将不同网卡的不同网口进行绑定.比如A网卡有A1,A2网口:B网卡有B1,B2网口 ...

  10. Ubuntu Server下MySql数据库备份脚本代码

    明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar. ...