ELK日志收集系统集群实验

ELK日志收集系统集群实验

目录

一、实验拓扑

二、环境配置

三、 安装node1与node2节点的elasticsearch

1. 安装

2.配置

3.启动elasticsearch服务

4.查看节点信息

四、在node1安装elasticsearch-head插件

1.安装node

2.拷贝命令

3.安装elasticsearch-head

4.修改elasticsearch配置文件

5.启动elasticsearch-head

6.访问:

7.测试

五、node1服务器安装logstash

六、logstash日志收集文件格式

七、node1节点安装kibana

八、企业案例:


一、实验拓扑

二、环境配置

设置各个主机的IP地址为拓扑中的静态IP,在两个节点中修改主机名为node1和node2并设置hosts文件

node1:

hostnamectl set-hostname node1

vim /etc/hosts

192.168.1.1  node1

192.168.1.2  node2

node2:

hostnamectl set-hostname node2

vim /etc/hosts

192.168.1.1  node1

192.168.1.2  node2

三、 安装node1与node2节点的elasticsearch

1. 安装

 mv elk软件包  elk

 cd elk

 rpm -ivh elasticsearch-5.5.0.rpm

2.配置

node1:

vim /etc/elasticsearch/elasticsearch.yml

cluster.name:my-elk-cluster  //集群名称   

node.name:node1 //节点名字

path.data:/var/lib/elasticsearch  //数据存放路径

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

bootstrap.memory_lock:false //在启动的时候不锁定内存

network.host:0.0.0.0  //提供服务绑定的IP地址,0.0.0.0代表所有地址

http.port:9200 //侦听端口为9200

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

node2:

vim /etc/elasticsearch/elasticsearch.yml

cluster.name:my-elk-cluster  //集群名称   

node.name:node2 //节点名字

path.data:/var/lib/elasticsearch  //数据存放路径

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

bootstrap.memory_lock:false //在启动的时候不锁定内存

network.host:0.0.0.0  //提供服务绑定的IP地址,0.0.0.0代表所有地址

http.port:9200 //侦听端口为9200

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

3.启动elasticsearch服务

node1和node2

systemctl start elasticsearch

4.查看节点信息

http://192.168.1.1:9200

http://192.168.1.2:9200

四、在node1安装elasticsearch-head插件

1.安装node

cd elk

tar xf node-v8.2.1.tar.gz

cd node-v8.2.1

./configure && make && make install

等待安装完毕。

2.拷贝命令

cd elk

tar xf phantomjs-2.1.1-linux-x86_64.tar.bz2

cd phantomjs-2.1.1-linux-x86_64/bin

cp phantomjs  /usr/local/bin

3.安装elasticsearch-head

cd elk

tar xf elasticsearch-head.tar.gz

cd elasticsearch-head

npm install

4.修改elasticsearch配置文件

vim /etc/elasticsearch/elasticsearch.yml

 # Require explicit names when deleting indices:

#

#action.destructive_requires_name:true

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

http.cors.allow-origin:"*"  //跨域访问允许的域名地址

重启服务: systemctl restart elasticsearch

5.启动elasticsearch-head

cd /root/elk/elasticsearch-head

npm run start &

查看监听: netstat -anput | grep :9100

6.访问:

http://192.168.1.1:9100

7.测试

在node1的终端中输入:

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

刷新浏览器可以看到对应信息即可

五、node1服务器安装logstash

cd  elk

rpm -ivh logstash-5.5.1.rpm

systemctl start logstash.service

In -s /usr/share/logstash/bin/logstash  /usr/local/bin/

测试1: 标准输入与输出

logstash -e 'input{ stdin{} }output { stdout{} }'

测试2: 使用rubydebug解码

logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug }}'

测试3:输出到elasticsearch

logstash -e 'input { stdin{} } output { elasticsearch{ hosts=>["192.168.1.1:9200"]} }'

  查看结果:

http://192.168.1.1:9100

若看不到,请刷新!!!

六、logstash日志收集文件格式

(默认存储在/etc/logstash/conf.d)

Logstash配置文件基本由三部分组成:input、output以及 filter(根据需要)。标准的配置文件格式如下:

