部署ELK日志分析系统

news2024/10/7 10:26:00

简介

        在大型运维环境中,管理员通常面对大量的服务器,对于这些服务器的维护,一个很重要的工作就是查看每台服务器的日志信息,而每天逐台检查的方式显然效率比较低下。传统的方式是通过搭建日志服务器,将所有服务器的日志收集到日志服务器统一查看。但是面对众多的日志数据很难去分析以及查找所需要的内容,即很难快速定位是否出现故障,以及哪些机器哪些服务存在故障。而ELK 可以很好地解决这一问题。

一、Elasticsearch 介绍

        Elasticsearch是一个基于Lucene的搜索服务器。它稳定、可靠、快速,而且具有比较好的水平扩展能力,为分布式环境设计,在云计算中被广泛应用。Elasticsearch提供了一个分布式多用户能力的全文搜索引擎,基于RESTful Web接口,通过该接口,用户可以通过浏览器和Elasticsearch 通信。Elasticsearch 是用Java开发的,并作为Apache许可条款下的开放源码发布,Wikipedia、Stack、Overflow、GitHub等都基于Elasticsearch来构建搜索引擎,具有实时搜索、稳定,可靠、快速、安装使用方便等特点。

二、Logstash 介绍

        Logstash 由 JRuby 语言编写,运行在Java虚拟机(JVM)上,是一款强大的数据处理工具,可以实现数据传输、格式处理、格式化输出。Logstash具有强大的插件功能,常用于日志处理。LogStash可配置单一的代理端,与其他开源软件结合,以实现不同的功能。
        Logstash的理念很简单,它只做三件事情:数据输入,数据加工(如过滤,改写等)以及数据输出。通过组合输入和输出,可以实现多种需求。Logstash处理日志时,典型的部署架构图。

三、Kibana 介绍

        Kibana是一个针对Elasticsearch的开源分析及可视化平台,主要设计用来和Elasticsearch一起工作,可以搜索,查看存储在Elasticsearch索引中的数据,并通过各种图表进行高级数据分析及展示。Kibana 可以让数据看起来一目了然。它操作简单,基于浏览器的用户界面可以让用户在任何位置都可以实时浏览。Kibana 可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。Kibana使用非常简单,只需要添加索引就可以监测Elasticsearch索引数据。

四、实验案例

实验环境

虚拟机 3台 centos7.9\网卡NAT模式 数量 1

  • 组件包:elasticsearch-5.5.0.rpm、elasticsearch-head.tar.gz、node-v8.2.1.tar.gz       、phantomjs-2.1.1-linux-x86_64.tar.bz2  、logstash-5.5.1.rpm、kibana-5.5.1-x86_64.rpm

设备

IP

备注

Centos01

192.168.160.51

Node1  elasticsearch

Centos02

192.168.160.52

Node2  kibana

Centos03

192.168.160.53

Node3  logstash+httpd

1.安装并编译elasticsearch

Node1 Node2 都配置

cat << EOF >> /etc/hosts
192.168.160.51 node1
192.168.160.52 node2
EOF

上传安装包 elasticsearch-5.5.0.rpm

[root@love ~]# rpm -ivh elasticsearch-5.5.0.rpm

编辑elasticsearch 配置文件

[root@love ~]# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: my-elk-cluster	 #群集名称
node.name: node1				 #节点名称,不同节点修改编号
path.data: /data/elk_data	 	 #日志收集目录
path.logs: /data/elk_log   	 	 #日志存放路径
bootstrap.memory_lock: false	 #不锁定内存
network.host: 0.0.0.0			 #监听IP
http.port: 9200				     #监听端口
discovery.zen.ping.unicast.hosts: ["node1", "node2"]  #单播实现群集

创建日志文件夹

[root@love ~]# mkdir -p /data/elk_data
[root@love ~]# mkdir -p /data/elk_log
[root@love ~]# chown -R elasticsearch:elasticsearch /data
[root@love ~]# systemctl start elasticsearch

查看端口是否启动

2.Node1部署elasticearch-head插件

上传并安装插件:node-v8.2.1.tar.gz、elasticsearch-head.tar.gz、phantomjs-2.1.1-linux-x86_64.tar.bz2

安装node-v8.2.1.tar.gz
[root@love ~]# tar zxf node-v8.2.1.tar.gz
[root@love node-v8.2.1]# ./configure && make && make install

安装elasticsearch-head.tar.gz
[root@love ~]# yum -y install bzip2
[root@love ~]# tar jxf phantomjs-2.1.1-linux-x86_64.tar.bz2
[root@love ~]# mv phantomjs-2.1.1-linux-x86_64 /usr/src/phantomjs2.1
[root@love ~]# ln -s /usr/src/phantomjs2.1/bin/* /usr/local/bin/

