ELK技术栈实践(一)

2023-11-05

通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。实践的目的是了解ELK技术栈的部署和应用。

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

1、目标

       安装部署ELK,使之正常工作。集群工作留待以后再实践。

2、部署的机器

       服务器1: 192.168.136.144     部署 ELK 三个程序

       服务器2: 192.168.136.138     部署logstash agent

       以上机器都为 centos 65  虚拟机

       安装的ELK版本为:

       elasticsearch-2.4.1.tar.gz
       kibana-4.5.1-linux-x64.tar.gz
       logstash-2.3.2.tar.gz

       说明: 本来用ELK 5.0.0版本,但是碰到一个 logstash与ES 连接的问题(和鉴权相关)目前找不到处理办法,所以采用旧的版本来进行实践。用最新版有风险,入门需谨慎!

3、安装过程

      3.1  安装前准备

1)下载上面三个软件并上传到144主机

        

        2) 准备java 1.8  (只要jdk 1.8 就可以)       

<span style="font-family:Microsoft YaHei;font-size:14px;">[root@cwqsolo elk2.3]# java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
[root@cwqsolo elk2.3]# </span>

     3.2 安装步骤

         ELK技术栈的部署将会按下面几个步骤进行

         首先安装ES(Elasticsearch)和ES的插件, 然后安装kibana,最后安装 logstash。 在下篇,还继续进行logstash的agent的安装。

         1、安装 ES(Elasticsearch)和ES的插件

          首先解压elasticsearch-2.4.1.tar.gz ,然后进入目录

然后,我们要修改  config 目录下的配置文件elasticsearch.yml

要修改的内容为

<span style="font-family:Microsoft YaHei;font-size:14px;">cluster.name: solo
node.name: node1
path.data: ./data
path.logs: ./logs
network.host: cwqsolo
http.port: 9200</span>
将上面的内容,修改正确,并且确保前面的#去掉,使得该项目生效。

由于ES不支持在root 下运行, 所以需要对目录进行授权。  使用root用户登录,并且执行如下命令

chown +R  nmc:nmc  /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/

说明:上面命令是将这个目录以及这个目录下的子目录都授权给nmc用户,隶属于nmc用户组。

然后,我们切换到nmc用户,使用nmc用户来启动ES。  进入 /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/

在命令行,执行:    ./bin/elasticsearch 

启动后,没有报错就表示成功了,我们可以通过浏览器执行  http://192.168.136.144:9200/  来查看,出现下面界面就表示成功



下面我们可以进行 es 插件 head的安装。 head 之前的安装比较简单,在es没有启动的时候,执行 ./bin/plugin install mobz/elasticsearch-head

在我的环境下,执行已经无法下来这个包了。(估计5.0出来后,这个包已经整合了) 从网上下载了head 包,解压有,上传到 /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/plugins


重启启动es,我们可以通过url   http://192.168.136.144:9200/_plugin/head/来查看插件


好了 ES部分的安装就到这里。下面我们来安装 kibana

   2、 安装kibana

   用root 用户,解压缩 kibana,然后进入到这个目录。修改 config 目录下的kibana.yml  

<span style="font-family:Microsoft YaHei;font-size:14px;">server.port: 5601
server.host: "192.168.136.144"
elasticsearch.url: "http://192.168.136.144:9200"
kibana.index: ".kibana"</span>
确保上面的配置生效。

然后,我们启动kibana。执行  ./bin/kibana启动后,我们通过url   http://192.168.136.144:5601/来进入 kibana 界面。


    可以按默认的直接创建。然后点击最上方的discover 来观察

     3、 下面我们安装logstash。  同样解压后进入该目录, 

原来没config目录,我自己建立了一个,并且在config目录,创建一个配置文件。


通过配置文件中 output 将 logstash 与 ES 连接起来。

下面我们启动logstash,启动后,我们从logstash 窗口输入任何的内容,都能通过ES 反馈到 kibana界面上。


logstash我们输入了一个日志内容,kibana上同样可以看到


安装过程大致就是如此,后续我们再聊一些细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ELK技术栈实践(一) 的相关文章

  • 腾讯二面:Redis 事务支持 ACID 么?

    码哥每月送书福利进行时 文末留言送书 腾讯面试官 数据库事务机制了解么 内心独白 小意思 不就 ACID 嘛 转眼一想 我面试的可是技术专家 不会这么简单的问题吧 程许远 balabala 极其自信且从容淡定的说了一通 腾讯面试官 Redi
  • Pytorch实现RNN、LSTM和GRU等经典循环网络模型,简直不能再简单。

    目录 1 RNN 2 LSTM 3 GRU 惊呆了 居然只是一行代码的事 注 文中图片均来自台大李宏毅教授的PPT 1 RNN RNN中文名字叫做循环神经网络 在连续状态 时间序列数据方面具有很大优势 但是由于存在长序列训练过程中的梯度消失

