ELK集群实战

news2024/11/16 20:37:19

1、 Elasticsearch集群部署

  • 服务器

安装软件主机名IP地址系统版本配置
ElasticsearchElk10.12.153.180centos7.5.18042核4G
ElasticsearchEs110.12.153.178centos7.5.18042核4G
ElasticsearchEs210.12.153.179centos7.5.18042核4G

2、创建运行的ES普通用户

3、上传es的数据包

4、解压es数据包,并将数据包改名放到指定目录,方便我们后续操作

5、打开配置文件 vim /usr/local/es/config/elasticsearch.yml 将里面的内容全部删掉(dG)添加以下内容 我在这里做的是单节点模式

cluster.name: bjbpe01-elk #(集群名称不做修改)
cluster.initial_master_nodes: ["10.12.153.180","10.12.153.178","10.12.153.179"] # 单节点模式这里的地址只填写本机地址
node.name: elk01  #(做修改)
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开头的行注释
discovery.seed_hosts: ["10.3.145.56","10.3.145.57"] #(改成另外两台服务器的名称)
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: "*"

6、设置JVM堆的大小

[root@es1 ~]# sed -i 's/## -Xms4g/-Xms4g/' /usr/local/es/config/jvm.options  
[root@es1 ~]# sed -i 's/## -Xmx4g/-Xmx4g/' /usr/local/es/config/jvm.options

7、创建ES数据及日志存储目录

[root@es1 ~]# mkdir -p /data/elasticsearch/data       
[root@es1 ~]# mkdir -p /data/elasticsearch/logs       

8、修改安装目录及储存目录权限

[root@es1 ~]# chown -R es.es /data/elasticsearch
[root@es1 ~]# chown -R es.es /usr/local/es
ES集群系统优化

9、

(1)增大最大文件打开数

永久生效方法:

[root@es1 ~]# echo "* soft nofile 65536" >> /etc/security/limits.conf

(2)增加最大进程数

[root@es1 ~]# echo "* soft nproc 65536" >> /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
更多的参数调整可以直接用这个

3)增加最大内存映射数

[root@es1 ~]# echo "vm.max_map_count=262144" >> /etc/sysctl.conf
[root@es1 ~]# sysctl -p

10、启动ES集群

  [root@es1 ~]# su - es -c "cd /usr/local/es && nohup bin/elasticsearch &"

测试:访问浏览器http://10.12.153.180:9200

11、安装配置head监控插件 (只在第一台es部署)

安装软件主机名IP地址系统版本配置
Elasticsearch-head-masterElk10.12.153.180centos7.5.18042核4G

12、安装node

