0. 事前准备工作

0.1 防火墙

  • 若是使用公网IP的话可以考虑关闭防火墙,或者放行相应端口
  • 使用内网IP的话可以不用管防火墙

0.2 关闭SElinux

# setenforce 0

文件:/etc/selinux/config

SELINUX=disabled

0.3 内核优化

文件:/etc/security/limits.conf,在最后加入如下内容:

* soft nofile 65537
* hard nofile 65537
* soft nproc 65537
* hard nproc 65537

文件:/etc/security/limits.d/20-nproc.conf,修改如下内容:

*    soft    nproc     4096

文件:/etc/sysctl.conf,修改好后使用sysctl -p生效

vm.max_map_count = 262144
net.core.somaxconn = 65535
net.ipv4.ip_forward = 1

0.4 软件准备

软件存放路径:/usr/local/src

  • elasticsearch-7.3.0-x86_64.rpm
  • filebeat-7.3.0-x86_64.rpm
  • kibana-7.3.0-x86_64.rpm
  • logstash-7.3.0.rpm
  • openjdk-12_linux-x64_bin.tar.gz

0.5 规划

主机1:192.168.10.170,安装有nginx,filebeat,kibana

主机2:192.168.10.102,安装有logstash,elasticsearch,kibana,java

后期考虑:

  • 使用多台主机搭建elasticsearch集群
  • 使用elasticsearch-head监控elasticsearchz状态,设置密码
  • 访问kibana使用nginx代理进行访问,kibana配置文件监听本机ip,kibana设置访问密码
  • filenbeat与logstash进行ssl安全通信
  • Heartbeat检测
  • elasticsearch-certutil安全,设置密码

0.6 日志路径流程

nginx程序产生日志,filebeat配置文件中获取该日志,并把日志输出给logstash,logstash把日志输出给elasticsearch,使用kibana构建索引展示出来。

1. 配置java环境

# cd /usr/local/src
# tar -zxv -f openjdk-12_linux-x64_bin.tar.gz -C /usr/local/ # vim /etc/profile
export JAVA_HOME=/usr/local/jdk-12
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # source /etc/profile # ln -s /usr/local/jdk-12/bin/java /usr/bin/java # java -version
openjdk version "12" 2019-03-19
OpenJDK Runtime Environment (build 12+33)
OpenJDK 64-Bit Server VM (build 12+33, mixed mode, sharing)

2. Elasticsearch

2.1 安装

# rpm -Uvh elasticsearch-7.3.0-x86_64.rpm
# systemctl daemon-reload
# systemctl enable elasticsearch.service
# systemctl start elasticsearch.service

2.2 测试

# 测试
# curl -X GET http://localhost:9200

3. Kibana

3.1 安装

# rpm -Uvh kibana-7.3.0-x86_64.rpm
# systemctl daemon-reload
# systemctl enable kibana.service
# systemctl start kibana.service

3.2 配置文件修改

# 默认配置文件路径
# /etc/kibana/kibana.yml
server.host: "192.168.10.102" # 能够访问kibana的ip,此处设置公网IP直接本机访问
elasticsearch.hosts: ["http://localhost:9200"] # 关联的elasticsearch,多个的话中间用逗号隔开 i18n.locale: "zh-CN" # web界面使用中文

3.3 测试

# 测试
打开浏览器,输入地址:http://192.168.10.102:5601 进行访问

4. Logstash

4.1 安装

# rpm -Uvh logstash-7.3.0.rpm
# systemctl daemon-reload
# systemctl enable logstash.service
# systemctl start logstash.service

4.2. 配置filebeat日志输出到logstash

注意:这一步不能直接修改logstash-sample.conf使用,需要在conf.d目录下创建conf文件使用,具体可以查看logstash日志文件

# /etc/logstash/logstash-sample.conf /etc/logstash/conf.d/nginx.conf
# vim /etc/logstash/conf.d/nginx.conf
input {
beats {
port => 5044
}
} output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
#user => "elastic"
#password => "changeme"
}
}

5. filebeat

5.1 安装

# rpm -Uvh filebeat-7.3.0-x86_64.rpm
# systemctl daemon-reload
# systemctl enable filebeat.service
# systemctl start filebeat.service

5.2 配置文件

# vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- /usr/local/openresty/nginx/logs/*.log #output.elasticsearch:
# hosts: ["localhost:9200"] output.logstash:
hosts: ["192.168.10.102:5044"]

6. nginx

忽略

7. 补充

7.1 通过nginx访问kibana

# /etc/kibana/kibana.yml
server.port: 5601
server.host: "127.0.0.1"
server.basePath: "/kibana"
# nginx.conf
location /kibana/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:5601;
rewrite ^/kibana/(.*)$ /$1 break;
}

重启nginx和kibana,然后就能使用http://ip/kibana进行访问了

延伸:

可以给nginx访问配置密码,进一步加强安全

