淄博专业网站设计/百度竞价排名是什么
目录
引言
首先,下载相关的包
其次,安装启动elasticsearch
下一步,安装并启动logstash
最后,安装并启动kibana
进一步的,测试数据的流动
引言
最近整理电脑发现之前的一篇ELK极简入门笔记,现整理发出来,希望对感兴趣的小伙伴有帮助。
要说ELK是什么,我们先给一个引子。早期,计算机方面比较实用的技术是体系结构相关的内容。那时候,各个大学的计算机系主任大部分是体系结构方面的专家;后来,算法逐渐占据上风,开始流行起来,当年微软将谷歌作为最大的竞争对手,不无道理;再后来,人工智能开始如滔天大浪席卷了几乎所有高科技公司和高校,现在再去看各个高校的计算机系主任,不沾点人工智能的边都不好意思把简历放出来。在这个历史过程中,搜索算法一度被认为是算法皇冠上的明珠,尤其是在互联网大潮来临后,数据生产呈现爆炸式增长,如何快速准确的检索需要的数据,成为了算法工程师的终极梦想。这方面的技术仍然在不断的进化演进,ELK就是在大数据领域的一个搜索引擎成果包。简而言之,ELK由三个子包构成,E代表elasticsearch,可升缩的查找引擎;L代表logstash,这里我们比较通用的将其理解为数据解析转换器,而非日志;K代表kibana,可视化的一套组件。放在一起就是,logstash将生产的数据,按照规则,解析过滤转换为结构化的数据,提交给elasticsearch,kibana提供简洁丰富的可视化界面,方便用户查找elasticsearch中的数据。
下面看看如何搭建最基本的ELK环境。
首先,下载相关的包
官网国内下载地址过慢,可以找国内镜像下载
https://elasticsearch.thans.cn/downloads/logstash/logstash-6.4.3.tar.gz
https://artifacts.elastic.co/downloads/logstash/logstash-6.4.3.tar.gz
其次,安装启动elasticsearch
elastic 高版本出现一些错误打印,不再研究,考虑下载低版本
下载6.4版本,启动,提示killed
修改config目录下的jvm options配置文件,将虚拟机内存要求降低,从1G到512M
再次运行,提示错误can not run elasticsearch as root
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户,用非root用户启动,提示
Exception in thread "main" java.nio.file.AccessDeniedException: /home/work/ELK/elasticsearch-6.4.3/config/jvm.options
是因为目录没有非root用户的执行权限,用root用户chmod -R 777 安装目录
然后再次启动elasticsearch,成功
在机器内部执行curl -get http://127.0.0.1:9200可以访问,说明elasticsearch启动成功
curl -get http://127.0.0.1:9200{"name" : "DxD9f_v","cluster_name" : "elasticsearch","cluster_uuid" : "7z49ZWMyQR2QYdCfghiVkg","version" : {"number" : "6.4.3","build_flavor" : "default","build_type" : "tar","build_hash" : "fe40335","build_date" : "2018-10-30T23:17:19.084789Z","build_snapshot" : false,"lucene_version" : "7.4.0","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search"}
但是外部网络访问不了,打开config下的yml配置文件,将里面的net host项打开,并指定外部访问的IP地址 0.0.0.0
重启服务,提示max fs过小,vm max mem过小
对max fs过小,按照网上的,修改/etc/security/limits配置文件,将65535改成65536
对于vm max mem过小,按照网上修改,将/etc/sysctl.conf配置文件,增加一行vm配置,按照elasticsearch启动时提示的错误信息,补充需要的大小,21xxx44
执行sysctl -p 使配置生效
对于第一个修改的生效,需要重新登录
之后,再次启动elasticsearch成功,在浏览器中访问192.168.0.108:9200 成功
向elasticsearch插入数据,需要指定头部
curl -XPUT 'http://localhost:9200/twitter/_doc/1?pretty' -H 'Content-Type: application/json' -d '{"user": "kimchy","post_date": "2009-11-15T13:12:00","message": "Trying out Elasticsearch, so far so good?"}'
获取内容
curl -XGET 'http://localhost:9200/twitter/_doc/1?pretty=true'{"_index" : "twitter","_type" : "_doc","_id" : "1","_version" : 1,"found" : true,"_source" : {"user" : "kimchy","post_date" : "2009-11-15T13:12:00","message" : "Trying out Elasticsearch, so far so good?"}}
查看elasticsearch的状态
curl -X GET "localhost:9200/_cat"
可以查看到支持命令列表
=^.^=/_cat/allocation/_cat/shards/_cat/shards/{index}/_cat/master/_cat/nodes/_cat/tasks/_cat/indices/_cat/indices/{index}/_cat/segments/_cat/segments/{index}/_cat/count/_cat/count/{index}/_cat/recovery/_cat/recovery/{index}/_cat/health/_cat/pending_tasks/_cat/aliases/_cat/aliases/{alias}/_cat/thread_pool/_cat/thread_pool/{thread_pools}/_cat/plugins/_cat/fielddata/_cat/fielddata/{fields}/_cat/nodeattrs/_cat/repositories/_cat/snapshots/{repository}/_cat/templates
查看节点健康状态
curl -X GET "localhost:9200/_cat/health?v"epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent1699100535 20:22:15 elasticsearch yellow 1 1 30 30 0 0 15 0 - 66.7%
查看节点的状态
curl -X GET "localhost:9200/_cat/nodes?v"ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name192.168.0.99 60 96 2 0.00 0.00 0.00 mdi * DxD9f_v
查看索引
curl -X GET "localhost:9200/_cat/indices?v"health status index uuid pri rep docs.count docs.deleted store.size pri.store.sizegreen open .monitoring-kibana-6-2020.04.05 dEiKRojsQv-o22ZL7POLVA 1 0 25917 0 3.2mb 3.2mbgreen open .monitoring-es-6-2020.04.05 dosbfiHqR_uQcDNS6KTXGw 1 0 95077 200 36.2mb 36.2mbyellow open bank 9X6hpCfMRgG0Hg_pldRghA 5 1 1000 0 483kb 483kbyellow open blog TWYzd5SgRsCR5VEu1szVSg 5 1 1110 0 329.1kb 329.1kbgreen open .monitoring-es-6-2020.04.12 L2kP2a1sRJmYv32WJiR9ug 1 0 34872 0 14.9mb 14.9mbgreen open .monitoring-kibana-6-2020.04.13 7JMe7HYlQaKr_SEAocLXuA 1 0 15 0 81.4kb 81.4kbgreen open .monitoring-es-6-2020.04.06 VIwdUGpxQ_q3GUNDaiBrFQ 1 0 10283 216 5mb 5mbgreen open .monitoring-kibana-6-2020.04.04 L3uJIJ9GQ2WxtDFUVqT0Xg 1 0 13629 0 1.9mb 1.9mbyellow open test 3wkfLrXHRXS-HZsWXkDYjg 5 1 2 0 10.8kb 10.8kbgreen open .monitoring-kibana-6-2020.04.12 7okTRX0VTrya7qCKusG6kQ 1 0 9184 0 1.1mb 1.1mbgreen open .monitoring-kibana-6-2020.04.06 Bq9YykB7Smi3IqY7KqSUew 1 0 2361 0 326kb 326kbgreen open .monitoring-es-6-2020.04.04 X05uCpFqTtupA5x9OKFCvA 1 0 45040 46 16.7mb 16.7mbgreen open .monitoring-kibana-6-2020.04.08 bpTl2-TdSn6hRKFG2WdPlQ 1 0 8 0 48.3kb 48.3kbgreen open .monitoring-es-6-2020.04.13 ku_cSQXDRIG88gKRmZy3cw 1 0 147 44 234.6kb 234.6kbgreen open .monitoring-es-6-2020.04.07 _GTr8c30Q1iam0Jq49MacQ 1 0 27084 203 11.2mb 11.2mbgreen open .monitoring-kibana-6-2020.04.07 or0a2MePRuiQ815Q7SQKlw 1 0 7180 0 1000.2kb 1000.2kbgreen open .monitoring-es-6-2023.11.04 UDOLcrBPSRGo0w_5XGuxuQ 1 0 3674 135 2.1mb 2.1mbgreen open .kibana 32YGBWOgSTK5cxPAyz1ZUA 1 0 5 0 27.5kb 27.5kb
查看索引的文档,如果不存在,会提示错误
curl -X GET "localhost:9200/_cat/indices/blog"
yellow open blog TWYzd5SgRsCR5VEu1szVSg 5 1 1110 0 329.1kb 329.1kb
查询索引中的数据,pretty会让数据美化输出,主要是按照层次结构输出,下面命令中,search应该是内置命令字
curl -X GET "localhost:9200/blog/_search?pretty"
执行accounts数据示例,注意, 会提示bulk命令需要一个回车换行,其实是在accounts文件尾部增加一个回车换行
curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_doc/_bulk?pretty&refresh" --data-binary "@accounts.json"
现在就向elasticsearch中增加了bank这个索引,并有1000个文档数据
curl "localhost:9200/_cat/indices?v"
查询所有索引,可以看到有bank索引
检索特定索引,这里是刚创建的bank索引
curl -X GET "localhost:9200/bank/_search?q=*&sort=account_number:asc&pretty"
?后面是参数列表,以&分割。q表示匹配所有参数,sort表示按照accountsnumber升序排列,pretty表示美化输出
以上可以在安装包的Readme中查找到使用例子
===========================================================
下一步,安装并启动logstash
logstash-6.4.3/bin/logstash --help
Unrecognized VM option 'UseParNewGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
注释掉config/jvm.options文件中的 -XX:+UseParNewGC 行即可
运行出现exit,查看输出日志,是因为更新了JDK到11所致,这个版本的JDK需要降低,使用jdk1.8.0,Logstash启动成功。
===========================================================
最后,安装并启动kibana
发现启动kibana后,elasticsearch就会出现killed
进一步分析发现,kibana在启动过程中会连接elasticsearch
对于killed现象初步分析可能是jvm 内存出错导致,很可能是内存不够
之前的Hadoop相关java进程都是以1g内存参数启动jvm的,在elasticsearch中将其修改为512了,这一点上两块使用java前后有所不同步
其次,是否是因为这些java进程的存在,消耗了大量jvm内存,导致后面再开新的java进程会崩溃,由于内存不够
关闭Hadoop相关进程,使用jps,重新运行elasticsearch和kibana,成功,可以通过web看到kibana的页面
jps只有elasticsearch一个进程,kibana难道不是java进程启动????
原来因为kibana是使用node.js写的,所以进程在node中。但是查找到的node进程不一定就是kibana的,
所以还需要根据端口进一步确认,直接查看5601端口的占用情况,确定下进程ID,然后在查看下node进程的ID,
如果一致,就可以确定该node进程就是kibana的进程了。
这是很关键的一点。之前出现过关闭elasticsearch后,再次启动elasticsearch后,出现kibana启动后卡住,CPU占比接近100%的情况
无意中发现此时kibana的web端仍然是可用工作的,才想起来它可能在后台工作,并没有退出。
此时,可通过netstat 查看5601端口是否仍然在工作
netstat -anlp | grep 5601
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN 78985/bin/../node/b
进一步的找到进程78985
ps aux | grep 78985
ywg 78985 1.2 8.3 1439760 184632 ? Sl 06:59 2:37 bin/../node/bin/node --no-warnings bin/../src/cli
此即为kibana关联的node进程
===========================================================
进一步的,测试数据的流动
Logstash 的配置文件中使用了网络的例子,
input {file {path => "/var/log/bootstrap.log" start_position => "beginning"type => "test"}}
输入使用了上述日志文件,并以beginning为开始标记
使用echo命令向上述日志文件中增加内容,可以在Logstash的日志中看到新内容解析
{"message" => "Mytest ELK","@timestamp" => 2023-11-04T14:20:08.571Z,"path" => "/var/log/bootstrap.log","type" => "test","tags" => [[0] "_grokparsefailure"],"host" => "ubuntu","@version" => "1"}
从kibana中可以看到日志信息及统计信息变化
如果要添加索引项目,可以在manager中添加索引匹配模式
下一步就是熟悉elasticsearch的数据结构,这样在后续使用中才可以做到从心所欲。
相关文章:

