对于日志来说,最常见的需求就是收集、存储、查询、展示,开源社区正好有相对应的开源项目:logstash(收集)、elasticsearch(存储+搜索)、kibana(展示),我们将这三个组合起来的技术称之为ELKStack,所以说ELKStack指的是Elasticsearch、Logstash、Kibana技术栈的结合

主机名

IP

服务

node1

192.168.16.73

Elasticsearch、Kibana

node2

192.168.17.224

Elasticsearch、Kibana

node3

192.168.16.70

Logstash、服务及程序日志

node4

192.168.16.111

Logstash、Redis(消息队列)

本次采用集群安装,单台安装大同小异

一、安装

Elasticsearch、需要Java环境,所以直接使用yum安装。 最好用1.8版本(centos7),centos 6.X版本可tar包安装

[root@node1]# java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) -Bit Server VM (build 25.102-b14, mixed mode)

1、下载并安装GPG key

[root@node1 ~]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

2、添加elasticsearch、logstash、kibana的yum仓库

# 添加elasticsearch/logstash/ kibana的yum仓库
[root@node1 ~]# cat /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-.x]
name=Elasticsearch repository for .x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=

cat kibana.repo
[kibana-4.5]
name=Kibana repository for4..x packages
baseurl=http://packages.elastic.co/kibana/4.5/centos
gpgcheck=
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=

3、安装ElasticSearch

[root@node1 ~]# yum install -y elasticsearch
[root@node1 ~]# yum install -y kibana

4、yum安装需要配置limits

[root@node1 ~]# vim /etc/security/limits.conf
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited

二、配置Elasticsearch(注,此处可能有坑,yml配置文件":"两边要有空格)

[root@node1 ~]# mkdir -p /data/es-data #创建es数据目录
[root@node1 ~]# chown -R elasticsearch.elasticsearch /data/es-data/ #授权
[root@node1 /]# grep '^[a-z]' /etc/elasticsearch/elasticsearch.yml
cluster.name: elk-cluter #集群名称
node.name: linux-node1 #节点的名称
path.data: /data/es-data #数据存放路径
path.logs: /var/log/elasticsearch/ #日志存放日志
bootstrap.mlockall: true #不使用swap分区,锁住内存
network.host: 192.168.16.73 #允许访问的IP(本机ip)
http.port: #elasticsearch访问端口
discovery.zen.ping.unicast.hosts: ["192.168.16.73","192.168.17.224"] #单播(配置一台即可,生产可以使用组播方式)
 

运行Elasticsearch

1.启动elasticsearch

systemctl daemon-reload
systemctl enable elasticsearch
[root@node1 ~]# systemctl start elasticsearch ##centos7 启动方式

启动时如果提示:  Can't start up: not enough memory,有可能是java未用到1.8,还是用的1.5或者1.6

解决办法:

vi /etc/sysconfig/elasticsearch

将 JAVA_HOME=/root/jdk1.8.0_60 写到文件中保存后启动

service elasticsearch start    ####centos 6.x 启动方式

2.访问:elasticsearch_url: "http://192.168.16.73:9200/"     出现下面 json 串表示安装成功

{
"name" : "linux-node1",
"cluster_name" : "elk-cluter",
"cluster_uuid" : "8Tw1Ko2PS6aJzSguT7kwig",
"version" : {
"number" : "2.4.1",
"build_hash" : "c67dc32e24162035d18d6fe1e952c4cbcbe79d16",
"build_timestamp" : "2016-09-27T18:57:55Z",
"build_snapshot" : false,
"lucene_version" : "5.5.2"
},
"tagline" : "You Know, for Search"
}

三、Elasticsearch插件

1.安装Elasticsearch集群管理插件

[root@node1 ~]# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head

访问head集群插件:http://ES_IP:9200/_plugin/head

2.安装Elasticsearch监控插件

[root@node1 plugins]# /usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf

访问kopf监控插件:http://ES_IP:9200/_plugin/kopf

elasticsearch集群

1.node2配置一个与node1相同的节点,通过组播进行通信,会通过cluster进行查找,如果无法通过组播查询,修改成单播即可

[root@node2 ~]# grep "^[a-Z]" /etc/elasticsearch/elasticsearch.yml
cluster.name: elk-cluter
node.name: linux-node2
path.data: /data/es-data
path.logs: /var/log/elasticsearch/
bootstrap.mlockall: true
network.host: 0.0.0.0
http.port:
discovery.zen.ping.unicast.hosts: ["192.168.16.73","192.168.17.224"] #单播(配置一台即可,生产可以使用组播方式)

