zoukankan      html  css  js  c++  java
  • CentOS 7.x安装ELK(Elasticsearch+Logstash+Kibana)

    第一次听到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

    Snap7

    安装过程

    创建一个虚拟机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

    启动相关服务

    Snap3

    照提示做就可以。

    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

    这个时候,访%9

  • 相关阅读:
    Python面向对象编程及内置方法
    【笨嘴拙舌WINDOWS】SetCapture和ReleaseCapture
    【转】获取屏幕分辨率及大小相关
    【笨嘴拙舌WINDOWS】实践检验之剪切板查看器【Delphi】
    【笨嘴拙舌WINDOWS】剪切板
    【笨嘴拙舌WINDOWS】计时器精度
    【笨嘴拙舌WINDOWS】实践检验之按键精灵【Delphi】
    【笨嘴拙舌WINDOWS】键盘消息,鼠标消息
    【笨嘴拙舌WINDOWS】GDI绘制区域
    【笨嘴拙舌WINDOWS】实践检验之GDI缩放
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/6264540.html
Copyright © 2011-2022 走看看