Aug 162015

第一次听到ELK,是新浪的@ARGV 介绍内部使用ELK的情况和场景,当时触动很大,原来有那么方便的方式来收集日志和展现,有了这样的工具,你干完坏事,删除日志,就已经没啥作用了。

很多企业都表示出他们很关心安全,不过他们压根就没看过和关注过自己服务器的日志,这是有点讽刺的。先把日志管理好,然后我们再去深入讨论安全。

Mirantis的Fuel,已经引入ELK作为OpenStack的监控工具,所以我们也需要重点去学习一下ELK。

刚好看到一个老外的视频,介绍CentOS 7安装ELK,讲的很实在,至少我比较喜欢这种形式。

视频地址 http://yunpan.cn/cd5feBr4diFDn 访问密码 019a 文档的内容,我基本是完全照搬视频的内容。

动手验证一遍,顺便把CentOS 7也熟悉一下,真的是第一次在CentOS7下来装东西。目前文档还有问题。正在完善中。都是使用当前最新的版本软件。kibana,估计需要投入很大的精力去配置,才能实现很好的展现。

基本介绍

Elasticsearch  目前最新的版本是1.7.1 ,

Logstash  目前最新版本是1.5.3

kibana  目前最新版本是:4.1.1

Logstash Forwarder,目前最新的版本是0.4.0

安装过程

创建一个虚拟机CentOS7.1,分配公网IP,来进行测试

准备

查看操作系统版本

cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

查看Selinux状态

sestatus
SELinux status: disabled

FQDN

设置FQDN,其实有两种方法,http://www.opsers.org/base/linux-fqdn-set.html 这位朋友总结的很好。

记住:创建SSL证书的时候需要用到,这是必做

 cat /etc/hostname
#i-2053f7hj
elk
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 # hostname loopback address
127.0.1.1 i-2053f7hj
10.70.26.187 elk.chenshake.com elk

然后运行

hostname -F /etc/hostname

这时候你可以查看自己的FQDN名字

# hostname -f
elk.chenshake.com
# hostname
elk

安装Firewall

CentOS7有一个重大改变,用firewalld取代iptables,大家都习惯iptables,所以青云默认的镜像,就是使用iptables,没有安装firewalld。

yum install firewalld firewall-config
systemctl start firewalld.service
systemctl enable firewalld.service
systemctl status firewalld

查看是否生效

firewall-cmd --state

安装java

yum install java-1.7.0-openjdk

Elasticsearch

wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.1.noarch.rpm

安装

yum localinstall elasticsearch-1.7.1.noarch.rpm

启动相关服务

照提示做就可以。

systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch
systemctl status elasticsearch

查看Elasticsearch的配置文件

# rpm -qc elasticsearch
/etc/elasticsearch/elasticsearch.yml
/etc/elasticsearch/logging.yml
/etc/init.d/elasticsearch
/etc/sysconfig/elasticsearch
/usr/lib/sysctl.d/elasticsearch.conf
/usr/lib/systemd/system/elasticsearch.service
/usr/lib/tmpfiles.d/elasticsearch.conf

查看端口使用情况

# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 606/sshd
tcp6 0 0 :::9200 :::* LISTEN 3051/java
tcp6 0 0 :::9300 :::* LISTEN 3051/java
tcp6 0 0 :::22 :::* LISTEN 606/sshd

在使用9200和9300端口,防火墙打开端口

firewall-cmd --permanent --add-port={9200/tcp,9300/tcp}
firewall-cmd --reload

查看防火墙端口情况

# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports: 9200/tcp 9300/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

kibana

下载tar包

wget https://download.elastic.co/kibana/kibana/kibana-4.1.1-linux-x64.tar.gz

解压

tar zxf kibana-4.1.1-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
mv kibana-4.1.1-linux-x64 kibana

创建启动文件

创建一个kibana.service文件。

cat > /etc/systemd/system/kibana.service <<EOF
[Service]
ExecStart=/usr/local/kibana/bin/kibana [Install]
WantedBy=multi-user.target
EOF

启动kibana服务

systemctl enable kibana
systemctl start kibana
systemctl status kibana

查看端口

# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN 3830/node
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 977/sshd
tcp6 0 0 :::9200 :::* LISTEN 978/java
tcp6 0 0 :::9300 :::* LISTEN 978/java
tcp6 0 0 :::22 :::* LISTEN 977/sshd

操作过程基本一样,打开5601端口

firewall-cmd –permanent –add-port=5601/tcp firewall-cmd –reload firewall-cmd –list-all