ELK极简上手
目录 引言 首先,下载相关的包 其次,安装启动elasticsearch 下一步,安装并启动logstash 最后,安装并启动kibana 进一步的,测试数据的流动 引言 最近整理电脑发现之前的一篇ELK极简入门笔记,现整理发出…...

在 JavaScript 中,变量的作用域是如何确定的?
在 JavaScript 中,变量的作用域是由作用域链(Scope Chain)来确定的。作用域链是指变量在执行期间访问的作用域的链式结构。 JavaScript 中的作用域分为全局作用域和局部作用域(函数作用域和块级作用域)。 全局作用域…...

常见面试题-TCP三次握手四次挥手
TCP 三次握手/四次挥手 参数用途SYN用于启动和建立连接时,同步设备之间的序列号。0到2^32 - 1的随机数。ACK向另一端确认已经收到 SYN,数值为收到 SYN 增一。SYN-ACK确认之前收到了 SYN,数值为自定义值。FIN终止连接。RST重置连接。 三次握…...

前端框架Vue学习 ——(六)Vue组件库Element
文章目录 Element 介绍快速入门常见组件表格分页Dialog 对话框组件表单 Container 布局容器 Element 介绍 Element:是饿了么团队研发的,一套为开发者、 设计师和产品经理准备的基于Vue 2.0的桌面端组件库。 组件:组成网页的部件,…...

