先简单说一下部署思路及原理(不一定正确,只是个人理解而已)

1.修改系统参数,以便安装软件

2.安装配置elasticsearch,这个相当于总监测中心,用来收集logstash监测的各种服务应用日志,然后将监测的各个logstash的日志发送给kibana

discovery.zen.ping.unicast.hosts: ["192.168.0.53:9300"]    #这个相当于内部通讯端口,用于es节点之间的通讯,另一个9200端口则是用于做外部通讯

3.安装配置logstash,这个相当于单点监测中心,因为我们可能需要同时监测几十服务器的日志,可以在各个服务器上安装logstash,收集所在服务器的日志信息

4.安装配置kibana,这个相当图形监控界面,将elasticsearch发送过来的汇总日志以图形化的方式呈现出来

在安装之前,先修改以下配置

# vim /etc/security/limit.conf
* hard nofile
* soft nofile
* soft nproc
* hard nproc # vim /etc/sysctl.conf
vm.max_map_count =
net.core.somaxconn=
net.ipv4.ip_forward = # sysctl -p
# systemctl disabled firewalld
# systemctl stop firewalld
# iptables -F

三个软件的下载连接如下

https://www.elastic.co/cn/downloads

下载这三个包

kibana-6.2.4-x86_64.rpm elasticsearch-6.2.4.rpm logstash-6.2.4.rpm

部署java环境,可以参考https://www.cnblogs.com/biaopei/p/7730484.html

安装 yum install elasticsearch-6.2.4.rpm -y

修改配置文件

# grep -v ^# /etc/elasticsearch/elasticsearch.yml
cluster.name: elk-stack
node.name: elk.com
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port:
discovery.zen.ping.unicast.hosts: ["192.168.0.53:9300"] (ip也要修改)
discovery.zen.minimum_master_nodes:

启动服务

systemctl start elasticsearch

查看端口是否正常开启(用netstat也可,ss好像是比netstat好一点)

ss -ntlup| grep -E "9200|9300"

安装logstash

# yum install logstash-6.2..rpm -y
# echo 'path.config: /etc/logstash/conf.d' >>/etc/logstash/logstash.yml

配置文件

# vim /etc/logstash/conf.d/syslog.conf
input { #收集本地log
file {
type => "logtest"
path => "/var/log/messages"
start_position => "beginning"
} #filebeat客户端
beats {
port =>
} } #筛选
#filter { } output { #标准输出,调试使用
stdout {
codec => rubydebug { }
} # 输出到es
elasticsearch {
hosts => ["http://192.168.0.53:9200"] ip也需要修改
index => "%{type}-%{+YYYY.MM.dd}"
} }

调试启动

# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf
# systemctl enable logstash
# systemctl start logstash

安装配置kibana

yum install kibana-6.2.-x86_64.rpm nodejs -y

修改配置文件

# egrep -v "^#|^$" /etc/kibana/kibana.yml
server.port:
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.0.53:9200" 这个ip需要根据自己的实际服务器ip修改,就是改为本地ip就行了
kibana.index: ".kibana"

汉化kibana

# yum install -y git
# git clone https://github.com/anbai-inc/Kibana_Hanization.git
# cd Kibana_Hanization
# python main.py /usr/share/kibana

重启kibana

# systemctl restart kibana

浏览器访问kibana

ip:5601