centos7 搭建elk的更多相关文章

  1. centos7搭建ELK Cluster集群日志分析平台(四):Fliebeat-简单测试

    续之前安装好的ELK集群 各主机:es-1 ~ es-3 :192.168.1.21/22/23 logstash: 192.168.1.24 kibana: 192.168.1.25 测试机:cli ...

  2. centos7搭建ELK Cluster集群日志分析平台(三):Kibana

    续  centos7搭建ELK Cluster集群日志分析平台(一) 续  centos7搭建ELK Cluster集群日志分析平台(二) 已经安装好elasticsearch 5.4集群和logst ...

  3. centos7搭建ELK Cluster集群日志分析平台(二):Logstash

    续  centos7搭建ELK Cluster集群日志分析平台(一) 已经安装完Elasticsearch 5.4 集群. 安装Logstash步骤 . 安装Java 8 官方说明:需要安装Java ...

  4. centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...

  5. centos7搭建ELK Cluster集群日志分析平台

    应用场景:ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平台 ...

  6. centos7搭建ELK开源实时日志分析系统

    Elasticsearch 是个开源分布式搜索引擎它的特点有分布式零配置自动发现索引自动分片索引副本机制 restful 风格接口多数据源自动搜索负载等. Logstash 是一个完全开源的工具他可以 ...

  7. ELK+Kafka学习笔记之搭建ELK+Kafka日志收集系统集群

    0x00 概述 关于如何搭建ELK部分,请参考这篇文章,https://www.cnblogs.com/JetpropelledSnake/p/9893566.html. 该篇用户为非root,使用用 ...

  8. 通过docker搭建ELK集群

    单机ELK,另外两台服务器分别有一个elasticsearch节点,这样形成一个3节点的ES集群. 可以先尝试单独搭建es集群或单机ELK https://www.cnblogs.com/lz0925 ...

  9. Docker-compose搭建ELK环境并同步MS SQL Server数据

    前言 本文作为学习记录,供大家参考:一次使用阿里云(Aliyun)1核2G centos7.5 云主机搭建Docker下的ELK环境,并导入MS SQL Server的商品数据以供Kibana展示的配 ...

随机推荐

  1. Atomic变量和Thread局部变量

    Atomic变量和Thread局部变量 前面我们已经讲过如何让对象具有Thread安全性,让它们能够在同一时间在两个或以上的Thread中使用.Thread的安全性在多线程设计中非常重要,因为race ...

  2. 四.redis 事务

    redis对事务的支持目前还比较简单.redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令. 由于redis是单线程来处理所有client的请求的所 ...

  3. Java 多线程系列

    要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问. Java中的主要同步机制是关键字synchronized,它提供了一种独 ...

  4. storm源码之巧用java反射反序列化clojure的defrecord获取属性值

    [原创]storm源码之巧用java反射反序列化clojure的defrecord获取属性值 [原创]storm源码之巧用java反射反序列化clojure的defrecord获取属性值 storm源 ...

  5. IOS开发笔记 - 基于SDWebImage的网络图片加载处理

    前言: 在IOS下通过URL读一张网络图片并不像Asp.net那样可以直接把图片路径放到图片路径的位置就ok, 而是需要我们通过一段类似流的方式去加载网络图片,接着才能把图片放入图片路径显示. 这里找 ...

  6. OGG学习笔记02-单向复制配置实例

    OGG学习笔记02-单向复制配置实例 实验环境: 源端:192.168.1.30,Oracle 10.2.0.5 单实例 目标端:192.168.1.31,Oracle 10.2.0.5 单实例 1. ...

  7. 使用gulp构建自动化工作流

    简单易用 高效构建 高质量的生态圈 可能很多人会说现在提gulp也太落后了吧,但我想说写点东西并不是为了讨论它是否过时,而是来帮助我们自己来记忆.整理和学习.任何工具,我需要,我才去使用它,正如此时我 ...

  8. C++继承、多态、虚函数

    #答案:http://www.cnblogs.com/tinaluo/articles/6290994.html 1 编写程序:定义一个抽象基类sharpe,只有包含一个求面积的纯虚函数,派生出矩形类 ...

  9. [UWP小白日记-8]一些零碎的东西

    设置启动窗口大小 直接上代码了没什么好解释的了,既然能设置最小,那铁定就能设置最大 public MainPage() { //设定窗口启动显示大小 ApplicationView.Preferred ...

  10. 第13章 MySQL高级编程

    1.事务:一个或一系列的查询: 2.使用事务安全的表格类型(通过InnoDB): ①关闭自动提交: set autocommit=0; //若自动提交被打开,须使用如下语句开始一个事务: //  st ...