第六章:Property-based Testing and Test Oracles
文章目录 Test OraclesActive and Passive Test OraclesTypes of Test OraclesFormal, executable specificationsSolved examplesMetamorphic oraclesAlternative implementations (备用实现)Heuristic oracles (启发式)The Golden Program!Oracle Deviation (Oracle偏差)T…...

react生命周期函数
React 组件的生命周期可分为三大阶段:挂载阶段(Mounting)、更新阶段(Updating)和卸载阶段(Unmounting)。 1.挂载阶段(Mounting) 在组件被插入到 DOM 中后,会…...

QSqlDatabase使用Sqlite
QSqlDatabase使用Sqlite Sqlite本身就可以被内嵌在程序中,QSqlDatabase也自带Sqlite驱动,无需任何第三方依赖,可以直接使用 QSqlDatabase _db QSqlDatabase::addDatabase("QSQLITE"); QString dbPath "/path/to/xxx.db&qu…...

宝马——使用人工智能制造和驾驶汽车
德国汽车制造商宝马(BMW)每年在全球制造和销售250万台汽车,其品牌包括宝马、MINI和劳斯莱斯。 宝马汽车以其卓越的性能和对新技术的应用而著名,它是道路上最精致的汽车之一,并且和其竞争对手戴姆勒(Daimler)一样,在将自动驾驶汽车…...

