63、ELK安装和部署
一、ELK日志系统
1.1、ELK平台的定义
ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana 三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求
E:elasticsearch ES分布式索引型非关系数据库,存储logstash输出的日志,全文检索引擎,保存的格式json格式。
- 是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。
- Elasticsearch 是用Java开发的(需要安装jdk),可通过RESTful Web接口,让用户可以通过浏览器与Elasticsearch通信。
RESTful api
下面是标准的 HTTP 方法与 RESTful 资源管理之间的映射关系:
-
GET (获取 文档)
-
POST(创建 )
-
PUT ( 更新)
-
DELTET (删除)
-
GET (搜索 值)
-
Elasticsearch是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大容量的日志数据,也可用于搜索许多不同类型的文档。
-
核心概念:
-
接近实时:一旦索引操作完成(通常在几秒钟内),文档就能几乎立刻被搜索到
-
集群:是由一个或多个节点组成的
节点:一个独立运行实例,它可以存储数据、参与文档索引和搜索过程 -
索引:索引(库)——>类型(表)——>文档(记录),可以理解为一种数据库的特性,是一个大的文档的集合
-
分片:允许将索引切分成多个分片,可以在集群的不同节点上独立分布和操作
-
副本:允许为索引的每个分片创建副本,可以分摊读请求、有冗余能力
L:logstash 基于java语言开发,数据收集引擎,日志的收集,可以对数据进行过滤,分析,汇总,以标准格式输出。
- Logstash作为数据收集引擎
- 它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置。一般会发送给Elasticsearch。
- Logstash 由Ruby 语言编写,运行在Java虚拟机(JVM)上,是一款强大的数据处理工具,可以实现数据传输、格式处理、格式化输出。
- Logstash具有强大的插件功能,常用于日志处理。
- 组件:Shipper、indexer、Boker、search and storage 、web interface
- 数据流向:input数据输入、filter数据过滤、output数据输出
K:kiabana 是es的可视化工具。对es存储的数据进行可视化展示,分析和展示。
- Kibana 通常与ElasticSearch一起部署,Kibana是Elasticsearch的一个功能强大的数据可视化 Dashboard
- *Kibana提供图形化的web界面来浏览Elasticsearch日志数据*,可以用来汇总、分析和搜索重要数据。
1.2、ELK的架构----用来日志集中管理
1.2.1、ELK 的工作原理
(1)在所有需要收集日志的服务器上部署Logstash;或者先将日志进行集中化管理在日志服务器上,在日志服务器上部署 Logstash。
(2)Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中。
(3)Elasticsearch 对格式化后的数据进行索引和存储。
(4)Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。
logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由Elasticsearch存储,kibana对日志进行可视化处理。
ELK工作流程
一般都是在需要收集日志的所有服务上部署logstash,作为logstash shipper用于监控并收集、过滤日志,接着,
将过滤后的日志发送给Broker,然后,LogstashIndexer将存放在Broker中的数据再写入Elasicsearch,Elasticsearch对这
些数据创建索引,最后由Kibana对其进行各种分析并以图表的形式展示。

1.3、ELK的作用
-
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
-
往往单台机器的日志我们使用grep、awk等工具就能基本实现简单分析,但是当日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用 grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
-
一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中式日志系统,可以提高定位问题的效率。
-
收集:能够采集多种来源的日志数据
-
传输:能够稳定的把日志数据解析过滤并传输到存储系统
-
存储:存储日志数据
-
分析:支持 UI 分析
-
警告:能够提供错误报告,监控机制
二、ELK F K
2.1、f
filebeat :轻量级的开源日志文件数据收集器。logstash 占用系统资源比较大,属于重量级。
有了flebeat可以节省资源,可以通过filebeat和logstash实现远程数据收集。filereat不能对数据进行标准输出,不能输出为es格式的数据,所以需要logstash把filebeat数据做标准化处理。
elk f架构

