集中式日志系统 ELK 协议栈__简介与安装

2018-02-08  本文已影响0人  流月0

环境

CentOS-7-x86_64-Minimal-1708

简介

集中式日志系统 ELK 并不是一款软件,而是一整套解决方案,是三个软件的首字母缩写:Elasticsearch,Logstash 和 Kibana。
这三款软件都是开源软件,通常是配合使用,而且又先后归于 Elastic.co 公司名下,故被简称为 ELK 协议栈。

基本原理

集中式日志系统 ELK 协议栈__简介_1.png

Elasticsearch

简介

Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写。

安装

yum install java -y
cat << "EOF" >> /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-6.x]
name=Elasticsearch 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
EOF
yum install elasticsearch -y

启动

Elasticsearch 不允许以 root 用户的身份启动,必须切换到普通用户,并在切换之前修改相关目录权限。

useradd elsearch
chown -R elsearch /etc/sysconfig/elasticsearch
chown -R elsearch /etc/elasticsearch
chown -R elsearch /var/log/elasticsearch/
chown -R elsearch /var/lib/elasticsearch/
su elsearch
cd /usr/share/elasticsearch/
bin/elasticsearch
[2018-01-27T15:20:32,252][INFO ][o.e.n.Node               ] [_izbz0j] started

Hello World

[root@localhost elasticsearch]# curl 'https://localhost:9200/?pretty'
{
  "name" : "_izbz0j",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "UNE-x9AiT0mDS0upgBOkcA",
  "version" : {
    "number" : "6.1.2",
    "build_hash" : "5b1fea5",
    "build_date" : "2018-01-10T02:35:59.208Z",
    "build_snapshot" : false,
    "lucene_version" : "7.1.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Logstash

简介

Logstash 是一个具有实时渠道能力的数据收集引擎。使用 JRuby 语言编写。其作者是世界著名的运维工程师乔丹西塞 ( JordanSissel )。

安装

yum install java -y
cat << "EOF" >> /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
EOF
yum install logstash -y

启动

cd /usr/share/logstash/
bin/logstash -e 'input { stdin { } } output { stdout {} }'

Hello World

启动后,当命令行显示The stdin plugin is now waiting for input:时,输入Hello World,然后就会直接在命令行输出

The stdin plugin is now waiting for input:
Hello World
2018-01-27T07:40:43.301Z localhost.localdomain Hello World

Kibana

简介

Kibana 是一款基于 Apache 开源协议,使用 JavaScript 语言编写,为 Elasticsearch 提供分析和可视化的 Web 平台。它可以在 Elasticsearch 的索引中查找,交互数据,并生成各种维度的表图。

安装

Kinaba 需要和 Elasticsearch 结合起来运行,必须将两者的版本号保持一致(比如 Kinaba 6.1.0 和 Elasticsearch 6.1.0),或是 Elasticsearch 的版本号稍高(比如 Kinaba 6.0.0 和 Elasticsearch 6.1.0)。
从 Kibana 6.0.0 开始,仅支持64位操作系统。

cat << "EOF" >> /etc/yum.repos.d/kibana.repo
[kibana-6.x]
name=Kibana 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
EOF
yum install kibana -y

启动

cd /usr/share/kibana/
bin/kibana
[root@localhost kibana]# bin/kibana
  log   [07:56:34.537] [info][status][plugin:kibana@6.1.2] Status changed from uninitialized to green - Ready
  log   [07:56:34.614] [info][status][plugin:elasticsearch@6.1.2] Status changed from uninitialized to yellow - Waiting for Elasticsearch
  log   [07:56:34.637] [info][status][plugin:console@6.1.2] Status changed from uninitialized to green - Ready
  log   [07:56:34.662] [info][status][plugin:metrics@6.1.2] Status changed from uninitialized to green - Ready
  log   [07:56:34.916] [info][status][plugin:timelion@6.1.2] Status changed from uninitialized to green - Ready
  log   [07:56:34.921] [info][listening] Server running at https://0.0.0.0:5601
  log   [07:56:35.363] [info][status][plugin:elasticsearch@6.1.2] Status changed from yellow to green - Ready

Hello World

systemctl start firewalld
firewall-cmd --set-default-zone=public && \
firewall-cmd --zone=public --add-port=5601/tcp --permanent && \
firewall-cmd --reload

More

集中式日志系统 ELK 协议栈 - Nginx 日志分析实战

博客更新地址

上一篇 下一篇

猜你喜欢

热点阅读