java入门,Map<? extends String, ?>
一、前言 是不是平时写业务代码的时候很少用到这个写法:Map<? extends String, ?>,这是Map类型,Map的键是? extends String 类型,值是?。为什么不是我们平时写的Map< String, Object>,这种写法有什么好…...

Spring Boot 统一处理功能
目录 1.用户登陆权限验证 1.1 每个方法验证 1.2 Spring AOP 用户统一登陆验证 1.3 拦截器 1.3.1 自定义拦截器 1.3.2 将自定义拦截器配置到系统设置中,并且设置拦截规则 1.3.3 排除所有的静态资源 1.4 登录拦截器(练习) 1.5 拦截器原…...

香港金融科技周VERTU CSO Sophie谈Web3.0的下一个风口 手机虚拟货币移动支付
10月31日,香港金融科技周正式拉开帷幕。这项香港金融科技界地年度盛事今年已经踏入了第八届,本届活动吸引超过数百位金融科技专业人士、创业者和行业领袖现场参与,线上参与观众超过10万人次。 在金融科技周的圆桌会议上,VERTU首席…...

分布式单元化
一 分布式单元化 1.1 两地三中心 顾名思义,两地指的是两个城市:同城,异地。三中心指的是三个数据中心:生产中心、同城容灾中心、异地容灾中心。 在同一个城市或者临近的城市建设两个相同的系统,双中心具备相当的业…...

wvp-gb28181-pro接入海康摄像头
网络-高级配置-平台接入 sip服务器信息默认参数如下,一键安装wvp完成之后默认就是这样的参数 设置项 设置值 平台接入方式 28181 本地sip端口 5060 传输协议 tcp、udp(外网的话我建议还是用tcp) 启用 勾选 协议版本 GB/T28181-201…...

近视眼选择什么台灯好?专家推荐的防近视台灯
年轻的时候不懂,以为自己的眼睛不好,近视度数高,是因为长时间看书造成的,其实我们都忽视了一个最为重要的影响因素,那就是灯光。如今的孩子面临着比我们以前更要繁重的学习压力,因此更需要注意用眼健康了&a…...

数据标注工具【LabelImg】安装使用 用VOC制作自己的数据集
labelImg的安装 ⭐️LabelImg简介⭐️LabelImg的安装⭐️labelImg标注数据集⭐️利用VOC制作自己的数据集 ⭐️LabelImg简介 Labelimg是一款开源的数据标注工具,标签可用于分类和目标检测,它是用python写的,并使用Qt作为其图形界面…...

Zeus IoT : 基于 SpringBoot 的分布式开源物联网大数据平台
Zeus IoT 是一个集设备数据采集、存储、分析、观测为一体的开源物联网平台,全球首创基于 Zabbix 的物联网分布式数据采集架构,具备超百万级物联网设备的并发监控能力,真正具备工业级性能与稳定性的开源物联网大数据中台。 Zeus IoT 致力于让设…...

面试—如何介绍项目中的多级缓存?
项目中使用的多级缓存也就是 分布式缓存 Redis 本地缓存 Caffeine,那么令 Caffeine 作为一级缓存,Redis 作为二级缓存,在项目中通过记录数据的访问次数,将热点数据放在 本地缓存,将非热点数据放在 Redis缓存 中&#…...