input (...)  输入

filter {...}   过滤

output {...}  输出

在每个部分中,也可以指定多个访问方式。例如,若要指定两个日志来源文件,则格式如下:

input {

file{path =>"/var/log/messages" type =>"syslog"}

file { path =>"/var/log/apache/access.log"  type =>"apache"}

}

案例:通过logstash收集系统信息日志

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}"

}

}

重启日志服务: systemctl restart logstash

查看日志: http://192.168.1.1:9100

七、node1节点安装kibana

cd elk

rpm -ivh kibana-5.5.1-x86_64.rpm

配置kibana

vim /etc/kibana/kibana.yml

server.port:5601  //Kibana打开的端口

server.host:"0.0.0.0" //Kibana侦听的地址

elasticsearch.url: "http://192.168.8.134:9200"  

//和Elasticsearch 建立连接

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

启动kibana

systemctl start kibana

访问kibana :

http://192.168.1.1:5601

首次访问需要添加索引,我们添加前面已经添加过的索引:system-*

八、企业案例:

收集httpd访问日志信息

在httpd服务器上安装logstash,参数上述安装过程,可以不进行测试

logstash在httpd服务器上作为agent(代理),不需要启动

编写httpd日志收集配置文件

vim /etc/logstash/conf.d/httpd.conf

