ELK

内容纲要

ELK 是什么?

  • 是 ElasticSearch、Logstash、Kibana 三个开源软件的组合
  • 具备数据收集、存储、分析功能
  • 适合实时数据分析和检索的场景
  • 具有分布式特性
  • 易扩展

ELK 功能

  • ElasticSearch
    • 存储
    • 索引
  • Logstash
    • 收集
    • 处理
  • Kibana
    • 可视化
    • 统计分析
  • Beat(扩展组件)
    • MetricBeat
    • 收集各种主机信息(CPU、内存……),详见官网
    • Filebeat
    • 轻量级日志收集组件

简单架构

op0=>operation: Data(Log)
op1=>operation: MetricBeat
op2=>operation: Redis
op3=>operation: Logstash
op4=>operation: ElasticSearch
op5=>operation: Kibana

op0(right)->op2
op1(right)->op4
op2(right)->op3
op3(right)->op4
op4(right)->op5

使用

使用 Docker 安装 ELK

参考 http://github.com/deviantony/docker-elk.git

注意 ↓
- Kibana 中文设置
`$ vim kibana/config/kibana.yml`
- 新增中文配置 ↓↓↓
- i18n.locale: "zh-CN"
注意 ↓
- ElasticSearch 默认需要 4G 内存;可以通过设置 ES_JAVA_OPTS 来修改
- 如:`ES_JAVA_OPTS="-Xms512m -Xmx512m"`

使用 Docker 安装 MetricBeat

获取配置文件

  • 下载 $ wget http://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.4.1-linux-x86_64.tar.gz
  • 解压 $ tar zxvf metricbeat-7.4.1-linux-x86_64.tar.gz
  • 提取 metricbeat.yml modules.d

使用 Docker Compose
$ vim docker-compose.yml

version: '2'

services:

  metricbeat:
    image: docker.elastic.co/beats/metricbeat:7.4.1
    container_name: metricbeat
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /proc:/hostfs/proc:ro
      - /sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro
      - /:/hostfs:ro
      - ./metricbeat/metricbeat.yml:/usr/share/metricbeat/metricbeat.yml:ro
      - ./metricbeat/modules.d:/usr/share/metricbeat/modules.d:ro
      -  /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro
    user: "root"
    command: -system.hostfs=/hostfs -e
    restart: always

docker exec -it metricbeat metricbeat modules enable system

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注