PyTorch入门学习(十七):完整的模型训练套路
目录 一、构建神经网络 二、数据准备 三、损失函数和优化器 四、训练模型 五、保存模型 一、构建神经网络 首先,需要构建一个神经网络模型。在示例代码中,构建了一个名为Tudui的卷积神经网络(CNN)模型。这个模型包括卷积层、…...

《 Hello 算法 》 - 免费开源的数据结构与算法入门教程电子书,包含大量动画、图解,通俗易懂
这本学习算法的电子书应该是我看过这方面最好的书了,代码例子有多种编程语言,JavaScript 也支持。 《 Hello 算法 》,英文名称是 Hello algo,是一本关于编程中数据解构和算法入门的电子书,作者是毕业于上海交通大学的…...

数据库之事务
数据库之事务 事务的特点: ACID 原子性 一致性:数据库的完整性约束,不能被破坏 隔离性 持久性:数据一旦提交,事务的效果将会被永久的保留在数据库中。而且不会被回滚 主从复制 高可用 备份 权限控制 脏读&am…...

NOIP2023模拟12联测33 B. 游戏
NOIP2023模拟12联测33 B. 游戏 文章目录 NOIP2023模拟12联测33 B. 游戏题目大意思路code 题目大意 期望题 思路 二分答案 m i d mid mid ,我们只关注学生是否能够使得被抓的人数 ≤ m i d \le mid ≤mid 那我们就只关心 a > m i d a > mid a>mid 的房…...

代码随想录打卡第六十三天|84.柱状图中最大的矩形
84.柱状图中最大的矩形 题目:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。 提示: 1 < heights.length <105 0 < h…...

python tempfile 模块使用
在Python中,tempfile 模块用于创建临时文件和目录,它们可以用于存储中间处理数据,不需要长期保存。该模块提供了几种不同的类和函数来创建临时文件和目录。 下面是几个常用的 tempfile 使用方法: 临时文件 使用 NamedTemporary…...

【软件测试】接口测试实战详解
最近找到了几个问题,都还比较有代表性。 作为一个初级测试,想学接口测试,但是一点头绪都没有。求教大神指点,有没有好的书或者工具推荐?如何做接口测试呢?接口测试有哪些工具做接口测试的流程一般是怎么样…...

轻量封装WebGPU渲染系统示例<20>- 美化一下元胞自动机之生命游戏(源码)
当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/GameOfLifePretty.ts 系统特性: 1. 用户态与系统态隔离。 2. 高频调用与低频调用隔离。 3. 面向用户的易用性封装。 4. 渲染数据(内外部相关资源)和渲染机制分离…...

Nodejs的安装以及配置(node-v12.16.1-x64.msi)
Nodejs的安装以及配置 1、安装 node-v12.16.1-x64.msi点击安装,注意以下步骤 本文设置nodejs的安装的路径:D:\soft\nodejs 继续点击next,选中Add to PATH ,旁边的英文告诉我们会把 环境变量 给我们配置好 当然也可以只选择 Nod…...

03【保姆级】-GO语言变量和数据类型和相互转换
03【保姆级】-GO语言变量和数据类型 一、变量1.1 变量的定义:1.2 变量的声明、初始化、赋值1.3 变量使用的注意事项 插播-关于fmt.Printf格式打印%的作用二、 变量的数据类型2.1整数的基本类型2.1.1 有符号类型 int8/16/32/642.1.2 无符号类型 int8/16/32/642.1.3 整…...

mermaid学习第一天/更改主题颜色和边框颜色/《需求解释流程图》
mermaid 在线官网: https://mermaid-js.github.io/ 在线学习文件: https://mermaid.js.org/syntax/quadrantChart.html 1、今天主要是想做需求解释的流程图,又不想自己画,就用了,框框不能直接进行全局配置࿰…...

SAP MASS增加PR字段-删除标识
MASS->BUS2105->发现没有找到PR删除标识字段 SAP MASS增加PR字段-删除标识 1.tcode:MASSOBJ 选中BUS2105 点“应用程序表” 点“字段列表” 2.选中一行进行参考 3.修改字段为删除标识 LOEKZ,保存即可。 4.然后MASS操作,批量设置删除标识&…...

【手把手教你】训练YOLOv8分割模型
1.下载文件 在github上下载YOLOV8模型的文件,搜索yolov8,star最多这个就是 2. 准备环境 环境要求python>3.8,PyTorch>1.8,自行安装ptyorch环境即可 2. 制作数据集 制作数据集,需要使用labelme这个包&#…...