安装ELK平台 7.3.0版本的更多相关文章

  1. Linux环境——MySQL安装及配置(8.0版本)

    虚拟机环境是Linux  Red Hat Enterprlse Linux (64位),本次安装的是Mysql 8.0版本. 由于有经验了,所以又弄了台虚拟机练手,承接上一篇博客(https://ww ...

  2. Yii2使用Redis - 从安装redis到使用 [ 2.0 版本 ]

    Yii2使用Redis - 从安装redis到使用 [ 2.0 版本 ] 一.安装Redis和简单配置 1. 下载Redis安装包 地址:http://redis.io/download , 本文选择 ...

  3. CentOS 6.4编译安装和部署Zabbix 2.0版本监控(中文)

    [一].zabbix简介 zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级开元解决方案 zabbix由2部分构成,zabbix_server和可选组件zabbix_agen ...

  4. RDIFramework.NET平台代码生成器V3.0版本全新发布-更新于20160518(提供下载)

    最新版本请转到:RDIFramework.NET平台代码生成器V3.1版本全新发布-更新于2016-10-08(提供下载) RDIFramework.NET代码生成器V3.0版本修改了针对3.0版本的 ...

  5. Centos7安装percona-xtrabackup2.4和8.0版本

    Percona XtraBackup是一个基于MySQL的服务器的开源热备份实用程序 ,它不会在备份期间锁定您的数据库.无论是24x7高负载服务器还是低事务量环境,Percona XtraBackup ...

  6. ES 04 - 安装Kibana插件(6.6.0版本)

    目录 1 Kibana是什么 2 安装并启动Kibana 2.1 准备安装包 2.2 修改配置文件 2.3 启动Kibana并验证 2.4 关闭Kibana服务 3 Kibana功能测试 3.1 关于 ...

  7. 阿里云centos7.4安装并部署svn1.10.0版本(配置多仓库,加入开机自启动)

    如何安装最新版本 1.10.0: 如果已安装旧版本,先卸载 yum remove subversion* 查看当前可安装的版本 yum list | grep subversion 可以去官网下载安装 ...

  8. (转)【Android测试工具】03. ApkTool在Mac上的安装和使用(2.0版本)

    http://blog.csdn.net/wirelessqa/article/details/8997168 http://code.google.com/p/android-apktool/dow ...

  9. 安装docker17.06.0版本报错和解决方法

    本人在自己电脑的虚拟机里安装docker ce 17.06.0版本的时候报如下错误: [root@manager2 yum.repos.d]# yum install docker-ce-17.06. ...

随机推荐

  1. 「SCOI2015」小凸玩矩阵

    题目链接 问题分析 题目给了充足的暗示,我们只需要二分答案然后跑匈牙利即可.要相信匈牙利的速度 参考程序 #include <bits/stdc++.h> using namespace ...

  2. Ubuntu18.04安装rabbitvcs svn图形化客户端和简单实用

    1.1  自带source源里面查找rabbitvcs信息 sudo apt search rabbitvcs 1.2  安装rabbitvcs sudo apt install rabbitvcs- ...

  3. JavaWeb_使用dom4j解析、生成XML文件

    dom4j 官网 xml解析DOM文档对象模型(树形结构) DOM方式解析:把xml文档加载到内存形成树形结构,可以进行增删改的操作 Learn   使用dom4j解析文件"NewFile. ...

  4. 两种建立堆的方法HeapInsert & Heapify

    参考 堆排序中两种建堆方法的比较 第一种方法HeapInsert 它可以假定我们事先不知道有多少个元素,通过不断往堆里面插入元素进行调整来构建堆. 它的大致步骤如下: 首先增加堆的长度,在最末尾的地方 ...

  5. 揭开HTTPS的神秘面纱

    摘自:https://www.cnblogs.com/hujingnb/p/11789728.html 揭开HTTPS的神秘面纱   在说HTTP前,一定要先介绍一下HTTP,这家伙应该不用过多说明了 ...

  6. wls应用命令部署与卸载

    1.查看wls节点运行状态 [root@localhost lib]# jps [root@localhost lib]# ss -tnlp|grep 23705 2.配置wls环境变量 [deplo ...

  7. UIButton设置按钮点击范围大于可视范围

    自定义按钮类型CustomButton,继承UIButton,重写pointInside函数改变点击响应范围. 例如,按钮点击范围比实际高度上下增加6. CustomButton.h @interfa ...

  8. loggin模块,错误日志模块

    # 记录用户行为或者报错信息 import logging # 配置错误日志有两种方法 # 方法1:通过basicconfig # 配置简单.但是能做的事情少,解决不了中文乱码,不能同时输出到屏幕和文 ...

  9. golang网络通信超时设置

    网络通信中,为了防止长时间无响应的情况,经常会用到网络连接超时.读写超时的设置. 本文结合例子简介golang的连接超时和读写超时设置. 1.超时设置 1.1 连接超时 func DialTimeou ...

  10. leetcode 139 单词拆分(word break)

    一开始的错误答案与错误思路,幻想直接遍历得出答案: class Solution { public: bool wordBreak(string s, vector<string>& ...