ELK 企业级日志分析系统
---------------------- ELK 概述 ----------------------------------------
1、ELK 简介
ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用,
完成更强大的用户对日志的查询、排序、统计需求。●ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。Elasticsearch 是用 Java 开发的,可通过 RESTful Web 接口,让用户可以通过浏览器与 Elasticsearch 通信。Elasticsearch是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,
它通常用于索引和搜索大容量的日志数据,也可用于搜索许多不同类型的文档。●Kiabana:Kibana 通常与 Elasticsearch 一起部署,Kibana 是 Elasticsearch 的一个功能强大
的数据可视化 Dashboard,Kibana 提供图形化的 web 界面来浏览 Elasticsearch 日志数据,
可以用来汇总、分析和搜索重要数据。●Logstash:作为数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、
统一格式等操作,然后存储到用户指定的位置,一般会发送给 Elasticsearch。Logstash 由 Ruby 语言编写,运行在 Java 虚拟机(JVM)上,是一款强大的数据处理工具,
可以实现数据传输、格式处理、格式化输出。Logstash 具有强大的插件功能,常用于日志处理。#可以添加的其它组件:
●Filebeat:轻量级的开源日志文件数据搜集器。通常在需要采集数据的客户端安装 Filebeat,
并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,
或是直接发给 Elasticsearch 存储,性能上相比运行于 JVM 上的 logstash 优势明显,
是对它的替代。常应用于 EFLK 架构当中。#filebeat 结合 logstash 带来好处:
1)通过 Logstash 具有基于磁盘的自适应缓冲系统,该系统将吸收传入的吞吐量,
从而减轻 Elasticsearch 持续写入数据的压力
2)从其他数据源(例如数据库,S3对象存储或消息传递队列)中提取
3)将数据发送到多个目的地,例如S3,HDFS(Hadoop分布式文件系统)或写入文件
4)使用条件数据流逻辑组成更复杂的处理管道●缓存/消息队列(redis、kafka、RabbitMQ等):可以对高并发日志数据进行流量削峰和缓冲,
这样的缓冲可以一定程度的保护数据不丢失,还可以对整个架构进行应用解耦。●Fluentd:是一个流行的开源数据收集器。由于 logstash 太重量级的缺点,Logstash 性能低、
资源消耗比较多等问题,
随后就有 Fluentd 的出现。相比较 logstash,Fluentd 更易用、资源消耗更少、性能更高,
在数据处理上更高效可靠,
受到企业欢迎,成为 logstash 的一种替代方案,常应用于 EFK 架构当中。
在 Kubernetes 集群中也常使用 EFK 作为日志数据收集的方案。在 Kubernetes 集群中一般是通过 DaemonSet 来运行 Fluentd,以便它在每个 Kubernetes
工作节点上都可以运行一个 Pod。
它通过获取容器日志文件、过滤和转换日志数据,然后将数据传递到 Elasticsearch 集群,
在该集群中对其进行索引和存储。2、为什么要使用 ELK:
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、
检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,
从而及时采取措施纠正错误。
往往单台机器的日志我们使用grep、awk等工具就能基本实现简单分析,但是当日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,
一般我们使用 grep、awk和wc等Linux命令能实现检索和统计,
但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,
大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中式日志系统,
可以提高定位问题的效率。3、完整日志系统基本特征
收集:能够采集多种来源的日志数据
传输:能够稳定的把日志数据解析过滤并传输到存储系统
存储:存储日志数据
分析:支持 UI 分析
警告:能够提供错误报告,监控机制4、ELK 的工作原理:
(1)在所有需要收集日志的服务器上部署Logstash;或者先将日志进行集中化管理在日志服务器上,
在日志服务器上部署 Logstash。
(2)Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中。
(3)Elasticsearch 对格式化后的数据进行索引和存储。
(4)Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。总结:logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,
然后交由Elasticsearch存储,kibana对日志进行可视化处理。
三、elk架构部署
192.168.168.61 es1 2/4g192.168.168.62 es2 2/4g192.168.168.63 logstash kibana nginx/http 4/8g
三台同时开启
systemctl stop firewalld
setenforce 0yum -y install ntpdatentpdate ntp.aliyun.com或者date一下看看三台服务器是否同步
------------------- ELK Elasticsearch 集群部署(在Node1、Node2节点上操作) ----------------------------------
1.环境准备
#设置Java环境java -version #如果没有安装,yum -y install java
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)2.部署 Elasticsearch 软件
(1)安装elasticsearch—rpm包
#上传elasticsearch-6.7.2.rpm到/opt目录下
cd /opt
rpm -ivh elasticsearch-6.7.2.rpm(2)修改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
--17--取消注释,指定集群名字
cluster.name: my-elk-cluster
--23--取消注释,指定节点名字:Node1节点为node1,Node2节点为node2
node.name: node1
node.master: true #是否master节点,false为否
node.data: true #是否数据节点,false为否
--33--取消注释,指定数据存放路径
path.data: /var/lib/elasticsearch
--37--取消注释,指定日志存放路径
path.logs: /var/log/elasticsearch
--43--取消注释,避免es使用swap交换分区,可以不注释
bootstrap.memory_lock: true
--55--取消注释,设置监听地址,0.0.0.0代表所有地址
network.host: 0.0.0.0
--59--取消注释,ES 服务的默认监听端口为9200
http.port: 9200 #指定es集群提供外部访问的接口
transport.tcp.port: 9300 #指定es集群内部通信接口
--68--取消注释,集群发现通过单播实现,指定要发现的节点
discovery.zen.ping.unicast.hosts: ["192.168.168.61:9300", "192.168.168.62:9300"]grep -v "^#" /etc/elasticsearch/elasticsearch.yml(3)es 性能调优参数
#优化最大内存大小和最大文件描述符的数量
vim /etc/security/limits.conf
......* soft nofile 65536
* hard nofile 65536
* soft nproc 32000
* hard nproc 32000
* soft memlock unlimited
* hard memlock unlimitedvim /etc/systemd/system.conf
DefaultLimitNOFILE=65536
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinityDefaultLimitNOFILE=65536:
这是指定一个用户会话(session)的默认最大文件描述符数量的限制。
文件描述符是一个用于标识打开文件或其他 I/O 资源的整数。在这里,设置为 65536,
表示一个用户会话可以拥有的最大文件描述符数为 65536。DefaultLimitNPROC=32000:
这是指定一个用户会话的默认最大进程数量的限制。进程是正在运行的程序的实例。
这里设置为 32000,表示一个用户会话可以拥有的最大进程数为 32000。DefaultLimitMEMLOCK=infinity:
这是指定一个用户会话的默认锁定内存的限制。锁定内存是指将内存保留在物理内存中,
防止被交换到磁盘。"infinity" 表示没有内存锁定的限制,用户会话可以锁定任意数量的内存。需重启生效#优化elasticsearch用户拥有的内存权限
由于ES构建基于lucene, 而lucene设计强大之处在于lucene能够很好的利用操作系统内存来缓存索引数据,
以提供快速的查询性能。lucene的索引文件segements是存储在单文件中的,并且不可变,对于OS来说,
能够很友好地将索引文件保持在cache中,以便快速访问;因此,我们很有必要将一半的物理内存留给lucene ; 另一半的物理内存留给ES(JVM heap )。所以, 在ES内存设置方面,可以遵循以下原则:
1.当机器内存小于64G时,遵循通用的原则,50%给ES,50%留给操作系统,供lucene使用
2.当机器内存大于64G时,遵循原则:建议分配给ES分配 4~32G 的内存即可,其它内存留给操作系统,供lucene使用vim /etc/sysctl.conf
#一个进程可以拥有的最大内存映射区域数,参考数据(分配 2g/262144,4g/4194304,8g/8388608)
vm.max_map_count=262144vm.max_map_count 参数用于限制一个进程可以拥有的最大内存映射区域数。
内存映射是一种将文件或其他设备映射到进程地址空间的方法,
允许进程直接读取或写入文件,而无需进行常规的文件 I/O 操作。Elasticsearch 和 Lucene 等搜索引擎: 这些引擎使用内存映射来加速索引和搜索操作。
大量的映射区域可以用于存储索引和缓存,提高搜索性能。数据库系统: 一些数据库系统使用内存映射来管理数据文件,以加速读写操作。科学计算和大数据处理: 在某些科学计算和大数据处理应用中,内存映射可以用于高效地处理大型数据集。sysctl -p
sysctl -a | grep vm.max_map_count(4)启动elasticsearch是否成功开启
systemctl start elasticsearch.service
systemctl enable elasticsearch.service
netstat -antp | grep 9200