ELK 安装与基本配置(一)的更多相关文章

  1. elk安装&集群配置

    ---恢复内容开始--- 这里我用以elasticsearch-5.3.2.kibana-5.3.0.logstash-5.3.0的版本为例: 1.创建elastic用户,这里elasticsearc ...

  2. ELK 安装与配置

    ELK日志分析之安装 1.介绍: NRT elasticsearch是一个近似实时的搜索平台,从索引文档到可搜索有些延迟,通常为1秒. 集群 集群就是一个或多个节点存储数据,其中一个节点为主节点,这个 ...

  3. ELK安装配置及nginx日志分析

    一.ELK简介1.组成ELK是Elasticsearch.Logstash.Kibana三个开源软件的组合.在实时数据检索和分析场合,三者通常是配合使用,而且又都先后归于 Elastic.co 公司名 ...

  4. elk安装配置

    ELK介绍   官网https://www.elastic.co/cn/ 中文指南https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/det ...

  5. ELK——安装 logstash 2.2.0、elasticsearch 2.2.0 和 Kibana 3.0

    本文内容 Elasticsearch logstash Kibana 参考资料 本文介绍安装 logstash 2.2.0 和 elasticsearch 2.2.0,操作系统环境版本是 CentOS ...

  6. ELK安装使用教程

    一.说明 ELK是当下流行的日志监控系统.ELK是Elasticsearch.Logstash.Kibana三个软件的统称. 在ELK日志监控系统中,Logstash负责读取和结构化各类日志+发送给E ...

  7. ELK 安装部署实战 (最新6.4.0版本)

    一.实战背景 根据公司平台的发展速度,对于ELK日志分析日益迫切.主要的需求有: 1.用户行为分析 2.运营活动点击率分析 作为上述2点需求,安装最新版本6.4.0是非常有必要的,大家可根据本人之前博 ...

  8. elk安装和使用

    elk安装和使用 使用的版本都是5.2.0 elasticsearch-5.2.0安装 在官网 下载 elasticsearch tar包 解压安装 tar zxf elasticsearch-5.2 ...

  9. 【只需3步】源码手动安装Apache以及配置(亲测可行)

    作者小波/QQ463431476欢迎转载! redhat6采用centos yum源. 第一步下载apache依赖的软件包并安装 安装 apr下载地址:http://apr.apache.org/do ...

随机推荐

  1. 把当前ubuntu系统做成镜像

    把当前ubuntu系统做成镜像 2018年06月19日 15:24:51 还需要再学习一个 阅读数:9720 原文地址: http://community.bwbot.org/topic/167/%E ...

  2. Qt 使用openGL 渲染NV12格式的视频

    直接上代码 Nv12Render.h #ifndef NV12RENDER_H #define NV12RENDER_H #include <QOpenGLFunctions> #incl ...

  3. 洛谷P2918 [USACO08NOV]买干草(一道完全背包模板题)

    题目链接 很明显的一道完全背包板子题,做法也很简单,就是要注意 这里你可以买比所需多的干草,只要达到数量就行了 状态转移方程:dp[j]=min(dp[j],dp[j-m[i]]+c[i]) 代码如下 ...

  4. ElasticHD Windows环境下安装

    ElasticHD Linux环境下安装教程        ElasticHD windows环境下安装教程   习惯了T-SQL 查询,Elasticsearch的DSL查询语法简直就是反人类呀,一 ...

  5. I - Tunnel Warfare HDU - 1540 线段树最大连续区间

    题意  :一段区间  操作1 切断点 操作2 恢复最近切断的一个点 操作3 单点查询该点所在最大连续区间 思路:  主要是push_up :  设区间x 为母区间  x<<1 ,x< ...

  6. 环境变量PS1,修改命令行提示符样式

    推荐模板  export PS1="\[\e[37;40m\][\[\e[31;40m\]\u\[\e[0m@\[\e[33;40m\]\H \[\e[36;40m\]\w\[\e[0m\] ...

  7. Codeforces Round #539 Div1 题解

    Codeforces Round #539 Div1 题解 听说这场很适合上分QwQ 然而太晚了QaQ A. Sasha and a Bit of Relax 翻译 有一个长度为\(n\)的数组,问有 ...

  8. poj 3279 Fliptile(二进制搜索)

    Farmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. He ha ...

  9. 假如你不小心干掉了系统,你该怎么办?(一次手贱的记录 ~ Ubuntu and Python3.6)

    前言 多年未犯低级错误,今天犯了个不大不小的错误,记录下生活点滴吧 今天早上脑海里想了下,如果电脑挂了我要备份哪些东西?然后中午休息的时候就列了一下,没想到晚上就悲剧了... 这个是中午写的: ## ...

  10. 一个ArrayList在循环过程中删除,会不会出问题,为什么?

    ArrayList中的remove方法(注意ArrayList中的remove有两个同名方法,只是入参不同,这里看的是入参为Object的remove方法)是怎么实现的: public boolean ...