随机推荐

  • 算法之归并排序(mergesort)

    算法之归并排序 mergesort 情况一 两个有序 升序 的数组归并为一个有序数组 时间复杂度O N 原理 通过指针法 先比较两数组的初始位置的数据大小 比较小的数据放入一个最终的数组中 并且此数组向后移位 较小数据的数组也向后移动 in
  • C/C++实现高并发http服务器

    http高并发服务器实现 基础知识 html 全称为html markup language 超文本标记语言 http 全称hyper text transfer protocol 超文本传输协议 用于从万维网 WWW World Wide
  • 安装 docker

    docker 安装 首先要卸载旧版本 sudo yum remove docker docker client docker client latest docker common docker latest docker latest l
  • America's Drive-In Movie Theater Turns 78

    from http www putclub com html radio VOA Standard 2011 0603 30827 html Next Monday will mark a nostalgic anniversary in
  • Kubernetes二进制安装_初学实践

    一 部署准备 1 1 部署Kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式 kubeadm Kubeadm是一个K8s部署工具 提供kubeadm init和kubeadm join 用于快速部署Kub
  • LinkedList基本操作

    LinkedList基本操作 LinkedList是Java中的一个双向链表实现 它提供了对链表的基本操作 在LinkedList中 每个元素都被包装在一个节点中 并且每个节点都包含指向前一个节点和后一个节点的引用 这种结构使得在Linke
  • unity的ui怎么显示在鼠标点击位置

    第一种方法 其实很简单 Input mousePosition本身就是屏幕坐标 二维 不能直接使用是因为 屏幕空间以像素定义 屏幕的左下为 0 0 右上是 pixelWidth pixelHeight n n或者说以屏幕的左下角为 0 0
  • Apache Beam 大数据处理一站式分析

    大数据技术与架构 点击右侧关注 大数据开发领域最强公众号 暴走大数据 点击右侧关注 暴走大数据 一 介绍 大数据处理其实经常被很多人低估 缺乏正确的处理体系 其实 如果没有高质量的数据处理流程 人工智能将只有人工而没有智能 现在的趋势是数据
  • matlab控制系统的幅频特性,[转载]matlab中控制系统的频域分析

    求取系统对数频率特性图 波特图 bode 求取系统奈奎斯特图 幅相曲线图或极坐标图 nyquist bode a b c d 自动绘制出系统的一组Bode图 它们是针对连续状态空间系统 a b c d 的每个输入的Bode图 其中频率范围由
  • 网页复制文字时弹出(唯有注册登录才能复制)的窗口的解决方法

    复制网页内容的时候总是弹出让你登录注册页面 如何解决 下面教你一个方法 此方法仅在能选中内容文字的情况下有效 第一步 按F12 在审查元素中选择Elements 右侧选择Event Listeners 如图 第二步 点开下面的copy的三角
  • Console口登录的三种认证方式介绍及演示

    本文实验采用的交换机是H3C模拟器 下载地址如下 http forum h3c com forum php mod viewthread tid 109740 highlight H3C E6 A8 A1 E6 8B 9F E5 99 A8
  • 自动化python的简单使用

    文章目录 环境配置 定位 1 Link text定位超链接 2 混合元素定位 3 Xpath定位 通常 4 css定位 事例 操作 1 实现输入框自动输入 2 清空输入框 3 上传文件 4 自动化执行javaScript方法 5 浏览器窗口
  • 永久开启或关闭某些iptables开机自启规则

    昨天早上突然发现我的xshell突然不能连接我的某一台虚拟机的linux了 于是就开启了我漫漫的找问题之路 第一反应是不是vmware的相关服务被关闭了 因为之前出现过vm死活连不上网的情况 果断去计算机服务里面看 果然没有开启 全部全部开
  • Access to XMLHttpRequest at xxxx from origin ‘null‘ has been blocked by CORS policy:

    使用前后端分离的方式创建web项目的时候出现问题 这是因为 ajax 请求的对应的域在本地的一个文件路径 比如在D盘的某个文件夹 这里存放的都是前端文件 但是对应的服务器是 localhost 的一个域名 虽然请求可以到达服务端 服务端也可
  • Win7下vs2013打开鼠标不能用,鼠标失灵

    以下是有效的解决方法 昨天重装了office2007出现这样的问题 如题 只要一进vs 鼠标变失灵 以下是网友提供的方法 Win7下vs2013打开鼠标不能用 解决办法 1 先打开vs2013 这时鼠标就用不了了 2 此时用 Ctrl Al
  • Android 退出整个应用程序解决方案

    1 通过广播 相信有过项目经验的同学都遇到过这样的问题 就是设计 退出 功能时可能会遇到有些界面不能关闭的问题 当然如果你的项目所有的界面都在打开另一个界面时被关闭就不存在这个问题了 但大多数情况下这样是很不合理的 因为每次要查看这个界面都
  • 利用matlab实现卷积实验报告,实验五 使用matlab实现卷积的运算

    实验五 使用matlab实现卷积的运算 一 实验目的 1 2 二 实验内容 学习MATLAB语言的编程方法及熟悉MATLAB指令 深刻理解卷积运算 利用离散卷积实现连续卷积运算 1 完成f1 t 与f2 t 两函数的卷积运算 其中 f1 t
  • 购买服务器及宝塔部署环境指南

    服务器购买宝塔部署环境指南 为什么程序员都需要一个自己的服务器 作为一个程序员 必须要发布自己的网站和项目 联系linux 自己的远程长裤 远程数据库 远程tomcat 搭建在服务器上 练习 Linux进行任意的环境部署操作 Window下
  • Spring Cloud的断路器模式是什么?如何使用断路器?Spring Cloud的配置管理是怎样实现的?

    1 Spring Cloud的断路器模式是什么 如何使用断路器 Spring Cloud的断路器模式是一种应对微服务架构中潜在故障的解决方案 在微服务架构中 不同的服务相互依赖 当某个服务出现故障或响应缓慢时 可能会导致级联故障 影响整个系
  • ELK技术栈实践(一)

    通常 日志被分散的储存不同的设备上 如果你管理数十上百台服务器 你还在使用依次登录每台机器的传统方法查阅日志 这样是不是感觉很繁琐和效率低下 当务之急我们使用集中化的日志管理 例如 开源的syslog 将所有服务器上的日志收集汇总 集中化管