(5)查看节点信息
浏览器访问 http://192.168.168.61:9200 、 http://192.168.168.62:9200 查看节点 Node1、Node2 的信息。


浏览器访问 http://192.168.168.61:9200/_cluster/health?pretty 、 http://192.168.168.62:9200/_cluster/health?pretty查看群集的健康情况,可以看到 status 值为 green(绿色), 表示节点健康运行。-------后面查看
浏览器访问 http://192.168.168.61:9200/_cluster/state?pretty 检查群集状态信息。-------后面查看
#使用上述方式查看群集的状态对用户并不友好,可以通过安装 Elasticsearch-head 插件,可以更方便地管理群集。
3.安装 Elasticsearch-head 插件
Elasticsearch 在 5.0 版本后,Elasticsearch-head 插件需要作为独立服务进行安装,
需要使用npm工具(NodeJS的包管理工具)安装。
安装 Elasticsearch-head 需要提前安装好依赖软件 node 和 phantomjs。
node:是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
phantomjs:是一个基于 webkit 的JavaScriptAPI,可以理解为一个隐形的浏览器,
任何基于 webkit 浏览器做的事情,它都可以做到。
(1)编译安装 node
#上传软件包 node-v8.2.1.tar.gz 到/opt
yum install gcc gcc-c++ make -ycd /opt
tar zxvf node-v8.2.1.tar.gzcd node-v8.2.1/
./configure
make && make install
(2)安装 phantomjs
(2)安装 phantomjs
#上传软件包 phantomjs-2.1.1-linux-x86_64.tar.bz2 到
cd /opt
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
cd /opt/phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin
(3)安装 Elasticsearch-head 数据可视化工具
#上传软件包 elasticsearch-head-master.zip 到/opt
cd /opt
unzip elasticsearch-head-master.zip
cd elasticsearch-head-master/
npm install //安装依赖包#速度慢,可以指定为淘宝镜像
npm config set registry http://registry.npm.taobao.org/ #再次安装
npm install
(4)修改 Elasticsearch 主配置文件
vim /etc/elasticsearch/elasticsearch.yml
......
--末尾添加以下内容--
http.cors.enabled: true #开启跨域访问支持,默认为 false
http.cors.allow-origin: "*" #指定跨域访问允许的域名地址为所有systemctl restart elasticsearch
(5)启动 elasticsearch-head 服务
#必须在解压后的 elasticsearch-head 目录下启动服务,进程会读取该目录下的 gruntfile.js 文件,否则可能启动失败。
cd /opt/elasticsearch-head-master
npm run start &> elasticsearch-head@0.0.0 start /opt/elasticsearch-head-master
> grunt serverRunning "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100
回车
#elasticsearch-head 监听的端口是 9100
netstat -natp |grep 9100
(6)通过 Elasticsearch-head 查看 Elasticsearch 信息
通过浏览器访问 http://192.168.168.61:9100/ 地址并连接群集。如果看到群集健康值为 green 绿色,代表群集很健康。


