热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ELK:环境搭建&初体验

环境1个Cenos7虚拟机[root@localhost~]#catetcredhat-releaseCentOSLinuxrelease7.1.1503(Co

环境


1个Cenos 7 虚拟机

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.1.1503 (Core)

安装


概述

  • 目前安装都是在同一个测试Centos7中,另外一个暂时不使用(后面测试远程rsyslog的时候再使用)
  • 本文说的安装均不是通过包管理工具安装的(如yum、rpm),所以下载的时候选择的均是.tar.gz包
  • 其实不用安装,解压后就可以使用了

安装依赖

  • java
    ELK环境主要是依赖java,所以安装java即可。如下安装jdk

    说明:可以根据自己系统的情况选择合适的jdk

    yum install -y java-1.8.0-openjdk-devel.x86_64

安装logstash

参考:logstash download

  • 下载安装包:logstash-[版本].tar.gz

  • 解压:tar -zxf logstash-[版本].tar.gz

安装elasticsearch

参考:elasticsearch download

  • 下载安装包:elasticsearch-[版本].tar.gz

  • 解压:tar -zxf elasticsearch-[版本].tar.gz

安装kibana

参考:kibana download

  • 下载安装包: kibana-[版本].tar.gz

  • 解压:tar -zxf kibana-[版本].tar.gz

关闭防火墙

由于需要进行网络通信,所以需要放通端口,或者直接将防火墙服务停掉

service firewalld stop

测试


概述

在同一个CentOS7 上同时开启elasticsearch、logstash、kibana。

ELK尽量按照顺讯启动elasticsearch ==> logstash ==> kibana

运行elasticsearch

cd elasticsearch

bin/elasticsearch

查看到如下结果,即表示启动成功

./elasticsearch
[2014-03-13 13:42:17,218][INFO ][node ] [New Goblin] version[2.3.1], pid[2085], build[5c03844/2014-02-25T15:52:53Z]
[2014-03-13 13:42:17,219][INFO ][node ] [New Goblin] initializing ...
[2014-03-13 13:42:17,223][INFO ][plugins ] [New Goblin] loaded [], sites []
[2014-03-13 13:42:19,831][INFO ][node ] [New Goblin] initialized
[2014-03-13 13:42:19,832][INFO ][node ] [New Goblin] starting ...
[2014-03-13 13:42:19,958][INFO ][transport ] [New Goblin] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.8.112:9300]}
[2014-03-13 13:42:23,030][INFO ][cluster.service] [New Goblin] new_master [New Goblin][rWMtGj3dQouz2r6ZFL9v4g][mwubuntu1][inet[/192.168.8.112:9300]], reason: zen-disco-join (elected_as_master)
[2014-03-13 13:42:23,100][INFO ][discovery ] [New Goblin] elasticsearch/rWMtGj3dQouz2r6ZFL9v4g
[2014-03-13 13:42:23,125][INFO ][http ] [New Goblin] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/192.168.8.112:9200]}
[2014-03-13 13:42:23,629][INFO ][gateway ] [New Goblin] recovered [1] indices into cluster_state
[2014-03-13 13:42:23,630][INFO ][node ] [New Goblin] started

另外,可以看到elasticsearch使用了两个端口9200、9300

通过下面的校验elasticsearch服务正常,如果响应正常,则说明服务正常

curl -X GET http://localhost:9200/

运行logstash

logstash运行时需要使用配置文件,主要是用于定义内容的输入、输出、中间处理等。

  • 创建配置文件 logstash_start.conf,并且内容如下


    input {
    file {
    path => "/var/log/messages"
    start_position => "beginning"
    }
    }
    output {
    elasticsearch { hosts => ["localhost:9200"] }
    }

    上面的内容主要是定义了logstash实时读取/var/log/messages中的日志,并将日志输出到elasticsearch中。

  • 启动

cd logstash
bin/logstash -f [your_path]/logstash_start.conf

看到如下的内容,便表示成功了

Settings: Default pipeline workers: 4
Logstash startup completed

运行kibana

cd kibana
bin/kibana

如果看到类似如下输出,就代表成功了:

  log   [10:47:51.005] [info][status][plugin:kibana] Status changed from uninitialized to green - Ready
log [10:47:51.077] [info][status][plugin:elasticsearch] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log [10:47:51.109] [info][status][plugin:kbn_vislib_vis_types] Status changed from uninitialized to green - Ready
log [10:47:51.128] [info][status][plugin:markdown_vis] Status changed from uninitialized to green - Ready
log [10:47:51.140] [info][status][plugin:metric_vis] Status changed from uninitialized to green - Ready
log [10:47:51.148] [info][status][plugin:spyModes] Status changed from uninitialized to green - Ready
log [10:47:51.155] [info][status][plugin:statusPage] Status changed from uninitialized to green - Ready
log [10:47:51.180] [info][status][plugin:table_vis] Status changed from uninitialized to green - Ready
log [10:47:51.194] [info][listening] Server running at http://0.0.0.0:5601
log [10:47:51.200] [info][status][plugin:elasticsearch] Status changed from yellow to green - Kibana index ready

通过浏览器访问http://[you_address]:5601就可以看到kibana界面了。

kibana第一次使用时,会要求创建index,只要按照默认值即可。

测试日志收集

此时,ELK环境已经搭建好了,现在要测试下ELK是否能实时监控/var/log/messages中的日志,并在kibana这显示。

通过如下的命令构造日志:

logger -p info "hello, test ELK"

这是可以在/var/log/messages中看到这个日志

在kibana的DISCOVER选项卡中也能搜索到该日志。

备注:关于kibana的搜索时间段问题:

通常在kibana中无法搜索到日志,这时候要注意搜索的时间段,在kibana->Discover页面的最上端


推荐阅读
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • Ansible:自动化运维工具详解
    Ansible 是一款新兴的自动化运维工具,基于 Python 开发,集成了多种运维工具(如 Puppet、CFEngine、Chef、Func 和 Fabric)的优点,实现了批量系统配置、程序部署和命令执行等功能。本文将详细介绍 Ansible 的架构、特性和优势。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 深入解析C语言中结构体的内存对齐机制及其优化方法
    为了提高CPU访问效率,C语言中的结构体成员在内存中遵循特定的对齐规则。本文详细解析了这些对齐机制,并探讨了如何通过合理的布局和编译器选项来优化结构体的内存使用,从而提升程序性能。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • Linux下MySQL 8.0.28安装指南
    本文详细介绍了在Linux系统上安装MySQL 8.0.28的步骤,包括下载数据库、解压数据包、安装必要组件和启动MySQL服务。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 在 CentOS 6.7 系统维护中,常用的巡检命令包括:`uname -a` 用于查看内核、操作系统和 CPU 信息;`head -n 1 /etc/issue` 用于查看操作系统的版本;`cat /proc/cpuinfo` 用于获取详细的 CPU 信息;`hostname` 用于显示当前主机名;`ls` 命令则用于列出目录内容。这些命令可以帮助系统管理员快速了解系统的运行状态和配置信息,确保系统的稳定性和安全性。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
author-avatar
童式恃
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有