CentOS 7 快速部署 ELK的更多相关文章

  1. 使用Docker快速部署ELK分析Nginx日志实践(二)

    Kibana汉化使用中文界面实践 一.背景 笔者在上一篇文章使用Docker快速部署ELK分析Nginx日志实践当中有提到如何快速搭建ELK分析Nginx日志,但是这只是第一步,后面还有很多仪表盘需要 ...

  2. 使用Docker快速部署ELK分析Nginx日志实践

    原文:使用Docker快速部署ELK分析Nginx日志实践 一.背景 笔者所在项目组的项目由多个子项目所组成,每一个子项目都存在一定的日志,有时候想排查一些问题,需要到各个地方去查看,极为不方便,此前 ...

  3. 【转载】Centos系统快速部署LNMP环境

    PHP语言在Linux系统上运行的时候,需要在Linux系统上部署相应的Nginx.MySQL.PHP等环境,只有将这些环境参数都设置好,PHP相关应用程序才可正常运行,部署环境的方法有很多种,可手动 ...

  4. CentOS 7安装部署ELK 6.2.4-SUCCESS

    一.ELK介绍 ELK是三款开源软件的缩写,即:ElasticSearch + Logstash + Kibana.这三个工具组合形成了一套实用.易用的监控架构,可抓取系统日志.apache日志.ng ...

  5. Docker环境 ELK 快速部署

    Docker环境 ELK快速部署 环境 Centos 7.4 , Docker version 17.12 Docker至少3GB内存: #内核配置 echo ' vm.max_map_count = ...

  6. ES快速开发,ElasticsearchRestTemplate基本使用以及ELK快速部署

    最近博主有一些elasticsearch的工作,所以更新的慢了些,现在就教大家快速入门,并对一些基本的查询.更新需求做一下示例,废话不多说开始: 1. ES快速上手 es下载:[https://ela ...

  7. .NetCore快速搭建ELK分布式日志中心

    懒人必备:.NetCore快速搭建ELK分布式日志中心   该篇内容由个人博客点击跳转同步更新!转载请注明出处! 前言 ELK是什么 它是一个分布式日志解决方案,是Logstash.Elastaics ...

  8. MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)

    MariaDB Galera Cluster 部署(如何快速部署MariaDB集群) [日期:--] 来源:Linux社区 作者:Linux [字体:大 中 小] MariaDB作为Mysql的一个分 ...

  9. 使用Ambari快速部署Hadoop大数据环境

    使用Ambari快速部署Hadoop大数据环境   发布于2013-5-24   前言 做大数据相关的后端开发工作一年多来,随着Hadoop社区的不断发展,也在不断尝试新的东西,本文着重来讲解下Amb ...

随机推荐

  1. 字体转换网站——Font Squirrel

    转载自:http://www.5imoban.net/jiaocheng/CSS3_HTML5/2016/0714/1735.html html5之前,只要稍微特殊点的字体,都必须做成图片,以免客户端 ...

  2. L0 Regularization

    参考: Learning Sparse Neural Networks through L0 Regularization The Variational Garrote

  3. micro-template改造

    (function ($) { $.fn.razor = function (data) { var render=$(this).data('razor'); if (!render) { var ...

  4. eclipse get set 自动添加注释

    编码的时候通常要用到 JavaBean ,而在我们经常把注释写在字段上面,但生成的Get/Set方法不会生成,通过修改Eclipse源码可解决,直接上例子: /** * 员工ID */ private ...

  5. Java中使用HTTP阻塞式调用服务器API

    应用场景:前端页面点击刷新,调用服务器A上Java接口,然后A调用服务器B的后台Python接口实时刷新后台数据库. 在这个场景中会涉及到两个问题:异步,Python服务器压力 (一)解决Python ...

  6. 『Python』库安装

    1.安装指定版本的tensorflow 虽然官网有4种安装方式,并且推荐用anaconda的方式,但是有时候我们需要指定版本的tensorflow,而pip可以做到. 比如我装的是anaconda3. ...

  7. 漏洞复现——httpd换行解析漏洞

    漏洞原理: 在解析php文件时,1.php\x0A这种格式的文件将会被认为php文件解析,进而可以绕过一些服务器的安全策略. 漏洞版本: 2.4.0~2.4.29 漏洞复现: 复现该漏洞是利用dock ...

  8. OpenStack 部署步骤详解(mitaka/ocata/一键部署)

    正文 OpenStack作为一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,开放源代码项目的云计算管理平台项目.具体知识我会在后面文章中做出介绍,本章主要按步骤给大家演示在C ...

  9. Python多线程基本操作

    多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进 ...

  10. 纯CSS实现Div高度根据自适应宽度(百分百调整)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...