(7)插入索引
#通过命令插入一个测试索引,索引为 index-demo,类型为 test。
curl -X PUT '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
}
删除索引
curl -X DELETE 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
浏览器访问 http://192.168.168.61:9100/ 查看索引信息,可以看见索引默认被分片5个,并且有一个副本。

点击“数据浏览”,会发现在node1上创建的索引为 index-demo,类型为 test 的相关信息。

Elasticsearch 的可视化工具中,以索引分区(Shard)为单位,
可能采用不同的标识颜色来表示它们的状态。黑色的边框通常表示主分片(Primary Shard)。
在 Elasticsearch 中,索引被分成多个分区,这些分区称为分片。
每个索引可能包含一个或多个主分片以及它们的副本。主分片是数据的主要存储,
副本用于提高冗余和可用性。
---------------------- ELK Logstash 部署(在 Apache 节点上操作) ----------------------------------------
Logstash 一般部署在需要监控其日志的服务器。在本案例中,Logstash 部署在 Apache 服务器上,
用于收集 Apache 服务器的日志信息并发送到 Elasticsearch。
1.更改主机名
hostnamectl set-hostname apache2.安装Apahce服务(httpd)
yum -y install httpd
systemctl start httpd3.安装Java环境
yum -y install java
java -version4.安装logstash
#上传软件包 logstash-6.7.2.rpm 到/opt目录下
cd /opt
rpm -ivh logstash-6.7.2.rpm
systemctl start logstash.service
systemctl enable logstash.serviceln -s /usr/share/logstash/bin/logstash /usr/local/bin/
#可以指定logstash的工作目录,默认为:/etc/logstash/conf.d
path.config: /opt/log
5.测试 Logstash
Logstash 命令常用选项:
-f:通过这个选项可以指定 Logstash 的配置文件,根据配置文件配置 Logstash 的输入和输出流。
-e:从命令行中获取,输入、输出后面跟着字符串,
该字符串可以被当作 Logstash 的配置(如果是空,则默认使用 stdin 作为输入,stdout 作为输出)。
-t:测试配置文件是否正确,然后退出。
定义输入和输出流:
#输入采用标准输入,输出采用标准输出(类似管道),新版本默认使用 rubydebug 格式输出
logstash -e 'input { stdin{} } output { stdout{} }'

