elk日志分析系统:

elk日志分析系统:

elk是一套完整的日志集中处理方案,由三个开源的软件简称组成;

E:Easticsearch 简称ES是一个开源的,分布式的存储检索引擎,(索引型的非关系数据库)存储日志

由java代码开发的,基于Lucene结构开发的一套全文检索引擎,他也拥有一个web接口

用户可以通过浏览器的形式和ES组件进行通信

作用;存储,允许全文搜索,也可以结构化搜索(也可以根据索引点来进行搜索),索引点可以支持大容量的日志数据,也可以搜索不同类型的文档。

k:kiabana图形化界面,可以更好的分析存储在ES上的日志数据,提供了一个图形化的界面,来浏览ES上的日志数据。汇总分析,搜索。

l:Logstash 数据收集引擎。可以支持动态的(实时)从各种服务应用收集日志资源,还可以对收集到日志数据进行过滤,分析,丰富收集的到日志数据,统一格式。然后把数据同步到es存储引擎。

RUBY语言编写的,运行在java虚拟机上的一个强大的数据处理工具,数据传输,格式化输出,格式化处理,主要用来处理日志

数据收集工具:

filebeat:轻量级的开源的,日志收集工具,收集的速度比较快,但是没有数据分析和过滤的能力,一般是结合logstash一块使用

kafka

RabbitMQ 中间件消息队列

\

总结:elk作用当我们管理一个大集群式,需要分析和定位的日志就会很多,每一台服务器分别去分析,将会耗时耗力

所以我们应运而生了一个集中的统一的日志管理和分析系统,极大的挺高了定位问题的效率

1、收集,可以收集基本上市面上常用的软件日志

2、传输:收集到的日志需要发送到es上

3、存储:es负责存储数据、

4、ui:图形化界面(kiabana)

需要3台服务器

需要两台

es1:

es2 :

logstash,kiabana(4核,8g)

vim /etc/security/limits.conf

*soft nofile 65536

*hard nofile 65536

*soft nproc 32000

*hard nproc 32000

*soft memlock unlimited

*hard memlock unlimited

vim /etc/systemd/system.conf

DefaultLimitNOFILE=65536

一个用户会话的默认最大文件描述符的限制量

文件描述符:用于标识打开文件或者i/o资源限制的整数。

DefaultLimitNPROC=32000

一个用户可以打开的最大进程数量的限制32000,一个用户终端可以运行多少个进程

DefaultLimitMEMLOCK=infinity

一个用户的终端默认锁定内存的限制,不限制

内核优化

ES是基于lucene架构,实现的一款索引型数据库,lucene可以利用操作系统的内存来缓存ES的索引数据。

提供个更快的查询速度,在工作中我们会把系统的一半内存留给lucene

机器内存小于64G,50%给es,50%给操作系统,供lucene使用

机器内存大于64G,ES分配4-32G即可,其他的都给操作系统,供lucene

vm.max_map_count=262144

一个进程可以拥有的最大内存映射区的参数。

内存映射:将文件或者其他设备映射进程地址空间的方法。允许进程直接读取或写入文件,无需 常规的I/O方式。

映射空间越大,ES和lucene的速度越快

2g/262144

4g/4194304

8g/8388608

systemctl enable

netstat -antp | grep 9200

http://192.168.233.12:9200/_cluster/health?pretty

查询健康状态

yum install gcc gcc-c++ make -y

tar zxvf node-v8.2.1.tar.gz

cd node-v8.2.1

./configure

make -j 2 && make install

http.cors.enabled: true

开启隽语访问支持

http.cors.allow-origin: "*"

开启跨域访问之后,允许访问的域名的地址*:所有

npm run start &

9100是可视化工具的访问端口 9200还是es数据库的访问端口

logstash的命令常用选项

-f 指定配置文件,根据配置文件识别输入和输出流

-e;一般用于测试,从命令行当中获取输入,然后传送到,经过logstash加工之后形成一个标准输出

-t:检测配置文件是否正确,然后退出。

所有的键盘输出命令行输出,转化成标准输出(rubydebug的模式),6.0之后,logstash的默认输出格式就啊是rubydebug格式的标准输出

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

