在Linux上面部署ELK

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

一、准备环境:

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.mzph.cn/web/13277.shtml

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

相关文章

RTMP低延迟推流

人总是需要压力才能进步, 最近有个项目, 需要我在RK3568上, 推流到公网, 最大程度的降低延迟. 废话不多说, 先直接看效果: 数据经过WiFi发送到Inenter的SRS服务器, 再通过网页拉流的. 因为是打金任务, 所以逼了自己一把, 把RTMP推流好好捋一遍. 先说说任务目标, 首先是MPP编码…

【Altium】AD-检查原理图中元器件未连接的Passive Pin

1、 文档目标 如何让原理图编译时找出元器件上未连接的Passive Pin 2、 问题场景 当引脚属性(Pin type)为passive时,原理图编译的默认规则是不会去检查它们是否有连接的。在实际设计过程中,经常会有导线虚连,漏连的事…

医疗传感器种类不断增多 市场规模逐渐扩大

医疗传感器种类不断增多 市场规模逐渐扩大 医疗传感器是将人体的生理信息转换为电信息的变换装置。医疗传感器具有高灵敏度、高精度、实时监测等优点,可以检测佩戴者的心率、呼吸频率、活动量等,从而更加准确地了解身体情况。   经过多年发展&#…

【极简】docker常用操作

镜像images是静态的 容器container是动态的,是基于镜像的,类似于一个进程。 查看docker images: docker images 或者docker image ls 查看docker container情况:docker ps -a,-a意思是--all 运行一个container: doc…

MySQL not in不等于找不到null的数据

在使用MySQL的NOT IN语句时,如果找不到NULL值,可能是因为NULL值在比较中具有特殊性质。NULL值不等于任何其他值,包括它自己。因此,使用NOT IN语句时,如果列表中包含NULL值,则查询不会返回任何结果。 解决此…

有意思的数组

var nums [1,2,3,6] const nums1 [6, 8, 7, 10, 9];/* 数组合并————push */ var n nums.push(...nums1); // 将列表 nums1 拼接到 nums 之后 n //n会是nums的长度 > 9 nums //也push了 > (9) [1, 2, 3, 6, 6, 8, 7, 10, 9]/* 数组合并————concat*/ var arr0…

数字水印 | 奇异值分解 SVD 的 Python 代码实现

🥑原理:数字水印 | 奇异值分解 SVD 的定义、原理及性质 🥑参考:Python 机器学习笔记:奇异值分解(SVD)算法 正文 对于一个图像矩阵,我们总可以将其分解为以下形式: 通过…

使用API有效率地管理Dynadot域名,默认将域名隐形转发至其他界面

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

英译汉早操练-(十九)

hello,are you OK? 生活如此美好,周四了,你还好吗?坚持了快一周了,是不是最后冲刺一把就开启周末的美好生活了。 今天我们学习这篇经济学人文章: 题目是:Banks, at least, are making money from a turbul…

【大模型微调】一文掌握7种大模型微调的方法

本篇文章深入分析了大型模型微调的基本理念和多样化技术,细致介绍了LoRA、适配器调整(Adapter Tuning)、前缀调整(Prefix Tuning)等多个微调方法。详细讨论了每一种策略的基本原则、主要优点以及适宜应用场景,使得读者可以依据特定的应用要求和计算资源限…

Linux | VMware安装镜像指南(Windows、IOS、麒麟)

文章目录 虚拟机安装推荐 虚拟机安装推荐 macOS系统:macOS虚拟机安装全过程(VMware)麒麟系统:麒麟系统虚拟机安装(VMware)VMtools工具解决方案: [第一步](https://blog.csdn.net/weixin_421187…

openGauss一主两备集群异常断电后不能正常启动的解决过程简记

背景 因异常断电后opengauss 5.0.0版本,一主两备集群启动失败。 报错不是主机,由于当时没有截图,查看日志后发现报错是: 定位过程 Day1 1. 尝试用另外两台机器启动每台机器 发现都报错自己不是主机,像极了唐僧被妖…

【算法刷题day55】Leetcode:583. 两个字符串的删除操作、72. 编辑距离

文章目录 Leetcode 583. 两个字符串的删除操作解题思路代码总结 Leetcode 72. 编辑距离解题思路代码总结 草稿图网站 java的Deque Leetcode 583. 两个字符串的删除操作 题目:583. 两个字符串的删除操作 解析:代码随想录解析 解题思路 dp数组的含义是&a…

哪款桌面便签app能帮助我提升工作效率

作为上班族,我们每天都要处理大量的工作事项,从策划方案到处理邮件,每一个环节都需高效且有条不紊。在这样的工作环境下,提升效率显得尤为重要。而选择一款优秀的桌面便签app,无疑是提高工作效率的关键。 桌面便签app…

【数据结构】数据结构大汇总 {数据结构的分类总结:定义和特性、实现方式、操作与复杂度、适用场景、相关算法、应用实例}

一、线性结构 1.1 顺序表 定义和特性:顺序表是一种线性表的存储结构,它采用一段地址连续的存储单元依次存储线性表中的元素。顺序表具有随机访问的特性,即可以通过元素的下标直接访问元素。 实现方式:顺序表可以通过数组来实现&…

基于51单片机的非接触式无线红外测温

基于51单片机的无线红外测温 (程序+原理图+设计报告) 功能介绍 具体功能: 1.采用红外温度传感器测温并用LCD1602显示; 2.按键为启动按键、保存按键、显示数据按键,可以实现对温度数值的控制…

【制作100个unity游戏之26】unity2d横版卷轴动作类游戏6(附带项目源码)

最终效果 系列导航 文章目录 最终效果系列导航前言敌人动画配置撞墙判断敌人基本AI逻辑实现 野猪受伤死亡死亡敌人死亡时,还是会对人物产生伤害有限状态机&抽象类多态 定义不同状态的敌人行为防止野猪在悬崖掉下去野猪的追击状态的转换敌人主动查找玩家 追击状态…

基于微信小程序+JAVA Springboot 实现的【智慧乡村旅游服务平台】app+后台管理系统 (内附设计LW + PPT+ 源码+ 演示视频 下载)

项目名称 项目名称: 基于微信小程序的智慧乡村旅游服务平台的设计与实现 项目技术栈 该项目采用了以下核心技术栈: 后端框架/库: Java SSM框架数据库: MySQL前端技术: 微信开发者工具、uni-app其他技术&#xff1a…

8B10B编码(高速收发器五)

1、8B10B解决的问题 8B10B编码是1983年IBM公司提出的传输编码标准,通常用于高速收发器中,常见的JESD204B、SATA等接口协议,使用查表就可以实现编码和解码。 在这些高速收发器的接收端需要通过CDR技术去恢复时钟与数据的相位关系,在…

Linux day6 yum下载,systemctl,

yum命令 yum [-y] install wget 通过yum下载wget小工具 -y的意思是,如果有询问,自动确认(总是允许)。 yum remove wget 也可以通过这种方式卸载wget