#使用 rubydebug 输出详细格式显示,codec 为一种编解码器
logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'
Ruby 调试信息使用 rubydebug 格式进行输出,显示了事件的各个字段和元数据。
…
www.baidu.com #键入内容(标准输入)
{
“@timestamp” => 2020-12-22T02:15:39.136Z, #输出结果(标准输出处理后的结果)
“@version” => “1”,
“host” => “apache”,
“message” => “www.baidu.com”
}
#使用 Logstash 将信息写入 Elasticsearch 中
logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.168.61:9200","192.168.168.62:9200"] } }'
输入 输出 对接

…
www.baidu.com #键入内容(标准输入)
www.sina.com.cn #键入内容(标准输入)
www.google.com #键入内容(标准输入)
//结果不在标准输出显示,而是发送至 Elasticsearch 中,可浏览器访问 http://192.168.168.61:9100/ 查看索引信息和数据浏览。
logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.168.61:9200","192.168.168.62:9200"] } }' --path.data /opt/test1



四、es的主从和数据模式
node.master: true
es数据库的主从类型 true false
node.data: true
数据节点,是否保存数据,logstash发送数据,节点是否接受以及保存。
4.1、es如何创建,修改,删除数据数据管理
通过http的方式
post方式修改数据
创建数据
curl -X PUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'localhost:9200 ##对应的就是本地数据库的地址 ip+端口index-demo ##创建索引分片的名称test ##数据的名称1 ##数据的id字段?pretty&pretty ##参数设定为json格式-d ##数据的具体内容"user":"zhangsan","mesg"."hello world"
修改数据的方式:
curl -X POST ‘localhost:9200/index-demo/test/1/_update?pretty’ -H ‘Content-Type: application/json’ -d ‘{ “doc”: { “user”: “zhangsan”, “mesg”: “hello1 world1” } }’
删除数据的方式
curl -X DELETE ‘localhost:9200/index-demo/test/1?pretty&pretty’ -H ‘content-Type: application/json’ -d ‘{“user”:“zhangsan”,“mesg”:“hello world”}’
五、安装kibana
[root@elk3 opt]# cd /etc/logstash/conf.d/vim system.confinput {file{path =>"/var/log/messages"type =>"system"start_position =>"beginning"#从结尾开始end}}
output {elasticsearch {hosts =>["192.168.168.61:9200","192.168.168.62:9200"]index =>"system-%{+YYYY.MM.dd}"}
}logstash -f system.conf --path.data /opt/test2 &
##后台运行即可回车即可cd /opt拖安装包 kibana-6.7.2-x86_64.rpm [root@elk3 opt]# rpm -ivh kibana-6.7.2-x86_64.rpm ##一键安装[root@elk3 opt]# vim /etc/kibana/kibana.yml ##配置kibana文件2 server.port: 5601##取消注释7 server.host: "0.0.0.0" ##取消注释,并打开监听端口为任意
28 elasticsearch.hosts: ["http://192.168.168.61:9200", "http://192.168.168.62:9200"] ##设置es1和es296 logging.dest: /var/log/kibana.log37 kibana.index: ".kibana"113 i18n.locale: "zh-CN"[root@elk3 opt]# touch /var/log/kibana.log
[root@elk3 opt]# chown kibana:kibana /var/log/kibana.log [root@elk3 opt]# systemctl restart kibana.service
[root@elk3 opt]# systemctl enable kibana.service Created symlink from /etc/systemd/system/multi-user.target.wants/kibana.service to /etc/systemd/system/kibana.service.
http://192.168.168.63:5601/