input {

file{

path=>"/var/log/httpd/access_log" //收集Apache访问日志

type => "access" //类型指定为 access

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

}

output{

elasticsearch {

hosts =>["192.168.8.134:9200"] // elasticsearch 监听地址及端口

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

}

}

使用logstash命令导入配置:

logstash -f  /etc/logstash/conf.d/httpd.conf

        使用kibana查看即可! http://192.168.1.1:5601   查看时在mangement选项卡创建索引httpd_access-*  即可!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】十大算法之一 “PCA”

作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

【夜深人静学数据结构与算法 | 第十一篇】枚举算法

目录 前言: 枚举算法: 优点: 枚举算法的种类: 枚举算法案例: 343. 整数拆分 - 力扣(LeetCode) 12. 整数转罗马数字 - 力扣(LeetCode) 总结: 前言&…

【手撕算法|动态规划系列No.1】leetcode1137. 第 N 个泰波那契数

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

exe的python文件打包

【步骤01】 【在命令行中用pip工具安装Pyinstaller模块】 pip install Pyinstaller 步骤02】 【切换命令行的路径到你要打包的Python源文件的文件夹路径下】 【下面是我要打包的Python源文件(散点坐标图.py)及其文件夹路径】 【步骤03】 【执行Pyi…

使用SSH远程直连Docker容器

文章目录 1. 下载docker镜像2. 安装ssh服务3. 本地局域网测试4. 安装cpolar5. 配置公网访问地址6. SSH公网远程连接测试7.固定连接公网地址8. SSH固定地址连接测试 转载自cpolar极点云文章:SSH远程直连Docker容器 在某些特殊需求下,我们想ssh直接远程连接docker 容器…

SpringBoot 实现 elasticsearch 查询操作(RestHighLevelClient 的案例实战)

文章目录 1. 环境准备1. 查询全部2. 根据 name 查询 match 分词查询3. 根据 name 和 品牌查询 multiMatch 分词查询4. 根据 brand 查询 match 分词查询5. 按照价格 范围查询6. 精确查询7. boolQuery8. 分页9. 高亮查询9. 公共解析 上一节讲述了 SpringBoot 实现 elasticsearch …

【图像处理OpenCV(C++版)】——5.3 图像平滑之均值平滑(滤波)

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…

Linux终端与进程的关系 ( 1 ) -【Linux通信架构系列】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the…

C高级重点

1、请简要描述一下Linux文件系统的层级结构,包括不同目录的作用和功能。 Linux的文件系统结构是一个倒插树结构,所有的文件都从根目录出发。 2、find指令的用途 find 查找的路径 -name 文件名 ----->在指定路径下,以文件名为条件查找文…

总结vue3 的一些知识点:​Vue3 起步

目录 引言 Vue3 混入 实例 选项合并 实例 实例 全局混入 实例 Vue3 起步 Vue 3.0 实例 data 选项 实例 方法 总结 引言 Vue 进阶系列教程将在本号持续发布,一起查漏补缺学个痛快!若您有遇到其它相关问题,非常欢迎在评论中留言讨…

Ubuntu 20.04.02 LTS安装virtualbox7.0

ubuntu22.04的软件仓库也有virtualbox,不过版本较老。 使用安装命令:sudo apt install virtualbox 如果想要安装最新版,那么需要去官网下载deb包或者使用官方的仓库。 这里采用安装Oracle官方仓库的方法。 执行如下命令: wge…

HTTP调用:你考虑到超时、重试、并发了吗?

今天,我们一起聊聊进行 HTTP 调用需要注意的超时、重试、并发等问题。 与执行本地方法不同,进行 HTTP 调用本质上是通过 HTTP 协议进行一次网络请求。网络请求必然有超时的可能性,因此我们必须考虑到这三点: 首先,框架…

抖音本地生活团购服务商

抖音本地生活团购服务商市场前景非常广阔。随着移动互联网的普及和人们对本地生活服务需求的增加,本地生活团购行业已成为一个快速增长的市场。而抖音平台拥有庞大的用户基础和强大的社交媒体传播力,为本地生活团购服务商提供了巨大的发展机遇。 抖音…

【博客674】警惕Prometheus 中的重复样本和无序时间戳错误

警惕Prometheus 中的重复样本和无序时间戳错误 1、场景 您的 Prometheus 服务器日志中是否遇到过以下错误? "Error on ingesting out-of-order samples" "Error on ingesting samples with different value but same timestamp" "dupli…

图解CNN中的卷积(卷积运算、池化、Padding、多通道的卷积)

文章目录 卷积操作池化Padding对多通道(channels)图片的卷积套上激活函数是什么样的参考: 卷积层是深度学习神经网络中经常使用的一种层。它通过卷积运算来提取输入的特征,常用于图像、语音等信号处理任务中。 卷积层有以下几个参…

探索iOS之Metal编程指南

iOS推出Metal渲染库为了取代OpenGL。Metal有自己的Shader语言,渲染效率比OpenGL高。在这里我们一起探索:Metal使用C限制、预处理定义、动态链接配置、GPU编译配置、设备坐标系、视口坐标系、纹理坐标系、矢量类型、矩阵类型、采样器状态、矩阵相乘。 1、…

第 107 场LeetCode双周赛

A 最大字符串配对数目 显然各字符串对 间匹配的先后顺序不影响最大匹配数目, 可以从后往前遍历数组, 判断前面是否有和当前末尾构成匹配的. class Solution { public:int maximumNumberOfStringPairs(vector<string> &words) {int res 0; while (words.size…

使用 Jetpack Compose 构建 RadioButton

欢迎阅读本篇关于使用 Jetpack Compose 构建 RadioButton&#xff08;单选按钮&#xff09;的博客。Jetpack Compose 是 Google 发布的现代化 UI 工具包&#xff0c;用于构建 Android 界面。它的声明式设计使得 UI 开发更加简洁直观。 一、什么是 RadioButton&#xff1f; Rad…

【深度学习】3-4 神经网络的学习- 学习算法的实现

神经网络的学习步骤如下所示&#xff1a; 步骤1(mini-batch) 从训练数据中随机选出一部分数据&#xff0c;目标是减小mini-batch的损失函数的值 步骤2(计算梯度) 为了减小mini-batch的损失函数的值&#xff0c;需要求出各个权重参数的梯度 步骤3(更新参数) 将权重参数沿梯度…

ModaHub魔搭社区:向量数据库MIlvus服务端配置(四)

目录 常见问题 常见问题 除了配置文件外&#xff0c;怎样可以判断我确实在使用 GPU 做搜索&#xff1f; 有以下三种方式&#xff1a; 使用 nvidia-smi 命令查看 GPU 使用情况。用 Prometheus 配置&#xff0c;详见 使用 Grafana 展示监控指标 > 系统运行指标。使用 Milv…