安装phantomjs-2.1.1-linux-x86_64.tar.bz2
[root@love ~]# tar zxf elasticsearch-head.tar.gz 
[root@love ~]# cd elasticsearch-head/
[root@love elasticsearch-head]# npm install
[root@love elasticsearch-head]# cd 
[root@love ~]# cat << EOF >> /etc/elasticsearch/elasticsearch.yml
> http.cors.enabled: true
> http.cors.allow-origin: "*"
> http.cors.allow-headers: Authorization,Content-Type
> EOF

启动服务

[root@love ~]# systemctl restart elasticsearch


[root@love elasticsearch-head]# npm run start &
[1] 110314
测试连接http://192.168.19.10:9100

3.部署httpd+ logstash(Node3)

上传安装包  logstash-5.5.1.rpm

[root@love22 ~]# yum -y install httpd
[root@love22 ~]# rpm -ivh logstash-5.5.1.rpm
[root@love22 ~]# ln -s /usr/share/logstash/bin/logstash /usr/local/sbin/

编辑自定义提交日志配置

[root@love22 ~]# vim /etc/logstash/conf.d/httpd_log.conf
input {
        file {
          path => "/var/log/httpd/access_log"
          type => "access"
          start_position => "beginning"
        }
        file {
          path => "/var/log/httpd/error_log"
          type => "error"
          start_position => "beginning"
        }
}
output {
        if [type] == "access" {
        elasticsearch {
          hosts => ["192.168.19.10:9200"]
          index => "httpd_access-%{+YYYY.MM.dd}"
        }
     }
        if [type] == "error" {
        elasticsearch {
          hosts => ["192.168.19.20:9200"]
          index => "httpd_error-%{+YYYY.MM.dd}"
        }
     }
}

启动日志传递

[root@love22 ~]# nohup logstash -f /etc/logstash/conf.d/httpd_log.conf &
[1] 65183
4.安装kibana图形化查看工具

上传安装包 kibana-5.5.1-x86_64.rpm

[root@love11 ~]# rpm -ivh kibana-5.5.1-x86_64.rpm

[root@love11 ~]# vim /etc/kibana/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.19.10:9200"
kibana.index: ".kibana"

[root@love11 ~]# systemctl enable kibana --now

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1509409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VB编程技术笔记

连续赋值 at:tb:ba 分支语句&#xff1a;

Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 3、线条平滑曲面但有条纹

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata im…

C++之对象模型和this 指针,友元,和运算符重载

1&#xff0c;对象模型和this 指针 1.1成员变量和成员函数分开存储 在C中&#xff0c;类内的成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象上 示例&#xff1a; #include<iostream> using namespace std;//成员变量 和 成员函数 分开存储 class Per…

Vue3全家桶 - Vue3 - 【6】组件(注册组件 + 组件通信 + 透传属性和事件 + 插槽 + 单文件CSS + 依赖注入)

组件 一、 注册组件 1.1 ❌ 全局注册 目标文件&#xff1a;main.js&#xff1b;语法&#xff1a;import { createApp } from vue import App from ./App.vue const app createApp(App)// 全局注册 app.component(组件名字, 需要注册组件)app.mount(#app)缺陷&#xff1a; 全…

怎样在CSDN赚点零花钱

请教一下各位大佬&#xff0c;看到你们在CSDN很多都几万粉丝以上&#xff0c;能不能分享一下有什么涨粉的经验&#xff0c;还有怎样转化为额外收益……感谢各位提供宝贵的经验&#xff0c;谢谢……

多目灰度cam手势追踪系统——MegaTrack

一、前言 本文是对Facebook Oculus发布的一篇VR方向&#xff08;手势追踪&#xff09;论文的解读。Oculus是一家做VR的公司&#xff0c;2014年被FaceBook收购了&#xff0c;本次参考的论文就是FaceBook Oculus团队的最新论文。论文2020年7月发表于SIGGRAPH。 因为最终是要给大…

Go语言简介

一.Go语言简介 1.1 优点 自带gc静态编译&#xff0c;编译好后&#xff0c;扔服务器直接运行简单思想&#xff0c;没有继承&#xff0c;多态和类等丰富的库和详细开发文档语法层支持并发&#xff0c;和拥有同步并发的channel类型&#xff0c;使并发开发变得非常方便简洁语法&am…

手机和电脑同步的好用记事本软件有哪些

