在Linux上面部署ELK

news2025/3/17 11:21:37

注明:一下的软件需要自己准备

一、准备环境:

1.两台elasticsearch主机4G内存

2.两台elasticsearch配置主机名node1和node2(可以省略)

#vim  /etc/hostname

#reboot

3. 两台elasticsearch配置hosts文件

#vim  /etc/hosts

192.168.1.1  node1

192.168.1.2  node2

4.检查java环境

#java  -version

5.关闭防火墙和selinux

6.利用ping测试,分别ping两个主机的名,看是否可以通

二、部署elasticsearch

以下前五步,在两个es上都要做,只是节点名不一样,es1位node1,es2为node2

1.安装elasticsearch(在两台主机上都要安装)

#rpm  -ivh  /mnt/elasticsearch-5.5.0.rpm

#systemctl  daemon-reload

#systemctl  enable elasticsearch

2.更改elasticsearch主配置文件(配置都有修改即可 )

#vim /etc/elasticsearch/elasticsearch.yml

cluster.name: my-application   //群集名字

node.name: node1  //节点名字

path.data: /data/elk_data  //数据存放路径

path.logs: /var/log/elasticsearch  //日志存放路径

bootstrap.memory_lock: false  //在启动时不锁定内存,可以提高性能

network.host: 0.0.0.0   //监听地址0.0.0.0代表所有

http.port: 9200       //监听端口

discovery.zen.ping.unicast.hosts: ["node1", "node2"]  //群集发现通过单播实现

3.创建数据存放路径并授权

#mkdir  -p  /data/elk_data 

#chown  elasticsearch:elasticsearch   /data/elk_data  将/data/elk_data目录的归属更改为elasticsearch

4.启动elasticsearch并查看是否启动成功(可能需要重启系统)

#systemctl  start  elasticsearch

# netstat -anpt|grep 9200

tcp6       0      0 :::9200         :::*       LISTEN      1018/java

5.在客户机上查看节点信息

Node1节点1的信息

Node2节点1的信息

查看群集是否健康

查看群集的状态

三、在es1上安装elasticsearch-head插件

注:es-head是es的web前端工具,可以更直观方便的管理es集群,在es5.0后需要做为独立服务进行安装,需要npm命令,安装es-head需要提前安装node和phantomjs,node是一个基于chrome v8引擎的javascript运行环境,而phantomjs是一个基于webkit的javascriptAPI,可以理解为一个隐形的浏览器

(1)安装node 大约需要40分钟时间

#tar zxf  /mnt/node-v8.2.1.tar.gz -C /usr/src   //解压的目录不能有中文路径

# cd  /usr/src/node-v8.2.1/

#./configure&&make&&make install

(2)安装phantomjs

#tar  xvjf  /mnt/phantomjs-2.1.1-linux-x86-64.tar.bz2 -C  /usr/src

#cd  /usr/src/phantomjs-2.1.1-linux-x86_64/bin

#cp  phantomjs  /usr/local/bin

(3)安装elasticsearch-head

# tar zxf  /mnt/elasticsearch-head.tar.gz  -C  /usr/src

#cd  /usr/src/elasticsearch-head/

#npm  install  //安装依赖包

(4)修改elasticsearch主配置文件

#vim  /etc/elasticsearch/elasticsearch.yml

http.cors.enabled:  true   //增加  开启跨域访问支持,默认为false

http.cors.allow-origin:  "*"  //增加  跨域访问允许的域名地址 即在es head中访问es

# systemctl restart  elasticsearch.service

(5)启动es-head服务(必须在elasticsearch-head目录下启动):监听端口为tcp 9100

[root@node4 elasticsearch-head]# npm run start & //前台启动,一旦关闭中断,服务也将随之关闭

(6)通过elasticsearch-head查看elasticsearch信息,发现索引为空

(7)插入索引。通过命令插入一个测试索引,通过输出信息可以看到索引为index-demo,类型为test(此步完全是为了验证可以省略)

# curl  -XPUT  'localhost:9200/index-demo/test/1?pretty&pretty' -H 'Content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'

{

  "_index" : "index-demo",

  "_type" : "test",

  "_id" : "1",

  "_version" : 1,

  "result" : "created",

  "_shards" : {

    "total" : 2,

    "successful" : 2,

    "failed" : 0

  },

  "created" : true

}

四、在node1上安装kibana

1.安装kibana

# rpm  -ivh  /mnt/kibana-5.5.1-x86_64.rpm

# systemctl enable  kibana

2.设置kibana的主配置文件/etc/kibana/kibana.yml(默认存在配置,去掉注释)

server.port: 5601                               //kibana打开的监听端口

server.host: "0.0.0.0"         //kibana监听的地址

elasticsearch.url: http://192.168.1.1:9200   与elasticsearch建立连接

kibana.index: ".kibana"   //在es中添加.kibana索引

3.启动kibana服务:监听端口为tcp5601

# systemctl  start  kibana

4.在客户机访问kibana验证kibana

   

五、在apache上安装并配置logstash,收集apache的访问和错误日期,并将其发送给elashticsearch服务器

