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

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. Java内存可见性

    如果一个线程对共享变量的修改,能够被其它线程看到,那么就能说明共享变量在线程之间是可见的.如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量.Java内存模型(Java ...

  2. angular --- s3core移动端项目(二)

    product-ctrl.js angular.modules('myApp').controller('ProductCtrl',['$scope','$rootScope','$timeout', ...

  3. 在1-10中选择一个数,输出x+xx+xxx+xxx....x之和,如:数字为2,则2+22=24

    代码: package bao; import java.util.Random; public class a { public static void main(String[] args) { ...

  4. 第二周javaweb学习进度表

      第一周 所花时间 三天 代码量 200行 博客量 3篇 知识点了解到的 学习到了HTML编程语言的相关知识比如checkbox复选框和radio单选按钮以及form表单的使用方法,form表单可以 ...

  5. day042 css 选择器

    css(Cascading Style Sheet) 层叠样式表,定义了如何显示HTML元素,给HTML设置样式,让它看起来更好 一.css语法 css样式包括两部门,选择器(给谁的样式)和声明(什么 ...

  6. 『TensorFlow』滑动平均

    滑动平均会为目标变量维护一个影子变量,影子变量不影响原变量的更新维护,但是在测试或者实际预测过程中(非训练时),使用影子变量代替原变量. 1.滑动平均求解对象初始化 ema = tf.train.Ex ...

  7. mongoengine 分页 切片与 skip + limit 的区别

    首先要了解切片与 skip 的原理 切片原理是将 index(索引) 或 cursor(游标)移动到 start 位置再 进行切分: skip原理是跳过start条数据后再获取 1. 单纯的普通分页用 ...

  8. vue 数组push元素 视图没更新

    Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新.这些方法如下: push() pop() shift() unshift() splice() sort() reverse() 问题描 ...

  9. IE9下table th不显示边框解决方法

    添加下面两行样式即可 th, td{ background-clip: padding-box; /*背景被裁剪到内边距框*/ position:relative; }

  10. 如何把已有SQLSERVER数据库更名而且附加到数据库中?

    如何把已有SQLSERVER数据库更名而且附加到数据库中? 例如:已有数据库:zrmaa,希望更名为jjsh 特别提醒:数据库名中不能加入下划线,因为数据库日志文件有下划线. 把数据库文件mdf和数据 ...