之前我们在Windows平台上安装过Elasticsearch+X-Pack+Kibana工具(具体参考:Windows 安装Elasticsearch&Kibana&X-Pack),这里我们在Linux系统中做一个日志分析平台。

一.安装Elasticsearch

#wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.0.tar.gz
#tar -zxvf elasticsearch-5.4.0.tar.gz
#mkdir  /usr/elk
#mv elasticsearch-5.4.0 /usr/elk/elasticsearch
#cd /usr/elk/elasticsearch/bin

然后我们可以使用如下命令启动

./elasticsearch

启动过程中可能遇到如下问题

①.jvm内存不足

解决方法,修改如下配置文件,调整-xms2g -Xmx2g为-xms1g -Xmx1g

vim /usr/elk/elasticsearch/config/jvm.options

②.要求openjdk版本至少1.8,oracle jdk 1.7

这个时候需要升级openjdk或者使用oracle jdk替换

#查询本地安装的数据库,并且将其删除

#rpm -qa | grep jdk  
java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
java-1.7.0-openjdk-1.7.0.0-1.32.1.11.1.el6.x86_64 

#yum remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64 
#yum remove java-1.7.0-openjdk-1.7.0.0-1.32.1.11.1.el6.x86_64

#当然,如果你觉得上述操作麻烦,建议直接使用如下方式

#yum remove java-1.6.0-openjdk*
#yum remove java-1.7.0-openjdk*

#然后通过如下方式检索java-1.8.0-openjdk

#yum search java-1.8.0-openjdk
============== N/S Matched: java-1.8.0-openjdk ==============
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment with full debug on
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos with full debug on
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment with full debug on
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full debug on
java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK API Documentation for packages with debug on
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle for packages with debug on

一般都能检索出来,如果检索不出来,建议去下载安装oracle jdk

#如果检索到java-1.8.0-openjdk,直接安装即可

#yum install  java-1.8.0-openjdk java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless

③.root用户不允许运行

修改运行文件

#groupadd elkstack                       #创建组
#useradd elkstack -g elkstack -d /usr/elk -s /bin/bash  #创建用户
#passwd  elkstack                        #给用户创建密码
#chown -R elkstack:elkstack /usr/elk     #目录的拥有者

#########################################################
#cd /etc/skel/                           #进入用户登录状态管理目录,如果不执行此操作,则登录界面在sh中
#ls -a  
. ..  .bash_logout  .bash_profile .bashrc  .mozilla  
#复制文件到新用户的创建目录
#cp .bash_logout  /home/MysqL/  
#cp .bash_profile  /home/MysqL/  
#cp .bashrc  /home/MysqL
#cd /

#########################################################
#su -l elkstack                          #切换用户 
#./elasticsearch/bin/elasticsearch       #启动elasticsearch

④.当前用户创建文件的大小,可使用的内存有限制

max file descriptors [4096] for elasticsearch process is too low,increase to at least [65536]
max number of threads [1024] for user [elkstack] is too low,increase to at least [2048]
max virtual memory areas vm.max_map_count [65530] is too low,increase to at least [262144]
system call filters Failed to install; check the logs and fix your configuration or disable system call filters at your own risk
Q:max file descriptors [4096] for elasticsearch process is too low,increase to at least [65536]

#vi /etc/security/limits.conf  
添加如下内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
Q:max number of threads [1024] for user [elkstack] is too low,increase to at least [2048]

#vi /etc/security/limits.d/90-nproc.conf 

修改如下内容:
* soft nproc 1024

#修改为
* soft nproc 2048
Q:max virtual memory areas vm.max_map_count [65530] is too low,increase to at least [262144]

#vi /etc/sysctl.conf 

添加下面配置:
vm.max_map_count=655360
system call filters Failed to install; check the logs and fix your configuration or 
disable system call filters at your own risk

#vim config/elasticsearch.yml

添加
bootstrap.system_call_filter: false

配置完成之后,执行命令

sysctl -p

以上是安装过程中遇到的比较多的问题

使用curl 检查是否成功启动

#curl -i http://127.0.0.1:9200

HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 327

{
  "name" : "rGlFyHB","cluster_name" : "elasticsearch","cluster_uuid" : "7sEFicrvQW-RPbJTjekbHg","version" : {
    "number" : "5.4.0","build_hash" : "780f8c4","build_date" : "2017-04-28T17:43:27.229Z","build_snapshot" : false,"lucene_version" : "6.5.0"
  },"tagline" : "You KNow,for Search"
}

二.安装kibana

#wget -c https://artifacts.elastic.co/downloads/kibana/kibana-5.4.0-linux-x86_64.tar.gz
#tar -zxvf kibana-5.4.0-linux-x86_64.tar.gz
#mv kibana-5.4.0-linux-x86_64 /usr/elk/kibana
#cd /usr/elk/
#chown -R elkstack:elkstack kibana
#./kibana/bin/kibana

使用curl检测是否成功启动(注意:必须先启动elasticsearch)

#curl -i http://localhost:5601

HTTP/1.1 200 OK
kbn-name: kibana
kbn-version: 5.4.0
cache-control: no-cache
content-type: text/html; charset=utf-8
content-length: 217
accept-ranges: bytes
Date: Mon,22 May 2017 06:45:26 GMT
Connection: keep-alive

<script>var hashRoute = '/app/kibana';
var defaultRoute = '/app/kibana';

var hash = window.location.hash;
if (hash.length) {
  window.location = hashRoute + hash;
} else {
  window.location = defaultRoute;
}

此外,kibana中需要配置elasticsearch的信息,如果elasticsearch的访问信息更新了,同样也需要更新kibana中的配置信息