将apache服务器的日志添加到elasticsearch并通过kibana显示

1.准备工作,安装httpd

#yum  -y  install  httpd

2.启动httpd

#systemctl  restart  httpd

3.在客户机上访问httpd

4.在apache服务器上安装logstash,以便将收集到的日志发送到elasticsearch中

#rpm  -ivh  /mnt/logstash-5.5.1.rpm

#systemctl  daemon-reload

#systemctl  enable  logstash

5.编写logstash配置文件apache_log.conf

# vim  /etc/logstash/conf.d/apache_log.conf

input {      

 file{

                path => "/etc/httpd/logs/access_log"  //收集apache的访问日志

                type => "access"   //指定日志类型为access(访问日志),可以自定义

                start_position => "beginning"  //从日志开始处收集

 }

 file{

                path => "/etc/httpd/logs/error_log"  //收集apache的错误日志

                type => "error"        //指定日志类型为error(错误日志),可以自定义

                start_position => "beginning"  //从日志开始处收集

 }

}

output {

        if [type] == "access" {         //如果类型为access,即apache访问日志

                elasticsearch {         //输出到elasticsearch

                        hosts => ["192.168.1.1:9200"]  //es服务器监听地址及端口

                        index => "apache_access-%{+YYYY.MM.dd}" //指定索引格式

                        }

   }

        if [type] == "error" {   //如果类型为error,即apache错误日志

                elasticsearch {   //输出到elasticsearch

                        hosts => ["192.168.1.1:9200"]   //es服务器监听地址及端口

                        index => "apache_error-%{+YYYY.MM.dd}"  //指定索引格式

                        }

   }

  }

6.启动logstash并加载配置文件

# /usr/share/logstash/bin/logstash  -f  /etc/logstash/conf.d/apache_log.conf

7.通过浏览器访问http://192.168.1.1:9100查看索引是否创建

六、在apache服务器上,通过修改logstash配置文件,让其收集系统日志/va/log/messages,并将其输出到elasticsearch中(视需要)

# chmod  o+r  /var/log/messages

# vim /etc/logstash/conf.d/system.conf

input {

        file{

                path => "/var/log/messages"

                type => "system"

                start_position => "beginning"

        }

 }

