ELK企业内部日志分析系统(1)

news/2024/7/7 22:00:21 标签: elk

ELK+Kafka+Filebeat企业内部日志分析系统(1)

Elasticsearch集群部署

1.部署环境

IP地址主机名配置系统版本
192.168.222.129es12核4GRockyLinux
192.168.222.130es22核3GRockyLinux
192.168.222.131es32核3GRockyLinux

2.配置主机名解析和主机名

#关闭防火墙与selinux
#更改主机名(三台机器均操作)
[root@localhost ~]# hostnamectl set-hostname es1
#添加主机名解析
[root@es1 ~]# vim /etc/hosts
192.168.222.129 es1
192.168.222.130 es2
192.168.222.131 es3

3.相关地址

官方地址:https://www.elastic.co

官网搭建:https://www.elastic.co/guide/index.html

4.安装配置ES

1.创建运行ES的普通用户
[root@es1 ~]# useradd es
[root@es1 ~]# echo "123" |passwd --stadin "es"
2.安装配置ES
#这里已经把包传到服务器
[root@es1 ~]# ls
anaconda-ks.cfg  elasticsearch-7.13.2-linux-x86_64.tar.gz  kibana-7.13.2-linux-x86_64.tar.gz  node-v10.0.0-linux-x64.tar.gz
[root@es1 ~]# tar xf elasticsearch-7.13.2-linux-x86_64.tar.gz -C /usr/local/
[root@es1 ~]# cd /usr/local
[root@es1 local]# mv elasticsearch-7.13.2-linux-x86_64.tar.gz/ es
#修改配置文件(删除里面注释添加以下内容)
[root@es1 local]# vim /es/config/elasticsearch.yml
cluster.name: bjbpe01-elk
cluster.initial_master_nodes:["es1","es2","es3"]
node.name: es1
node.master: true
node.data: true
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.seed_hosts: ["es2","es3"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 150s
discovery.zen.fd.ping_retries: 10
client.transport.ping_timeout: 60s
http.cors.enabled: true
http.cors.allow-origin: "*"
3. 设置JVM堆大小
[root@es1 local]# sed -i 's/## -Xms4g/-Xms4g/' /usr/local/es/config/jvm.options
[root@es1 local]# sed -i 's/## -Xmx4g/-Xmx4g/' /usr/local/es/config/jvm.options
4.创建ES数据及日志存储目录
#(三台机器均操作)
[root@es1 local]# mkdir -p /data/elasticsearch/data
[root@es1 local]# mkdir -p /data/elasticsearch/logs
5.修改安装目录及权限
#(三台机器均操作)
[root@es1 local]# chown -R es.es /data/elasticsearch
[root@es1 local]# chown -R es.es /usr/local/es
6.系统优化(三台机器均操作)
1.增加最大文件打开数

永久生效方法:

[root@es1 local]# echo "* soft nofile 65536" >> /etc/security/limits.conf
2.增加最大进程数
[root@es1 local]# echo "* soft nproc 65536" >> /etc/security/limits.conf
3.增加最大内存映射数
[root@es1 local]# echo "vm.max_map_count=262144" >> /etc/sysctl.conf
[root@es1 local]# sysctl -p 

5.启动ES

[root@es1 local]# cd es
[root@es1 es]# su es
[es@es1 es]$ bin/elasticsearch

6.安装配置head监控插件

  • 服务器
安装软件主机名IP地址系统版本配置
Elasticsearch-head-masteres1192.168.222.129RockyLinux2核4G
1.安装node
[root@es1 ~]# 123.txt  anaconda-ks.cfg  elasticsearch-7.13.2-linux-x86_64.tar.gz  kibana-7.13.2-linux-x86_64.tar.gz  node-v10.0.0-linux-x64.tar.gz
[root@es1 ~]# tar xf node-v10.0.0-linux-x64.tar.gz -C /usr/local
[root@es1 ~]# vim /etc/preofile
NODE_HOME=/usr/local/node-v10.0.0-linux-x64
PATH=$NODE_HOME/bin:$PATH
export NODE_HOME PATH
[root@es1 ~]# source /etc/profile
[root@es1 ~]# node --version
2.下载head插件
[root@es1 ~]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip
[root@es1 ~]# yum -y install unzip
[root@es1 ~]# unzip -d /usr/local elasticsearch-head-master.zip
3.安装grunt
[root@es1 ~]# cd /usr/local/elasticsearch-head-master
[root@es1 elasticsearch-head-master]# npm install -g grunt-cli
#检查版本号
[root@es1 elasticsearch-head-master]# grunt -version
5.修改head源码
#修改成以下内容
[root@es1 ~]# vim /usr/local/elasticsearch-head-master/Gruntfile.js  +99
                                       port: 9100,
                                        base: '.',
                                        keepalive: true,
                                        hostname: '*'
[root@elk ~]# vim /usr/local/elasticsearch-head-master/_site/app.js +4388
                        this._super();
                        this.prefs = services.Preferences.instance();
                        this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.222.129:9200";
6.下载head必要的文件
[root@elk ~]# wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
[root@elk ~]# yum -y install bzip2
[root@elk ~]# mkdir /tmp/phantomjs
[root@elk ~]# mv phantomjs-2.1.1-linux-x86_64.tar.bz2 /tmp/phantomjs/
[root@elk ~]# chmod 777 /tmp/phantomjs -R
7.运行head
[root@elk ~]# cd /usr/local/elasticsreach-head-master
[root@elk elasticsreach-head-master]# npm install
#上一行报错执行以下命令
[root@elk elasticsreach-head-master]# npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
[root@elk elasticsreach-head-master]# nohup grunt server &
[root@elk elasticsreach-head-master]# ss -ntlp

7.部署kibana

安装软件主机名IP地址系统版本配置
kibanaes1192.168.222.129RockyLinux2核4G
1.安装kibana
[root@es1 ~]# tar zxf kibana-7.13.2-linux-x86_64.tar.gz -C /usr/local
4.配置文件
[root@es1 ~]# cd /usr/local
[root@es1 local]# vim kibana-7.13.2-linux-x86_64/config/kibana.yml
server.port: 5601
server.host: "192.168.222.129"
elasticsearch.hosts: ["http://192.168.222.129:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"
[root@es1 local]# cd kibana-7.13.2-linux-x86_64/
[root@es1 kibana-7.13.2-linux-x86_64]# ./bin/kibana --allow-root

http://www.niftyadmin.cn/n/5535476.html

相关文章

ll命令在ubuntu下不能使用的解决方案

ll命令在ubuntu下不能使用的解决方案 问题: ll命令在ubuntu下不能使用, 在Ubuntu终端里执行ll,提示:command not found 解决方案: 打开当前用户目录下的.bashrc文件 找到下面的内容,将前面的“#”去掉 #alias llls -alF 然…

基于Hadoop平台的电信客服数据的处理与分析③项目开发:搭建基于Hadoop的全分布式集群---任务10:Hive安装部署

任务描述 任务内容为安装并配置在Hadoop集群中使用Hive。 任务指导 Hive是一个基于Hadoop的数据仓库框架,在实际使用时需要将元数据存储在数据库中 具体安装步骤如下: 1. 安装MySQL数据库(已安装) 2. 解压缩Hive的压缩包 3…

单调栈(左小大,右小大)

①寻找每个数左边第一个比它小的数 给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。 输入样例: 3 4 2 7 5 输出样例: -1 3 -1 2 2 从左到右遍历,用单调递增(栈底到栈顶…

继电器测试的价格和性价比如何?

继电器是广泛应用于各种电气控制系统中的开关元件,其主要功能是在输入信号的控制下,实现电路的断开和闭合。继电器的性能和质量直接影响到整个电气系统的稳定性和可靠性,因此对继电器进行严格的测试是非常必要的。那么,继电器测试…

开发个人Ollama-WebUI--1 项目介绍

开发个人Ollama-WebUI--1 项目介绍 开发个人Ollama-WebUI--1 项目介绍知识点大纲文章目录项目地址 开发个人Ollama-WebUI–1 项目介绍 本文将以一个使用Ollama部署的ChatGPT为背景,主要还是介绍和学习使用 go-zero 框架,开发个人Ollama-WebUI的服务器后…

yolov8 目标检测快速streamlit可视化界面

参考: https://github.com/ultralytics/ultralytics/blob/2330caa50a8a8e0bb61408df8dca0721fb350dbe/ultralytics/solutions/streamlit_inference.py 版本: ultralytics 8.2.27 # Ultralytics YOLO 🚀, AGPL-3.0 licen…

从零开始三天学会微信小程序开发(三)

看到不少入门的小程序开发者不断的问重复性的问题,我们从实战角度开发了这个课程,希望能够帮助大家了解小程序开发。 课程分三天: 第一天:微信小程序开发入门第二天:给小程序接入云端数据第三天:完善我的…

ANSYS新能源汽车动力电池仿真应用案例

燃料电池是一种非燃烧过程的电化学能转换装置,将氢气(等燃料)和氧气的化学能连续不断地转换为电能,是发电设备而非储能设备。 根据电解质的不同,分为碱性燃料电池AFC、磷酸燃料电池PAFC、熔融碳酸盐燃料电池MCFC、固体…