logstash -e 'input' { stdin{} } output { elasticsearch { hosts=>["20.0.0.77:9200","20.0.0.121:9200"]}} --path.data /opt/test1

vim /etc/kibana/kibana.yml

touch /var/log/kibana.log

chowm kibana:kibana /var/log/kibana.log

systemctl restart kibana

cd /etc.logstash/conf.d

mkdir /opt/log

vim system.conf

input {

file{

path=>" /var/log/messages"

type =>"system"

start_position =>"beginning"

}

}

output {

elasticsearch{

hosts => ["20.0.0.77:9200","20.0.0.121"]

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

}

}

logstash -f system.conf --path.data /opt/test1

http的

vim /httpd.conf

input {

file{

path => " /etc/httpd/logs/access_log"

type =>"access"

start_postion =>"beginning"

file{

path => " /etc/httpd/logs/error_log"

type =>"error"

start_postion =>"beginning"

}

}

output {

if [type] == "access" {

elasticsearch{

hosts => ["20.0.0.77:9200","20.0.0.121:9200"]

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

}

}

if [type] == "error" {

elasticsearch{

hosts => ["20.0.0.77:9200","20.0.0.121:9200"]

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

}

}

}

elk

es存储数据,索引型的数据库

logstatsh:收集日志,然后按照标准化格式发送给ES (RUBYDEBUG的格式)

k:可视化工具,更人性化的显示用户信息,方便用户检索查询

http的日志收集写一个nginx的logstash的配置文件。

要使用json格式

logstash -f nginx.conf --path.data /opt/test2 &

-f指定配置文件

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

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

相关文章

CSC公派博士后|管理学老师赴韩国首尔大学达成目标

J老师自身背景正好卡在CSC公派博士后申报条件的边缘,为增大通过概率,其提出优选亚洲范围内的世界知名高校、专业相符、2年博士后职位的要求。最终我们用韩国首尔大学的邀请函助其顺利获批CSC,实现了所有既定目标。 J老师背景: 申…

24. 两两交换链表中的节点

​​题目来源: leetcode题目,网址:24. 两两交换链表中的节点 - 力扣(LeetCode) 解题思路: 遍历时交换即可。 解题代码: /*** Definition for singly-linked list.* struct ListNode {* i…

外贸企业如何搭建合适的B2B独立站

随着全球电子商务的快速发展,越来越多的外贸企业开始关注并投入到B2B独立站的搭建中。B2B独立站不仅可以提升企业的品牌形象,还可以拓展销售渠道,提高销售效率。然而,如何搭建一个适合的外贸B2B独立站,却需要从多个方面…

开发者在分发平台上传和发布APP的步骤

注册账号:首先,开发者需要在分发平台上注册一个账号。这个账号将用于管理你的应用程序和进行相关操作。完善信息:注册完成后,开发者需要完善个人信息,包括姓名、联系方式等。这将有助于建立信任关系,并与用…

【Tiny_CD】Tiny_CD变化检测网络详解(含python代码)

题目:TinyCD: A (Not So) Deep Learning Model For Change Detection 论文:paper 代码:code 目录 🍟 🍟1.摘要 🍗🍗 2.贡献 🍖🍖 3.网络结构

前端必学——实现电商图片放大镜效果(附代码)

放大镜可以说是前端人必须学会的程序之一,今天的案例为大家展示一下怎么实现放大镜的效果! 效果图展示 整个效果就是当鼠标放到展示图上的时候,会出现一个遮罩层以及弹出来一个框展示一个详情图,并且鼠标移动的时候详情图跟着移动&#xff0…

android 动态创建selector状态选择器 动态创建Drawable

最近在做一个使用接口返回的字符串:"#ff0000" 来动态设置drawable背景颜色与动态设置状态选择器selector的需求,之前写习惯了shape的xml,还是第一次写动态的,有点搞笑,搞笑的是自己没写过,不知道…

家乡旅游推广软文怎么写?媒介盒子分享

随着各地政策的放开,旅行已经成为很多消费者生活中不可缺少的一项,各地景区也在宣传上纷纷发力,希望能够吸引游客。只要文案写得好,没有景点火不了,今天媒介盒子就来和大家聊聊:家乡旅游推广软文怎么写。 一…

独乐乐不如众乐乐(二)-某汽车零部件厂商IC EMC企业规范

前言:该汽车零部件厂商关于IC EMC的规范可能是小编看过的企业标准里要求最明确的一份企业标准了,充分说明了标准方法不是死的,可以灵活应用。 先看看这份规范的抬头: 与其他企业规范一样,该汽车零部件厂商的IC EMC规范…

TDA4开发环境Docker化

文章目录 背景1. TDA4X Linux SDK编译环境镜像构建1.1 安装SDK1.2 验证制卡1.2.1 出现的问题:1.3 验证编译1.3.1 出现的问题2. TDA4X Linux-RT SDK编译环境镜像构建2.1 安装SDK2.2 出现的问题参考背景 开始阅读本篇前,假设你已经对docker有了一定了解,且有过docker换件搭建…

1、Linux_介绍和安装

1. Linux概述 Linux:是基于Unix的一个开源、免费的操作系统,其稳定性、安全性、处理多并发能力强,目前大多数企业级应用甚至是集群项目都部署运行在linux操作系统之上,在我国软件公司得到广泛的使用 Unix:是一个强大…

聊聊如何进行代码混淆加固

​ 聊聊如何进行代码混淆 前言什么是代码混淆代码混淆,是指将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。 代码混淆常见手段1、名称混淆 将有意义的类,字段、方法名称更改为无意义的字符串。生成…

Java/Android 各类型数据构造和各类型数据解析

Java/Android 各类型数据构造和各类型数据解析 1.如何构造/解析{"key":"value","key":"value","key":"value"}jsonString1)json解析2)fastjson解析3)Gson解析4)遍历key值解析2.如何构造/解析[{"key&q…

CSGO搬砖还能做吗?CSGO饰品未来走势如何?

steam/csgo搬砖项目真能月入过万吗?到底真的假的? 如何看待CSGO饰品市场的整体走向? 从整体来说,CSGO的饰品市场与规模肯定会持续不断的上升,大盘不会发生特别大的波动,目前处于稳定期!&…

【C++干货铺】非类型模板 | 模板特化 | 模板分离编译

个人主页点击直达:小白不是程序媛 C系列专栏:C干货铺 代码仓库:Gitee 目录 非类型模板参数 模板的特化 什么是模板特化? 函数模板特化 类模板的特化 全特化 偏特化 模板的分离编译 什么是分离编译? 模板的…

单细胞featureplot美化修改-自定义修改图片样式-umap密度图画等高线

大家好,欢迎来的单细胞图片美化专辑 1.如何修改seruat对象的行名 2.FeaturePlot如何把所有阳性表达的spot放到图的前面 在单细胞实践中,我发现不同的客户对画图需求并不一致,这可能和个人审美有关吧。本专辑着重于各种各样的单细胞个性化绘…

Python虚拟环境

Python虚拟环境 介绍 虚拟环境(virtual environment),它是一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”&am…

Vatee万腾科技的数字化奇迹:Vatee创新力量的前瞻探讨

在数字化的潮流中,Vatee万腾科技以其独特而强大的创新力量,创造了一系列数字化奇迹,引领着科技的前沿发展。这不仅是对技术的突破,更是对未来的深刻探讨,为整个数字化时代描绘出一幅充满奇迹的画卷。 Vatee万腾以创新为…

入侵redis之准备---Linux关于定时任务crontab相关知识了解配合理解shell反弹远程控制

入侵redis之准备—Linux关于定时任务crontab相关知识了解配合理解shell反弹远程控制 几点需要知道的信息 【1】crontab一般来说服务器都是有的,依赖crond服务,这个服务也是必须安装的服务,并且也是开机自启动的服务,也就是说&…

【Linus】进程的等待

进程等待的必要性 如果子进程退出了,父进程没有对子进程进行回收,子进程就会进入僵尸进程,占用内存,导致内存泄漏如果程序进入僵尸状态,那么kill -9 也无法强制杀死进程子进程是父进程创建出来,完成父进程…