首页 > 其他分享 >ELK部署中_

ELK部署中_

时间:2023-06-06 10:55:57浏览次数:65  
标签:10.20 ELK enable 9200 部署 elasticsearch YES es

ELK_8.2.0

安装及部署手册

目录

1 安装环境 3

1.1 系统环境 3

安装环境

系统环境

操作系统:CentOS 7

软件环境

基础软件

ELK所需基础服务及版本信息,如下表所示:

序号

软件名称

软件版本

备注

1

jdk

jdk-11.0.18

 

2

elasticsearch

8.2.0

 

3

filebeat

8.2.0

 

4

logstash

8.2.0

 

5

kibana

8.2.0

 

6

     

ELK服务

优化系统

序号

服务名称

操作命令

备注

0

修改主机名

hostnamectl set-hostname es01(主机名称)

需要重启机器

1

关闭selinux

setenforce 0

vi /etc/sysconfig/selinux 里边 enforcing 改为disabled 重启动机器生效

2

关闭firewalld

systemctl stop firewalld

systemctl disable firewalld

 
       

3

打开句柄数限制

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

 

4

配置域名解析

/etc/hosts

10.209.22.105 esserver1

10.209.22.106 esserver2

 
       
       

JDK安装配置

我们要将jdk-17.0.8_linux-aarch64_bin.tar.gz解压到linux系统中,用于es使用。(解压位置自定义为:/ )。

使用命令 tar -zxvf /opt/jdk-17.0.8_linux-aarch64_bin.tar.gz -C / 将opt文件夹下的jdk-17.0.8解压到根目录 /home/es 下。

export JAVA_HOME=/home/es/jdk-17.0.6

PATH=$JAVA_HOME/bin:$PATH

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

export JAVA_HOME

export PATH

export CLASSPATH

ES生成证书

如下操作在其中一个node节点执行即可,生成完证书传到集群其他节点即可

bin/elasticsearch-certutil ca

bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

两条命令es8.x开启xpark认证步骤均一路回车即可,不需要给秘钥再添加密码。

证书创建完成之后,一定放到elasticsearch的config目录下,放到其他目录会报路径无权限的错误!

ES配置文件更改

elasticsearch.yml

# ---------------------------------- Cluster -----------------------------------

# 集群中所有节点必须保持一致

cluster.name: elk-application

# ------------------------------------ Node ------------------------------------

# 需要随节点更改

node.name: es01

node.attr.rack: r1

# ----------------------------------- Paths ------------------------------------

path.data: /home/es/elasticsearch-8.2.0/data

path.logs: /home/es/elasticsearch-8.2.0/logs

# ----------------------------------- Memory -----------------------------------

bootstrap.memory_lock: false

# ---------------------------------- Network -----------------------------------

# 默认情况下,Elasticsearch 仅仅绑定回环地址,比如127.0.0.1 和[::1]

# 需要随节点更改

network.host: 10.20.12.103

http.port: 9200

transport.port: 9300

# 开启安全防护

http.cors.enabled: true

http.cors.allow-origin: "*"

http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

# 集群所有 master-eligible 节点

# 对应旧版中的 discovery.zen.ping.unicast.hosts

discovery.seed_hosts: ["es01:9300", "es02:9300", "es03:9300"]

# Elasticsearch 7.0新引入的配置项

# 集群第一次启动达到这个数量后就开始引导

cluster.initial_master_nodes: ["es01", "es02", "es03"]

xpack.security.enabled: true

xpack.license.self_generated.type: basic

xpack.security.transport.ssl.enabled: true

xpack.security.transport.ssl.verification_mode: certificate

xpack.security.transport.ssl.keystore.path: elastic-certificates.p12

xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

启动es

bin/elasticsearch -d

es生成管理密码

bin/elasticsearch-setup-passwords interactive

jvm.options

-Xms8g

-Xmx8g

Filebeat配置

#=========================== Filebeat inputs =============================

filebeat.inputs:

- type: log

enabled: true

paths:

- /home/rsyslog/logs/2*/*.log ##获取路径下所有包含secure开头的文件。

#----------------------------- Logstash output --------------------------------

output.logstash:

# The Logstash hosts

hosts: ["10.20.12.106:5044"] ##logstash服务地址和端口

#----------------------------- elasticsearch output --------------------------------

#output.elasticsearch:

# hosts: ["10.20.12.103:9200", "10.20.12.104:9200", "10.20.12.105:9200"]

# username: "elastic"

# password: "Elastic0309#"

# indices:

# - index: "test-index-%{+yyyy.MM.dd}"

# allow_older_versions: true #兼容旧es

#----------------------------- console output --------------------------------

#output.console:

# pretty: true

# enable: true

Filebeat启动

Nohup ./filebeat -e &

Syslog server配置

# Provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514

# Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514

$template Remote,"/home/rsyslog/logs/%$YEAR%-%$MONTH%-%$DAY%/%fromhost-ip%.log" # 设置远程日志存放路径和文件格式

:fromhost-ip, !isequal, "127.0.0.1" ?Remote # 如果是本机日志则不记录

& ~ #丢弃无匹配日志

编辑/etc/sysconfig/rsyslog加入“-m 0 -r”

SYSLOGD_OPTIONS=”-m 0 -r”

Syslog client配置

*.* @@10.20.12.106:514 #发送到syslog server服务日志

如何记录操作命令:需配置/etc/bashrc

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; }); logger $(date "+%Y-%m-%d %H:%M:%S"):$user:$(hostname -I):$msg:$(who am i|cut -d\( -f2|cut -d\) -f1); }'

Logstash配置

# Sample Logstash configuration for creating a simple

# Beats -> Logstash -> Elasticsearch pipeline.

input {

beats {

port => 5044

}

}

# -------清洗数据grok--------

filter{

grok{

match => {"message" => "(?<logTime>(%{MONTH}%{SPACE}%{MONTHDAY}%{SPACE}(?<Time>%{TIME}))) (?<localname>.*?) (?<sysuser>.*?) (?<timestamp>(%{TIMESTAMP_ISO8601}))::%{IPV4:local_ip} :(?<shell>.*?):%{IPV4:login_ip}"}

}

}

#-----------输出到es--------

output {

elasticsearch {

hosts => ["10.20.12.103:9200", "10.20.12.104:9200", "10.20.12.105:9200"]

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

user => "elastic"

password => "Elastic0309#"

}

stdout {

codec => rubydebug

}

}

#output {

# stdout {

# codec => rubydebug

# }

#}

Logstash启动

Nohup bin/logstash -f config/logstash-sample.conf &

Logstash清洗linux主机日志

日志样例:

"message": "Mar 14 18:30:06 es03 root: 2023-03-14 18:30:06::10.20.12.105 :more bashrc:10.2.11.85"

Grok规则:(?<logTime>(%{MONTH}%{SPACE}%{MONTHDAY}%{SPACE}(?<Time>%{TIME}))) (?<localname>.*?) (?<sysuser>.*?) (?<timestamp>(%{TIMESTAMP_ISO8601}))::%{IPV4:localip} :(?<shell>.*?):%{IPV4:clientip}

Kibana配置

kibana.yml

server.port: 5601

server.host: "10.20.12.106"

elasticsearch.hosts: ["http://10.20.12.103:9200", "http://10.20.12.104:9200", "http://10.20.12.105:9200"]

elasticsearch.username: "kibana_system"

elasticsearch.password: "XXXXXXX"

Kibana使用手册

Discover需要点+显示单列

Stack Management 配置索引集

KQL与GROK调试工具

Webhook告警

VSFTP搭建部署

rpm -ivh vsftpd-*

配置文件

pasv_enable=YES

#pasv_address=172.17.69.121 #请修改为您的 Linux 云服务器公网 IP

#pasv_address=10.244.244.9 #请修改为您的 Linux 云服务器公网 IP

pasv_min_port=41001

pasv_max_port=43030

anonymous_enable=NO

local_enable=YES

write_enable=YES

ls_recurse_enable=YES

local_umask=022

anon_umask=022

max_clients=50

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

listen_ipv6=NO

pam_service_name=vsftpd

userlist_enable=yes

userlist_deny=NO # 禁止未加入白名单用户登录

userlist_file=/etc/vsftpd/user_list # 用户名单

tcp_wrappers=YES

local_root=/app/admin # ftp根目录

chroot_local_user=YES

#anon_root=/app/admin

#allow_writeable_chroot=YES #加入此配置,用户可以访问上层目录

user_config_dir=/etc/vsftpd/vsftpd # 用户单独配置

ftpd_banner=” Authorized users only. All activity may be monitored and reported.”

reverse_lookup_enable=No #ftp登录过慢问题

/etc/vsftpd/vsftpd用户单独配置选项

local_root=/app/admin/yinmengfei #FTP用户家目录

cmds_denied=DELE #禁止用户删除

#cmds_allowed=ABOR,CWD,LIST,MDTM,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,TYPE,USER,ACCT,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST #允许用户操作

 

标签:10.20,ELK,enable,9200,部署,elasticsearch,YES,es
From: https://www.cnblogs.com/jidehuijia/p/17459904.html

相关文章

  • Jenkins+Docker 一键自动化部署项目!【转】
    本文章实现最简单全面的Jenkins+docker+springboot一键自动部署项目,步骤齐全,少走坑路。环境:centos7+git(gitee)简述实现步骤:在docker安装jenkins,配置jenkins基本信息,利用Dockerfile和shell脚本实现项目自动拉取打包并运行。安装dockerdocker安装社区版本CE确保yum包更新......
  • docker desktop 安装部署及使用
    工作中没有使用过dockerdesktop,不过对docker还是比较了解的。参与的一个大数据管理平台的项目(linux环境),内部使用了docker+k8s技术,所以在测试中会经常使用docker命令来辅助查看一些大数据组件及实例的运行情况。和其他人交流的时候了解到了dockerdesktop软件,看很多公司招人的......
  • docker 部署xxx-job
    1拉取镜像:dockerpullxuxueli/xxl-job-admin:2.3.02创建容器:dockerrun-d--privileged-ePARAMS="--spring.datasource.url=jdbc:mysql://1.15.242.247:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=UTC--s......
  • ASP.NET Core MVC 项目在IIS中部署
    一、vs中把MVC项目以文件系统发布、设置保存的路径二、安装.NETCore3.1Runtime网址:https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-3.1.5-windows-x64-installer 三、安装AspNetCoreModule网址:https://dotnet.microsoft.com/download/dotne......
  • K8S核心概念以及部署
    架构以及核心组件介绍:Master -APIServer(接口中心)j接口服务,基于rest风格开放的k8s接口服务 -kubeControllerManager:管理各个类型的控制器,针对k8s中的各种资源进行管理 -nodecontroller节点控制器:负责在节点出现故障时进行通知和响应 -jobcontroller任务控制器......
  • 2023年最新sentinel-dashbord部署安装(保姆级别)
    目录Sentinel-dashboard安装下载前景提要一、构建环境二、下载安装与配置1、进入百度搜索:Sentinel或访问地址:面向云原生微服务的高可用流控防护组件2、进入git主界面,然后找到如图位置(此处为各个发布版本)。3、看到版本信息,找到下载的位置进行下载就可以了。4、下载后在本地的盘中......
  • 苹果MacOS系统傻瓜式本地部署AI绘画Stable Diffusion教程
    StableDiffusion的部署对小白来说非常麻烦,特别是又不懂技术的人。今天分享两个一键傻瓜式安装包,对小白来说非常有用。下面两个任选一个安装就可以。一、DiffusionBee简单介绍DiffusionBee是基于stablediffusion的一个安装包,有图形界面,直接安装就能使用,安装完成后会自行下载两......
  • 嵌入式知识分享:Docker容器部署方法说明
    前 言本指导文档适用开发环境:Windows开发环境:Windows764bit、Windows1064bitLinux开发环境:Ubuntu18.04.464bit虚拟机:VMware15.1.0Docker是一个开源的应用容器引擎,让开发者可打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,亦......
  • 5分钟部署 Apinto 开源网关
     Apinto 的开源网关符合我的需求,下面我将演示如何部署这样一个开源网关。Apinto功能架构图开始部署部署资源设备推荐配置设备数量部署对象4核8G,250G磁盘空间,2.5GHz1控制台程序、Mysql数据库、Redis数据库4核8G,250G磁盘空间,2.5GHz2网关节点部署架构控制台程序、mysql数据库、redis......
  • nuxt部署时路由增加目录层次
    ......