(1)安装node
[root@es1 ~]# wget https://npm.taobao.org/mirrors/node/latest-v10.x/node-v10.0.0-linux-x64.tar.gz
[root@es1 ~]# tar -zxf node-v10.0.0-linux-x64.tar.gz –C /usr/local
[root@es1 ~]# vim /etc/profile
export PATH=/usr/local/node-v10.24.1-linux-x64/bin:$PATH
[root@es1 ~]# source /etc/profile
[root@es1 ~]# node --version   #检查node版本号
(2)下载head插件
[root@es1 ~]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip
[root@es1 ~]# unzip –d /usr/local elasticsearch-head-master.zip (yum安装 yum -y install unzip)
(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  #检查grunt版本号
(4)修改head源码

vim /usr/local/elasticsearch-head-master/Gruntfile.js +99

[root@es1 ~]# vim /usr/local/elasticsearch-head-master/_site/app.js +4388

(5)下载head必要的文件
[root@es1 ~]# wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2
[root@es1 ~]# yum -y install bzip2
[root@es1 ~]# mkdir /tmp/phantomjs
[root@es1 ~]# mv phantomjs-2.1.1-linux-x86_64.tar.bz2 /tmp/phantomjs/
[root@es1 ~]# chmod 777 /tmp/phantomjs -R
(6)运行head
[root@es1 ~]# cd /usr/local/elasticsearch-head-master/
[root@es1elasticsearch-head-master]# npm install 
[root@es1 elasticsearch-head-master]# nohup grunt server &
[root@es1 elasticsearch-head-master]# ss -tnlp
​
npm install 执行错误解析:
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! phantomjs-prebuilt@2.1.16 install: `node install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the phantomjs-prebuilt@2.1.16 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
​
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-04-21T09_49_34_207Z-debug.log
​
解决:
[root@elk elasticsearch-head-master]# npm install phantomjs-prebuilt@2.1.16 --ignore-scripts  # 具体的版本按照上述报错修改
(7)测试

访问浏览器http://10.12.153.180:9100

13 kibana部署(本服务器)

  • 服务器

安装软件主机名IP地址系统版本配置
KibanaElk10.12.153.180centos7.5.18042核4G
软件版本:nginx-1.14.2、kibana-7.13.2-linux-x86_64.tar.gz

1. 安装配置Kibana

(1)安装
[root@es1 ~]# tar zxf kibana-7.13.2-linux-x86_64.tar.gz -C /usr/local/

(2)配置
[root@es1 ~]# echo '
server.port: 5601
server.host: "10.12.153.180"
elasticsearch.hosts: ["http://10.12.153.180:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"
'>>/usr/local/kibana-7.13.2-linux-x86_64/config/kibana.yml

配置项含义:

server.port kibana服务端口,默认5601
server.host kibana主机IP地址,默认localhost
elasticsearch.url   用来做查询的ES节点的URL,默认http://localhost:9200
kibana.index        kibana在Elasticsearch中使用索引来存储保存的searches, visualizations和dashboards,默认.kibana
(3)启动
[root@es1 ~]# cd /usr/local/kibana-7.13.2-linux-x86_64/
[root@es1 ~]# nohup ./bin/kibana &

2. 安装配置Nginx反向代理

(1)配置YUM源:
[root@es1 ~]# rpm -ivh <http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm>
(2)安装:

[root@es1 ~]# yum install -y nginx httpd-tools 注意:httpd-tools用于生成nginx认证访问的用户密码文件

(3)配置反向代理
[root@es1 ~]# cat /etc/nginx/nginx.conf
user  nginx;
worker_processes  4;
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;
worker_rlimit_nofile 65535;
​
events {
    worker_connections  65535;
    use epoll;
}
​
http {
    include       mime.types;
    default_type  application/octet-stream;
​
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
​
    access_log  /var/log/nginx/access.log  main;
    server_names_hash_bucket_size 128;
    autoindex on;
​
    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay on;
​
    keepalive_timeout  120;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
​
    #gzip模块设置
    gzip on; #开启gzip压缩输出
    gzip_min_length 1k;    #最小压缩文件大小
    gzip_buffers 4 16k;    #压缩缓冲区
    gzip_http_version 1.0;    #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
    gzip_comp_level 2;    #压缩等级
    gzip_types text/plain application/x-javascript text/css application/xml;    #压缩类型,默认就已经包含textml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
    gzip_vary on;
    #开启限制IP连接数的时候需要使用
    #limit_zone crawler $binary_remote_addr 10m;
    #tips:
    #upstream bakend{#定义负载均衡设备的Ip及设备状态}{
    #    ip_hash;
    #    server 127.0.0.1:9090 down;
    #    server 127.0.0.1:8080 weight=2;
    #    server 127.0.0.1:6060;
    #    server 127.0.0.1:7070 backup;
    #}
    #在需要使用负载均衡的server中增加 proxy_pass http://bakend/;
    server {
        listen       80;
        server_name  10.12.183.180;
​
        #charset koi8-r;
​
       # access_log  /var/log/nginx/host.access.log  main;
        access_log off;
​
         location / {  
             auth_basic "Kibana";   #可以是string或off,任意string表示开启认证,off表示关闭认证。
             auth_basic_user_file /etc/nginx/passwd.db;   #指定存储用户名和密码的认证文件。
             proxy_pass http://10.12.153.180:5601;
             proxy_set_header Host $host:5601;  
             proxy_set_header X-Real-IP $remote_addr;  
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
             proxy_set_header Via "nginx";  
                     }
         location /status { 
             stub_status on; #开启网站监控状态 
             access_log /var/log/nginx/kibana_status.log; #监控日志 
             auth_basic "NginxStatus"; } 
​
         location /head/{
             auth_basic "head";
             auth_basic_user_file /etc/nginx/passwd.db;
             proxy_pass http://10.12.153.180:9100/;
             proxy_set_header Host $host:9100;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header Via "nginx";
                         }  
​
        # redirect server error pages to the static page /50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
(4)配置授权用户和密码
[root@es1 ~]# htpasswd -cm /etc/nginx/passwd.db kibana
(5)启动nginx
[root@elk ~]# systemctl start nginx

浏览器访问http://10.12.153.180 刚开始没有任何数据,会提示你创建新的索引。

(kibana的5601端口要起起来)

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

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

相关文章

代码随想录阅读笔记-哈希表【三数之和】

题目 给你一个包含 n 个整数的数组 nums&#xff0c;判断 nums 中是否存在三个元素 a&#xff0c;b&#xff0c;c &#xff0c;使得 a b c 0 &#xff1f;请你找出所有满足条件且不重复的三元组。 注意&#xff1a; 答案中不可以包含重复的三元组。 示例&#xff1a; 给定数…

spring注解驱动系列--AOP探究一

一、AOP--动态代理 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式 二、使用栗子 一、导入aop模块 <dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4…

数据在内存的存储

整数在内存中的存储 我们来回顾一下&#xff0c;整数在计算机是以补码的形式进行存储的&#xff0c;整数分为正整数和负整数&#xff0c;正整数的原码、反码和补码是一样的&#xff0c;负整数的原码、反码和补码略有不同&#xff08;反码是原码除符号位&#xff0c;其他位按位取…

注册-前端部分

前提:后端jar环境、Vue3环境、Redis环境 搭建页面(html标签、css样式) → 绑定数据与事件(表单校验) → 调用后台接口(接口文档、src/api/xx.js封装、页面函数中调用) Login.vue文件: <script setup> import { User, Lock } from "@element-plus/icons-…

【Axure高保真原型】多色知识图谱

今天和大家分享中继器版多色知识图谱的原型模板&#xff0c;鼠标拖动节点&#xff0c;对应节点会跟随鼠标移动&#xff0c;和相关节点对应的连接线也会自动调整&#xff1b;节点圆是多色的&#xff0c;案例中包括红、黄、浅蓝、深蓝、绿、青、紫、灰色&#xff0c;后续可以根据…

Java代码基础算法练习-数制转换-2024.03.18

任务描述&#xff1a; 输入一个 10 进制正整数n(取值范围:0<n<1000)&#xff0c;然后输出它所对应的八进制(要求用模除取余&#xff0c;不得直接转换输出) 任务要求&#xff1a; 十进制数转八进制数的思想&#xff1a; 十进制数转八进制数的思想主要基于“除基取余”法&…

kingbase 服务器配置(参数修改)

引言&#xff1a; 人大金仓作为国产数据库的佼佼者(单机)&#xff0c;也是每位数据库从业者必须数据库之一 配置文件 kingbase 参数配置 主要由 kingbase.conf 和 kingbase.auto.conf 设置 kingbase.conf 该参数文件为主配置文件&#xff0c;一般情况下&#xff0c;需要 重启…

HarmonyOS(鸿蒙)快速入门

一:下载开发工具 鸿蒙的开发工具叫DevEco 下载点击 其他部分都一直next 就行,这个页面出现的install 建议都点击install 然后单独选择安装目录 可能存在的问题 就是之前安装nodejs&#xff08;比如自己开发web或者RN等情况&#xff09;版本低 等情况 所以建议你单独安装一次 …

Linux chapter1 常用命令 cp

note 1 : netstat、curl、ip、nmap、dig 这些都是常用的网络诊断工具&#xff0c;它们的全称如下&#xff1a; netstat&#xff1a;Network Statistics&#xff0c;网络统计&#xff0c;用于显示网络连接&#xff0c;路由表&#xff0c;网络接口统计等网络信息。curl&#xf…

Springboot 博客_001 环境准备(VS code版本)

本人喜欢用vs coder&#xff08;免费又好用&#xff09;, 所以以下拿vs coder配置开发 安装JDK17 下载JDK17 https://www.oracle.com/java/technologies/downloads/#jdk17-windows 安装JDK17 标题双击运行&#xff0c;一路默认 删除原本的环境变量 配置环境变量 查看是否安…

PTA L2-018 多项式A除以B

这仍然是一道关于A/B的题&#xff0c;只不过A和B都换成了多项式。你需要计算两个多项式相除的商Q和余R&#xff0c;其中R的阶数必须小于B的阶数。 输入格式&#xff1a; 输入分两行&#xff0c;每行给出一个非零多项式&#xff0c;先给出A&#xff0c;再给出B。每行的格式如下…

了解抖音小程序与抖音小店的区别

首先&#xff0c;从功能和定位上来看&#xff0c;抖音小店是抖音官方推出的一种功能&#xff0c;专为商家提供在抖音平台上销售商品的工具。而抖音小程序则是一种无需下载即可使用的应用&#xff0c;类似于微信小程序&#xff0c;但主要在抖音、头条、极速版头条等平台上运行。…

逻辑回归LogisticRegression quickstart

本文将用可视化思路理解逻辑回归 数学背景 比如我们认定一个的值只可能在[0, 1], 那当小于0.5&#xff0c;我们认为他就是a&#xff0c;当大于0.5&#xff0c;我们认为他就是b 数据集 使用鸢尾花数据集 4个特征值3个类别 二分类&#xff0c;单维度 只使用一个特征X ir…

Linux docker3--数据卷-nginx配置示例

一、因为docker部署服务都是以最小的代价部署&#xff0c;所以通常在容器内部很多依赖和命令无法执行。进入容器修改配置的操作也比较麻烦。本例介绍的数据卷作用就是将容器内的配置和宿主机文件打通&#xff0c;之后修改宿主机的配置文件就相当于修改了docker进程的配置文件&a…

“灯塔”——一个让人爱不释手的前端监测工具

引言 "灯塔"&#xff08;fee&#xff09;作为一个前端监控系统&#xff0c;通常具备捕获浏览器端错误、性能监控、用户行为跟踪等功能。它的主要目的是帮助开发者了解他们的网站或应用在用户端的表现&#xff0c;以及时发现并解决问题。下面是关于这种系统的一些关键…

【web开发网页制作】Html+Css+js网页制作轮播效果个人网页主题(4页面附代码)

个人网页制作目录 涉及知识写在前面一、网页主题二、网页效果Page1、我的首页Page2、文经风采&#xff08;学校&#xff09;Page3、美图分享Page4、热剧推送视频效果 三、网页架构与技术3.1 脑海构思3.2 整体布局3.3 技术说明书 四、网页源码HtmlCss 作者寄语 涉及知识 轮播效…

9. 编程常见错误归类

编程常见错误归类 9.1 编译型错误9.2 链接型错误9.3 运行时错误 9.1 编译型错误 编译型错误⼀般都是语法错误&#xff0c;这类错误⼀般看错误信息就能找到⼀些蛛丝马迹的&#xff0c;双击错误信息也能初步的跳转到代码错误的地方或者附近。编译错误&#xff0c;随着语言的熟练…

显隐特征融合的指静脉识别网络

文章目录 显隐特征融合的指静脉识别网络总结摘要介绍显隐式特征融合网络(EIFNet)掩膜生成模块(MGM)掩膜特征提取模块(MFEM)内容特征提取模块(CFEM)特征融合模块(FFM) THUFVS实验和结果数据集实现细节评估掩膜生成模型消融实验FFM模块门控层Batch Size损失函数超参数选择 论文 …

java 线上生产问题排查思路,jvm内存溢出实例重启原因排查生产实战

java jvm内存溢出实例重启排查生产实战&#xff08;使用VisualVM&#xff09; 背景 项目组线上生产环境不定期的发生内存爆满然后实例重启&#xff0c;实例发布上线后实例内存不断增长最后维持在百分之九十多&#xff0c;十分危险。因此我参与到了排查中&#xff0c;本篇博客将…

2258: 【搜索】【广度优先】最少转弯问题

题目描述 给出一张地图&#xff0c;这张地图被分为nm&#xff08;n,m<100&#xff09;个方块&#xff0c;任何一个方块不是平地就是高山。平地可以通过&#xff0c;高山则不能。现在你处在地图的&#xff08;x1,y1&#xff09;这块平地&#xff0c;问&#xff1a;你至少需要…