#vim kibana/config/kibana.yml
#elasticsearch默认配置信息如下
elasticsearch.url: "http://localhost:9200"

三.安装logstash

#wget -c https://artifacts.elastic.co/downloads/logstash/logstash-5.4.0.tar.gz
#tar -zxvf logstash-5.4.0.tar.gz
#mv logstash-5.4.0 /usr/elk/logstash
#cd /usr/elk/
#chown -R elkstack:elkstack logstash
#./logstash/bin/logstash

测试是否安装成功

注意:最好以root用户运行,或者在sudoers中添加用户的sudo命令权限,否则可能产生好多问题

#./logstash/bin/logstash -e 'input{stdin{}} output{stdout{}}'

#启动之后,执行如下操作,测试是否有回显,如果有回显,则表示正确
#Hello World

四.配置&插件安装

①.远程访问

kibana.yml:

server.port:  5601
server.host:  "192.168.1.210"
elasticsearch.url: "http://192.168.1.210:9200"

elasticsearch.yml:

network.host: "192.168.1.210"
http.port: 9200

#加入新集群时使用的ip地址,默认是回环地址
#discovery.zen.ping.unicast.hosts: ["192.168.1.210"]  
#集群中最少的master数量
#discovery.zen.minimum_master_nodes: 3  

#bootstrap.system_call_filter: false

logstash.yml

http.host: "172.20.11.62"

②.安装X-Pack

注意:安装前必须停止elasticsearch与kibana服务

#cd /usr/elk/elasticsearch/bin
#./elasticsearch-plugin install x-pack

#cd /usr/elk/kibana/bin
#./kibana-plugin install x-pack

安装X-Pack完成之后,穷elasticsearchkibana ,会进行用户登录校验,默认用户名和密码如下

username : elastic
passowrd : changeme

但是,对于logstash来说,需要在配置文件中配置用户名才行,否则无法链接到elasticsearch

input {
  file {
    type =>"syslog"
     path => ["/var/log/messages","/var/log/secure" ]
  }
  syslog {
    type =>"syslog"
    port =>"5544"
  }
}
output {
  stdout { codec=> rubydebug }
  elasticsearch {
	hosts => ["192.168.1.210:9200"]
	 user => elastic
         password => changeme
         index => "syslogstash-%{+YYYY.MM.dd}"
         template_overwrite => true	
	}
}

③.Kibana创建索引

Kibana创建索引的前提是logstash的pipline配置文件中存索引,并且logstash已经向elasticsearch注册了索引

index => "syslogstash-%{+YYYY.MM.dd}"
input {
  file {
    type =>"syslog"
     path => ["/var/log/messages","/var/log/secure" ]
  }
  syslog {
    type =>"syslog"
    port =>"5544"
  }
}
output {
  stdout { codec=> rubydebug }
  elasticsearch {
	hosts => ["192.168.1.210:9200"]
	 user => elastic
         password => changeme
         index => "logstash-%{+YYYY.MM.dd}"
         template_overwrite => true	
	}
}

检测配置文件是否正确

#logstash/bin/logstash -f test_logstash.conf -t

启动logstash

#logstash/bin/logstash -f test_logstash.conf

触发Input Event,让logstash主动注册index到elasticsearch

#logger -p info "hello,remote rsyslog"

然后登录Kibana,点击Management->Index Patterns打开索引注册页面,点击左侧菜单栏中的【+】,新增索引。

如果你看不到Create按钮,那么很可能意味着索引没有注册成功,注册可能需要一个Input Event输入触发才行。

如果索引注册成功,那么点击Kibana菜单discover,选择syslogstash-*索引,便能看到相应的事件。

参考:

ELK集群部署及收集nginx日志

Elasticsearch5.0 版本安装错误

记录Linux下安装elasticSearch时遇到的一些错误

centos7虚拟机安装elasticsearch5.0.x-安装篇

ElasticSearch 5.0.0 安装部署常见错误或问题

已解决:登录Linux的 -bash-4.2$ 问题

CentOS ELK5.0日志分析平台搭建的更多相关文章

  1. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. Elasticsearch属性单词常用解析说明

    这篇文章主要介绍了Elasticsearch属性单词常用解析说明,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

  3. Java操作Elasticsearch rest-high-level-client 的基本使用

    这篇文章主要介绍了Java操作Elasticsearch rest-high-level-client 的基本使用,本篇主要讲解一下 rest-high-level-client 去操作 Elasticsearch的方法,结合实例代码给大家详细讲解,需要的朋友可以参考下

  4. centos+php+coreseek+sphinx+mysql之一coreseek安装篇

    这篇文章主要介绍了centos+php+coreseek+sphinx+mysql之一coreseek安装篇的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

  5. Centos7 中 Node.js安装简单方法

    这篇文章主要介绍了Centos7 中 Node.js安装简单方法,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下

  6. nodejs脚本centos开机启动实操方法

    在本篇文章里小编给大家整理的是关于nodejs脚本centos开机启动实操方法,有兴趣的朋友们参考下。

  7. Elasticsearch插件及nodejs的安装配置

    这篇文章主要为大家介绍了Elasticsearch插件及nodejs的安装配置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  8. Centos PHP 扩展Xchche的安装教程

    这篇文章主要介绍了Centos PHP 扩展Xchche的安装教程的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

  9. SpringBoot+Elasticsearch实现数据搜索的方法详解

    Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。本文将利用SpringBoot整合Elasticsearch实现海量级数据搜索,需要的可以参考一下

  10. Linux CentOS系统下安装node.js与express的方法

    这篇文章主要给大家介绍了在Linux CentOS系统下安装node.js与express的方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部