前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ELK参数解析,部署

ELK参数解析,部署

原创
作者头像
风起--追风
修改2022-05-20 14:19:23
3830
修改2022-05-20 14:19:23
举报
文章被收录于专栏:sql与spec性能sql与spec性能

一.ELK概述

ELK,是由elasticsearch,logstash,kibanna,对日志进行收集,集中处理,并提供可视化web界面的联合搜索,实时分析的解决方案

  1. es(elasticsearch),是由java开发,支持分布式检索和数据分析
  2. logstash,依赖jre运行,数据收集,支持系统,web服务,以及各app产生的log日志,对不同日志类型进行采集,并通过管道pipeline的方式,进行解析,转化成不同格式输出给es
  3. kibana,基于Web界面操作可以快速创建动态仪表板,实时监控Elasticsearch的数据状态与更新

二.ELK软件栈分析

对需要进行数据采集的服务器部署logstash,将采集所需日志转化成event,通过配置文件对event进行筛选过滤,最终以管道格式化输出给es并生成索引,并由kibana提供可视化的Web搜索与分析界面

三.安装部署

环境准备:

192.168.112.68 es

192.168.112.81 logstash

192.168.112.82 kibanna

  • es

系统配置

systemctl stop firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disableb' /etc/selinux/config

cat > /etc/security/limits.conf <<EOF #设置文件最大打开数

* soft nofile 65535

* hard nofile 65535

car > /etc/sysctl.conf << EOF #设置进程映射的VMA(虚拟内存区域)数量

vm.max_map_count=655360

JDK安装

tar xf openjdk-11+28_linux-x64_bin.tar -C /usr/local

mv jdk-11.0.10 jdk11

vim /etc/profile #设置JAVA环境变量

JAVA_HOME=/usr/local/jdk11

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib

export JAVA_HOME PATH CLASSPATH

source /etc/profile

验证:java --version,which java

es部署

将es7.1解压并mv为es

es不能由root用户启动,需要新生成其他用户,并指定授权

groupadd es

useradd es -g es

chown -R es:es /usr/local/es

修改config的elasticsearch.yml 配置文件

cluster.name: zzc #设置集群name

node.name: node-1 #设置节点name

network.host: 0.0.0.0#支持其他主机访问

http.port: 9200 #es默认9200端口

cluster.initial_master_nodes: "node-1" #主节点

切换es

在bin目录下 ./elasticsearch -d 以后台服务运行

如何检测是否运行成功?

启动不报错

lsof -i:9200 #检查端口

web验证

  • logstash

logstash运行也需要java环境,配置同es

对logstash7.11.2解压后mv logstash-7.11.2

有两个配置文件,配置即代码,编排了管道流水线处理流程,logstash,yml、pipelines.yml

yaml格式的文件,描述了任务编排的全流程

管道流水线,input→queue→filter→output

数据采集后以event形式进行批处理,等待队列,过滤筛选,输出到指定端

logstash.yml

node.name: NODE1 #节点描述名称

path.data: /usr/local/logstash-7.11.2/data #logstash及其插件的数据目录

pipeline.id: zzc1 #管道ID名

pipeline.workers: 2 #设置管道过滤以及输出的线程数,cpu可用性好,建议设置成cpu核数,增大并发,可拓展

pipeline.batch.size: 125 #管道批处理event大小,越大传输效率越好,占用内存开销

pipeline.batch.delay: 50 #管道前后处理等待时长

path.config: /usr/local/logstash-7.11.2/conf.d/*.conf #logstash配置文件路径

#http.host: :#监控地址,设置成主机,可以默认不设置

#http.port: #指定#REST端点的端口,可以默认不设置

pipelines.yml 使用多pipe,不同管道最好只执行一个流程,互不影响

  • pipeline.id: zzc #管道id

pipeline.workers: 1 #设置管道过滤以及输出的线程数

pipeline.batch.size: 125 #管道批处理event大小,越大传输效率越好,占用内存开销

queue.type: persisted # 持久化存储,将管道各个stage缓存到磁盘上,防止因宕机,服务掉线等情况,数据丢失

path.config: "/usr/local/logstash-7.11.2/conf.d/zzc1.conf" #指定自定义的conf路径

mkdir conf.d

vim zzc.conf

切换到bin目录下

有两种模式,-f 指定配置文件;直接启动--默认加载pipelines.yml配置

  • kibana

开源免费,能够为es以及logstash提供更直观的可视化Web界面,生成仪表板,进行查询,分析

将kibana-7.11解压后修改配置文件kibana.yml

server.port: 5601 #kibana端口5601

server.host: "0.0.0.0" # 监听本机所有的IP地址

elasticsearch.hosts: "http://192.168.112.68:9200" #修改es地址

i18n.locale: "zh-CN"#转化成中文

启动kibanna:./kibana --allow-root

或者以后台方式启动nohup sh kibanna --allow-root &

检测kibana状态
检测kibana状态

四.测试

浏览器输入kibana主机地址:5601

如图

常规报错总结:

1.es进程被锁

lsof -i:9200 查询pid kill 掉再重启服务

2.设置文件最大打开数以及进程映射的虚拟内存区域数

cat > /etc/security/limits.conf <<EOF #设置文件最大打开数

* soft nofile 65535

* hard nofile 65535

car > /etc/sysctl.conf << EOF #设置进程映射的VMA(虚拟内存区域)数量

vm.max_map_count=655360

3.管道配置文件格式或者,语法错误 --

运行logstash服务前,可以 logstash -t 进行配置文件检测

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.ELK概述
  • 二.ELK软件栈分析
  • 三.安装部署
  • 四.测试
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档