[root@elk3 opt]# chmod 777 /var/log/messages
[root@elk3 opt]# systemctl restart httpd.service

相关文章:
63、ELK安装和部署
一、ELK日志系统 1.1、ELK平台的定义 ELK平台是一套完整的日志集中处理解决方案,将ElasticSearch、Logstash和Kiabana 三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求 E:elasticsearch ES分布式索引型非关系数据库,存…...
【Dash】简单的直方图
一、Visualizing Data The Plotly graphing library has more than 50 chart types to choose from. In this example, we will make use of the histogram chart. # Import packages from dash import Dash, html, dash_table, dcc import pandas as pd import plotly.expre…...
【CTF-Crypto】格密码基础(例题较多,非常适合入门!)
格密码相关 文章目录 格密码相关格密码基本概念(属于后量子密码)基础的格运算(行列式运算)SVP(shortest Vector Problem)最短向量问题CVP(Closet Vector Problem)最近向量问题 做题要…...
Java对象流
对象流 对象输入流 java.io.ObjectInputStream使用对象流可以进行对象反序列化 构造器 ObjectInputStream(InputStream in) 将当前创建的对象输入流链接在指定的输入流上 方法 Object readObject() 进行对象反序列化并返回。该方法会从当前对象输入流链接的流中读取若干…...
问界M7是不是换壳东风ix7? 这下有答案了
文 | AUTO芯 作者 | 谦行 终于真相大白了 黑子们出来挨打啊 问界M7是换壳的东风ix7? 你们没想到,余大嘴会亲自出来正面回应吧 瞧瞧黑子当时乐的 问界你可以啊!靠改名字造车呢? 还有更过分的,说M7是东风小康ix7…...
mybatis多条件in查询拓展
背景 最近碰上有个业务,查询的sql如下: select * from table where (sku_id,batch_no) in ((#{skuId},#{batchNo}),...); 本来也没什么,很简单常见的一种sql。问题是我们使用的是mybatis-plus,然后写的时候又没有考虑到后面的查…...
<Rust><iced>基于rust使用iced构建GUI实例:一个CRC16校验码生成工具
前言 本专栏是Rust实例应用。 环境配置 平台:windows 软件:vscode 语言:rust 库:iced、iced_aw 概述 本文是专栏第五篇实例,是一个CRC16校验码转换程序。 本篇内容: 1、CRC16校验码生成 代码介绍 本文的crc16校验码生成工具,主要设计两个方面,一个是crc16 modbus…...
动态规划与0/1背包问题:深入解析
目录 一、动态规划简介 二、0/1背包问题概述 三、动态规划解决0/1背包问题 1. 定义子问题 2. 确定状态 3. 初始条件和边界情况 4. 计算最终结果 5. 代码实现 6. 空间优化 四、例题讲解 例题1:基础例题 例题2:路径恢复 例题3:扩展…...
Python爬虫:下载人生格言
Python爬虫:下载人生格言 爬取网页 将这些格言下载存储到本地 代码: import requests #导入requests库,用于提取网页 from lxml import etree#导入lxml库,用于Xpath数据解析#请求头 header{ user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) A…...
使用注意力机制的seq2seq
一、背景 1、机器翻译中,每个生成的词可能相关于源句子中不同的词,但是之前用的是最后一个RNN层出来的context。 2、加入注意力 (1)假设输入序列中有𝑇个词元, 解码时间步𝑡′的上下文变量是…...
我们的前端开发逆天了!1 小时搞定了新网站,还跟我说 “不要钱”
大家好,我是程序员鱼皮。前段时间我们上线了一个新软件 剪切助手 ,并且针对该项目做了一个官网: 很多同学表示官网很好看,还好奇是怎么做的,其实这个网站的背后还有个有趣的小故事。。。 鱼皮:我们要做个官…...
.NET 相关概念
.NET 和 .NET SDK .NET 介绍 .NET 是一个由 Microsoft 开发和维护的广泛用于构建各种类型应用程序的开发框架。它是一个跨平台、跨语言的开发平台,提供了丰富的类库、API和开发工具,支持开发者使用多种编程语言(如C#、VB.NET、F#等…...
Kubernetes 从集群中移除一个节点(Node)
目录 1. 移除工作节点(Worker Node)1.1 确定工作节点名称1.2 驱逐工作节点上的Pod1.3 删除工作节点1.4 重置该工作节点 2. 移除控制平面节点(Control Plane Node)2.1 确定控制平面节点名称2.2 驱逐控制平面节点上的Pod2.3 更新 etcd 集群2.4 从集群中删除控制平面节点2.5 重置移…...
高德地图离线版 使用高德地图api的方法
高德离线包我已经存至Gitee(自行下载即可):高德地图离线解决方案: 高德地图离线解决方案 然因为高德地图的瓦片地图太大,所以要让后端部署下 前端直接调用 如果本地 直接找到瓦片图路径就可以 initMap () {const base_url "…...
springboot 集成私有化Ollama大模型开源框架,搭建AI智能平台
Ollama是一个用于大数据和机器学习的平台,它可以帮助企业进行数据处理、分析和决策制定。 1、在Spring Boot项目pom.xml中添加Ollama客户端库依赖 <dependency><groupId>org.springframework.ai</groupId><artifactId>spring-a…...
6.key的层级结构
redis的key允许多个单词形成层级结构,多个单词之间用:隔开,格式如下: 项目名:业务名:类型:id 这个格式并非固定的,可以根据自己的需求来删除或添加词条。 例如: taobao:user:1 taobao:product:1 如果value是一个java对…...
LogonTracer图形化事件分析工具
LogonTracer这款工具是基于Python编写的,并使用Neo4j作为其数据库(Neo4j多用于图形数据库),是一款用于分析Windows安全事件登录日志的可视化工具。它会将登录相关事件中的主机名(或IP地址)和帐户名称关联起…...
【云原生】Prometheus监控Docker指标并接入Grafana
目录 一、前言 二、docker监控概述 2.1 docker常用监控指标 2.2 docker常用监控工具 三、CAdvisor概述 3.1 CAdvisor是什么 3.2 CAdvisor功能特点 3.3 CAdvisor使用场景 四、CAdvisor对接Prometheus与Grafana 4.1 环境准备 4.2 docker部署CAdvisor 4.2.2 docker部署…...
搭建日志系统ELK(二)
搭建日志系统ELK(二) 架构设计 在搭建以ELK为核心的日志系统时,Logstash作为日志采集的核心组件,负责将各个服务的日志数据采集、清洗、过滤。然而缺点也很明显: 占用较多的服务器资源。配置复杂,学习曲线陡峭。处理大数据量时…...
常用排序算法的实现与介绍
常用排序算法的实现与介绍 在计算机科学中,排序算法是非常基础且重要的一类算法。本文将通过C语言代码实现,介绍几种常见的排序算法,包括冒泡排序、选择排序、插入排序和快速排序。以下是这些排序算法的具体实现和简要介绍。 1. 冒泡排序&am…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