output {

        elasticsearch {

        hosts => ["192.168.1.1:9200"]

        index => "system-%{+YYYY.MM.dd}"

}

七、在es1上配置kibana

1.在客户机上登录kibana

2.点击+create  index  pattern添加apache_access索引和apache_error索引

输入索引关键字

3.选择Discover选项卡,在中间下拉列表中选择刚添加的apache_access-*索引,可以查看相应的图表及日志信息

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

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

相关文章

测试基础05:软件测试的分类

课程大纲 1、两种架构(Architecture) 1.1、B/S(Browser/Server) 浏览器服务器架构(大体3步):用户通过浏览器向服务器发出请求,服务器处理请求,将结果通过网络返回到用户…

【论文阅读】AID(ICCV‘23)

paper:https://arxiv.org/abs/2310.05666 code:https://github.com/YilongLv/AID Anchor-Intermediate Detector: Decoupling and Coupling Bounding Boxes for Accurate Object Detection

F.费用报销【蓝桥杯】/01背包

费用报销 01背包 思路&#xff1a;f[i][j]表示前i个票据在容量为j的背包中能占的最大值。 #include<iostream> #include<algorithm> using namespace std; int day[13]{0,31,28,31,30,31,30,31,31,30,31,30,31}; int dp[1005][5005]; int s[13]; int last[1005];…

Dockerfile使用

1.Dockerfile是什么 官网地址 https://docs.docker.com/reference/dockerfile/概念 是什么 Dockerfile 是用于构建 Docker 镜像的文本文件&#xff0c;它包含一系列的指令&#xff08;instructions&#xff09;和参数&#xff0c;用于描述如何构建和配置镜像。 Dockerfile 是…

aws sqs基础概念和队列参数解析

分布式队列的组成部分 生产者&#xff0c;向队列发送消息的组件消费者&#xff0c;接受队列消息队列&#xff0c;多个sqs服务器存储冗余存储消息 sqs自动删除超过最大留存时间的消息&#xff08;默认4天&#xff09;&#xff0c;可以通过SetQueueAttributes调整为&#xff08…

Java语言-面向对象程序设计-自定义Date类

在Java中&#xff0c;不建议直接自定义Date类&#xff0c;因为java.util.Date和java.util.Calendar类已经提供了处理日期和时间的基本功能&#xff0c;可以使用SimpleDateFormat类格式化日期&#xff08;较常用的方式&#xff09;等。 这里将自定义封装一个Date类&#xff0c;用…

Spring框架学习笔记(五):JdbcTemplate 和 声明式事务

基本介绍&#xff1a;通过 Spring 框架可以配置数据源&#xff0c;从而完成对数据表的操作。JdbcTemplate 是 Spring 提供的访问数据库的技术。将 JDBC 的常用操作封装为模板方法 1 JdbcTemplate 使用前需进行如下配置 1.1 在maven项目的pom文件加入以下依赖 <dependencies…

通过Wirtinger流进行相位恢复:理论与算法

文章目录 1. 简介2. 算法描述2.1 初始化(Initialization)2.2 迭代更新(Iterative Updates)2.3 学习率调整&#xff08;Learning Rate Adjustment&#xff09; 3. 代码实现3.1 一维信号测试 &#xff08;Gaussian model&#xff09;3.2 一维信号测试 &#xff08;Coded diffract…

牛皮!亚信安全《2024国家级攻防演练100+必修高危漏洞合集》.pdf

上次分享了2023攻防演练高危漏洞&#xff0c;获得了很多粉丝的好评。 今天再分享一份由亚信安全服务团队结合自身的“外部攻击面管理”服务能力和专业的红队能力&#xff0c;最新发布的《2024攻防演练必修高危漏洞合集》&#xff0c;一共108页&#xff0c;非常详细&#xff0c…

存储+调优:存储-memcached

存储调优&#xff1a;存储-memcached 什么是memcached? 高性能的分布式内存缓存服务器。通过缓存数据库的查询结果&#xff0c;减少数据库访问次数&#xff0c;以提高动态Web应用的速度、提高可扩展性。 在memcached中存什么&#xff1f; 尽快被保存 访问频率高 1.数据保…

X-SCAN:Rust从零实现一个命令行端口扫描工具

0. 成品预览 本文将基于Rust构建一个常见的网络工具&#xff0c;端口扫描器。 按照惯例&#xff0c;还是和之前实现的文本编辑器一样&#xff0c;我给这个工具起名为X-SCAN,它的功能很简单&#xff0c;通过命令行参数的方式对指定IP进行扫描&#xff0c;扫描结束之后返回该IP…

MySQL--数据库--基础知识

目录 1、 数据库作用 2、sql认识 1、DDL 整数类型 浮点 主键 约束: 2、DML 插入数据 修改数据 删除数据 3、DQL-基础查询 字符函数&#xff1a; 逻辑处理&#xff1a; 数学函数&#xff1a; 日期函数&#xff1a; 分组函数&#xff1a; 条件查询: 模糊查询 LIK…

Pycharm在下载安装第三方库时速度慢或超时问题 / 切换国内镜像地址

pycharm下载第三方库速度极慢&#xff0c;搜索了一下&#xff0c;发现方法非常乱&#xff0c;稍作整理。这个问题一般都会出现&#xff0c;在我们开发中遇到的常见问题&#xff0c;根据以下解决方法&#xff0c;基本可以解决&#xff0c;但是不能100%保证 Installing packages …

算法金 | Dask,一个超强的 python 库

本文来源公众号“算法金”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;Dask&#xff0c;一个超强的 python 库 1 Dask 概览 在数据科学和大数据处理的领域&#xff0c;高效处理海量数据一直是一项挑战。 为了应对这一挑战&am…

基于open3d加载kitti数据集bin文件

前言 在自动驾驶领域&#xff0c;Kitti数据集是一个非常流行的点云数据集&#xff0c;广泛用于3D目标检测、跟踪和其他相关研究。Open3D是一个强大的开源库&#xff0c;专门用于处理和可视化三维数据。本文将介绍如何使用Open3D来加载和可视化Kitti数据集中的.bin文件。 准备…

【Qt 学习笔记】Qt窗口 | Qt窗口介绍 | QMainwindow类及各组件介绍

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt窗口 | Qt窗口介绍 | QMainwindow类及各组件介绍 文章编号&#xff…

第14章 数据分析案例——2012联邦选举委员会数据库

美国联邦选举委员会发布了有关政治竞选赞助方面的数据。其中包括赞助者的姓名、职业、雇主、地址以及出资额等信息。我们对2012年美国总统大选的数据集比较感兴趣。&#xff08;http://www.fec.gov/disclosurep/PDownload.do&#xff09;。我在2012年6月下载的数据集是一个150M…

【JavaEE进阶】——一万字带你深刻理解Spring IoCDI

目录 &#x1f6a9;Spring是什么 &#x1f388;什么是容器&#xff1f; &#x1f388;什么是 IoC&#xff1f; &#x1f4dd;传统开发思路 &#x1f4dd;IOC思想 &#x1f4dd;IoC 优势 &#x1f388;DI 介绍 &#x1f6a9;IoC 详解 &#x1f388;Bean的存储 &#x…

Python 脚本化 Git 操作:简单、高效、无压力

前言 如何判定此次测试是否达标&#xff0c;代码覆盖率是衡量的标准之一。前段时间&#xff0c;利用fastapi框架重写了覆盖率统计服务&#xff0c;核心其实就是先获取全量代码覆盖率&#xff0c;然后通过diff操作统计增量代码覆盖率&#xff0c;当然要使用diff操作&#xff0c…

力扣HOT100 - 21. 合并两个有序链表

解题思路&#xff1a; class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode dum new ListNode(0), cur dum;while (list1 ! null && list2 ! null) {if (list1.val < list2.val) {cur.next list1;list1 list1.next;} els…