我常常需要随手记录各种信息&#xff0c;以便随时查阅和使用。比如&#xff0c;在下班路上&#xff0c;我会用手机记录明天要处理的工作事项、购物清单&#xff0c;或是某个突然迸发的创意想法&#xff1b;而在办公室&#xff0c;我则需要在电脑上整理会议纪要、项目计划&#…

[AutoSar]BSW_Com012 CAN TP 模块介绍

目录 关键词平台说明一、知识储备二、缩写对照表三、CAN TP 所在架构位置四、CAN TP 的主要作用五、CAN TP 在 autosar 架构中的基本概念5.1、CAN TP 的处理模式5.2 数据一致性5.3 静态配置 六、功能规范6.1 Services provided to upper layer6.1.1 Initialization and shutdow…

基于cnn的卷机神经网络的项目毕业课题实践应用(毕业选题-深度学习-卷及神经网络)

这些项目可以作为毕业课题选择&#xff0c;共计超过20个&#xff1a; 往期热门项目回顾&#xff1a; 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yolov9界面-最新的yolo 姿态识别…

Mybatis操作sql报错ibatis.binding.BindingException: Parameter ‘empId‘ not found.

你们好&#xff0c;我是金金金。 场景 在使用Mybatis操作sql语句过程当中&#xff0c;更新操作&#xff0c;报错信息如下&#xff1a;Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘empId’ not found. Available parameters are [arg1, arg0, param1, …

PyTorch搭建AlexNet训练集

本次项目是使用AlexNet实现5种花类的识别。 训练集搭建与LeNet大致代码差不多&#xff0c;但是也有许多新的内容和知识点。 1.导包&#xff0c;不必多说。 import torch import torch.nn as nn from torchvision import transforms, datasets, utils import matplotlib as p…

电子价签前景璀璨,汉朔科技革新零售行业的数字化新篇章

新型商超模式数字化“秘密武器”——电子价签 传统纸质价签&#xff0c;只要商品价格、日期等信息发生变化&#xff0c;就必须重新打印进行手动替换。电子价签的应用使传统的人工申请、调价、打印、营业员去货架前端更换等变价流程均可省略&#xff0c;所有门店的价格由后台统…

Linux命令深入学习——列出帮助手册,开机关机

linux中有多种方法查看一个不熟悉命令的详细信息&#xff0c;如 ls --help&#xff0c;help ls&#xff0c;man ls&#xff0c;info ls 在linux系统中可以使用命令进行开关机以及相关基础操作 同时在进行写入操作时&#xff0c;可以使用快捷键进行操作

图论(二)之最短路问题

最短路 Dijkstra求最短路 文章目录 最短路Dijkstra求最短路栗题思想题目代码代码如下bellman-ford算法分析只能用bellman-ford来解决的题型题目完整代码 spfa求最短路spfa 算法思路明确一下松弛的概念。spfa算法文字说明&#xff1a;spfa 图解&#xff1a; 题目完整代码总结ti…

【LeetCode每日一题】2129. 将标题首字母大写

文章目录 [2129. 将标题首字母大写](https://leetcode.cn/problems/capitalize-the-title/)思路&#xff1a;代码&#xff1a; 2129. 将标题首字母大写 思路&#xff1a; 1.先根据空格&#xff0c;将每个单词切割&#xff0c;依次遍历 2.用StringBuilder来对结构进行拼接 3.…

element plust的表格 el-table数据不按列展示

ElementPlus的表格demo代码放到原生的html <template><el-table :data"tableData" style"width: 100%"><el-table-column prop"date" label"Date" width"180" /><el-table-column prop"name"…

使用Python查询和下载Sentinel卫星数据

欢迎学习本教程,了解如何使用 Python 访问和下载 Sentinel 卫星数据。在深入探讨技术方面之前,让我们先了解一下哨兵卫星是什么以及它们为何如此重要。 哨兵家族。资料来源:欧空局。 Sentinel 卫星是欧洲航天局 (ESA) 开发的一组地球观测任务,是哥白尼计划的一部分,该计划…

Spark性能优化指南——高级篇

调优概述 有的时候&#xff0c;我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜&#xff0c;此时Spark作业的性能会比期望差很多。数据倾斜调优&#xff0c;就是使用各种技术方案解决不同类型的数据倾斜问题&#xff0c;以保证Spark作业的性能。 数据倾斜发生时的现…

一文了解Cornerstone3D中窗宽窗位的3种设置场景及原理

&#x1f506; 引言 在使用Cornerstone3D渲染影像时&#xff0c;有一个常用功能“设置窗宽窗位&#xff08;windowWidth&windowLevel&#xff09;”&#xff0c;通过精确调整窗宽窗位&#xff0c;医生能够更清晰地区分各种组织&#xff0c;如区别软组织、骨骼、脑组织等。…