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. C++11 中的强类型枚举

    // C++11之前的enum类型是继承C的,不温不火: // C++11对enum动刀了,加强了类型检查,推出强类型enum类型,眼前一亮 // 使用过QT 的都知道,早就应该这么做了,用的很爽!! ...

  2. AtCoder AGC036D Negative Cycle (图论、DP)

    题目链接 https://atcoder.jp/contests/agc036/tasks/agc036_d 题解 这都是怎么想出来的啊..目瞪口呆系列.. 第一步转化至关重要: 一张图中不存在负环意 ...

  3. Android_(控件)动态添加或删除Spinner下拉菜单

    使用ArrayList动态数组的依赖性实现动态增减Spinner下拉菜单选项功能. 设置一个EditText输入框,当用户输入了文字并单击[添加]按钮的同时,就会将输入的值添加Spinner至下拉菜单 ...

  4. Idea如何生成JPA的相关model,以及运行JPA项目的时候启动错误

    1.如何生成JPAmodel 按照顺序执行下面的步骤 为指定的项目添加JPA的配置,这样之后生成的model就会在指定的项目内 选择JPA之后默认不用操作直接添加 没有Persistence的可以在w ...

  5. Java常考面试题整理(二)

    21.Iterator和ListIterator的区别是什么? 参考答案: 下面列出了他们的区别: Iterator可以用来遍历Set和List集合,但是ListIterator只能用来遍历List. ...

  6. jsp里面include的静态导入和动态导入的区别

    静态导入就是将被导入页面完全融入到导入的页面中:而动态导入只是在servlet里面插入了include方法,导入的这是被导入页面的body标签里面的内容 1.什么是静态导入? 静态导入指的是,将一个外 ...

  7. String、toString、String.valueOf()三个有啥区别?

    今天在使用这个的时候发现,他们三者好像在某些场所都是可以用的,但是不免会让人想到那既然它们三者这么的相似,那么总有些什么区别吧.我也在网上找了一些资料看.自己也看了API文档,就将他们三的区别总结一下 ...

  8. MySQL MGR 单主模式下master角色切换规则

    MGR单主模式,master节点可读可写,其余节点都是只读.当配置MGR为单主模式,非master节点自动开启super_read_only 当可读可写的节点异常宕机,会进行怎样的切换?在选择新的可写 ...

  9. C# 隐藏显示桌面图标

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. 线性回归linear regression(python脚本实现)

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...