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. android 支持发送空短信

    method:A) AP端修改:1.将ComposeMessageActivity.java 中的 isPreparedForSending() 作如下修改(删掉的code也可以注释掉)private ...

  2. HDU2433—Travel (BFS,最短路)

    Travel Time Limit: 10000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  3. wannafly 挑战赛9 D 造一造 (卡特兰数)

    链接:https://www.nowcoder.com/acm/contest/71/D 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64b ...

  4. Tomcat报错,内存溢出的错误Exception in thread "http-bio-8080-exec-13" java.lang.OutOfMemoryError: PermGen space

    说是tomcat 内存溢出,然后按照网上看的搞一搞之后没出息这个问题了 原因是tomcat内存溢出,按照一到五步奏,在第三步加上那段参数.

  5. C++入门经典-例3.23-使用嵌套循环输出乘法口诀表

    1:代码如下: // 3.23.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iomanip> #incl ...

  6. What is the !! (not not) operator in JavaScript?

    What is the !! (not not) operator in JavaScript? 解答1 Coerces强制 oObject to boolean. If it was falsey ...

  7. android 播放音乐媒体文件(三)

    看段小代码: mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mMediaPlayer.setDataSource(url);mM ...

  8. ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices

    1. 摘要 作者介绍了一种计算非常高效的 CNN 结构称之为 ShuffleNet,它是专门为计算资源非常有限的移动设备设计的. 这种新的结构主要用到了两种操作:分组点卷积(pointwise gro ...

  9. linux新建用户tab无法补全命令

    查看passwd cat /ect/passwd 发现root用户的shell是/bin/bash 普通用户的shell是/bin/sh 修改普通用户的为/bin/bash即可

  10. UML学习笔记_01_基本概念

    1.什么是UML Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发 ...