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. 对象转JSON字符串与json字符串转对象方法

    JSON.stringify()[从一个对象中解析出字符串] JSON.parse()[从一个json字符串中解析出对象] var data = {"nums": 1, " ...

  2. conda查看某个安装包的依赖项

    查看某个安装包XXX的依赖项的conda指令为: conda search XXX -info 比如XXX为pytorch0.3.1,就会有如下输出: pytorch 0.3.1 py36hfbe70 ...

  3. WebSocket 结合 Nginx 实现域名及 WSS 协议访问-Nginx配置

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  4. springboot2.x 整合redis集群的几种方式

    一.不指定redis连接池 #系统默认连接池 yml配置文件: spring: redis: cluster: nodes: - 192.168.1.236:7001 - 192.168.1.236: ...

  5. UVa 839 -- Not so Mobile(树的递归输入)

    UVa 839 Not so Mobile(树的递归输入) 判断一个树状天平是否平衡,每个测试样例每行4个数 wl,dl,wr,dr,当wl*dl=wr*dr时,视为这个天平平衡,当wl或wr等于0是 ...

  6. OpenCV学习笔记(9)——形态学转换

    不同的形态学操作,例如腐蚀,膨胀,开运算,闭运算等 形态学操作是根据图像形状进行的简单操作.一般情况下对二值化图像进行操作.需要的参数有两个,一个是原始图像,第二个被称为结构化元素或核,它是用来决定操 ...

  7. redis源码分析之数据结构:跳跃表

    跳跃表是一种随机化的数据结构,在查找.插入和删除这些字典操作上,其效率可比拟于平衡二叉树(如红黑树),大多数操作只需要O(log n)平均时间,但它的代码以及原理更简单. 和链表.字典等数据结构被广泛 ...

  8. Dart学习笔记-循环

    1.for循环 main() { // for循环 ; i < ; i++) { print(i); // 0,1,2,3,4,5,6,7,8,9 } } 2.while循环 main() { ...

  9. Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)

    示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...

  10. Python中常见的异常总结

    Python中常见的异常总结 当Python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常. 一.异常错误    a.语法错误     错误一:     if     ...