设为首页 收藏本站
查看: 1993|回复: 0

[经验分享] CentOS下使用ELK套件搭建日志分析和监控平台

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-8 14:30:22 | 显示全部楼层 |阅读模式
1 概述

ELK套件(ELK stack)是指ElasticSearch、Logstash和Kibana三件套。这三个软件可以组成一套日志分析和监控工具。

由于三个软件各自的版本号太多,建议采用ElasticSearch官网推荐的搭配组合:http://www.elasticsearch.org/overview/elkdownloads/
2 环境准备

2.1 软件要求

具体的版本要求如下:

    操作系统版本:CentOS 6.4;

    JDK版本:1.7.0;

    Logstash版本:1.4.2;

    ElasticSearch版本:1.4.2;

    Kibana版本:3.1.2;

2.2 防火墙配置

为了正常使用HTTP服务等,需要关闭防火墙:

在CODE上查看代码片派生到我的代码片

    # service iptables stop  

或者可以不关闭防火墙,但是要在iptables中打开相关的端口:

在CODE上查看代码片派生到我的代码片

    # vim /etc/sysconfig/iptables  

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 9200 -j ACCEPT  

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 9292 -j ACCEPT  

    # service iptables restart  

3 安装JDK

ElasticSearch和Logstash依赖于JDK,所以需要安装JDK:

在CODE上查看代码片派生到我的代码片

    # yum -y install java-1.7.0-openjdk*  

    # java -version  

4 安装ElasticSearch

ElasticSearch默认的对外服务的HTTP端口是9200,节点间交互的TCP端口是9300。

下载ElasticSearch:



    # mkdir -p /opt/software && cd /opt/software  

    # sudo wget https://download.elasticsearch.o ... search-1.4.2.tar.gz  

    # sudo tar -zxvf elasticsearch-1.4.2.tar.gz -C /usr/local/  

    # ln -s /usr/local/elasticsearch-1.4.2 /usr/local/elasticsearch  

安装elasticsearch-servicewrapper,并启动ElasticSearch服务:



    # sudo wget https://github.com/elasticsearch ... chive/master.tar.gz  

    # sudo tar -zxvf master  

    # mv /opt/software/elasticsearch-servicewrapper-master/service /usr/local/elasticsearch/bin/  

    # /usr/local/elasticsearch/bin/service/elasticsearch start  

测试ElasticSearch服务是否正常,预期返回200的状态码:



    # curl -X GET http://localhost:9200  

5 安装Logstash

Logstash默认的对外服务的端口是9292。

下载Logstash:



    # sudo wget https://download.elasticsearch.o ... gstash-1.4.2.tar.gz  

    # sudo tar -zxvf logstash-1.4.2.tar.gz -C /usr/local/  

    # ln -s /usr/local/logstash-1.4.2 /usr/local/logstash  

简单测试Logstash服务是否正常,预期可以将输入内容以简单的日志形式打印在界面上:



    # /usr/local/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'  

创建Logstash配置文件,并再次测试Logstash服务是否正常,预期可以将输入内容以结构化的日志形式打印在界面上:



    # mkdir -p /usr/local/logstash/etc  

    # vim /usr/local/logstash/etc/hello_search.conf  

    input {  

      stdin {  

        type => "human"  

      }  

    }  

      

    output {  

      stdout {  

        codec => rubydebug  

      }  

      

      elasticsearch {  

        host => "10.111.121.22"  

        port => 9300  

      }  

    }  

    # /usr/local/logstash/bin/logstash -f /usr/local/logstash/etc/hello_search.conf  

6 安装Kibana

CentOS默认预装了Apache,所以将Kibana的代码直接拷贝到Apache可以访问的目录下即可。



    # sudo wget https://download.elasticsearch.o ... kibana-3.1.2.tar.gz  

    # sudo tar -zxvf kibana-3.1.2.tar.gz  

    # mv kibana-3.1.2 /var/www/html/kibana  

修改Kibana的配置文件,把elasticsearch所在行的内容替换成如下:



    # vim /var/www/html/kibana/config.js  

    elasticsearch: "http://10.111.121.22:9200",  

启动一下HTTP服务:



    # service httpd start  

修改ElasticSearch的配置文件,追加一行内容,并重启ElasticSearch服务:



    # vim /usr/local/elasticsearch/config/elasticsearch.yml  

    http.cors.enabled: true  

    # /usr/local/elasticsearch/bin/service/elasticsearch restart  

然后就可以通过浏览器访问Kibana了:



    http://10.111.121.22/kibana  

现在,在之前的Logstash会话中输入任意字符,就可以在Kibana中查看到日志情况。
7 配置Logstash

再次创建Logstash配置文件,这里将HTTP日志和文件系统日志作为输入,输出直接传给ElasticSearch,不再打印在界面上:



    # vim /usr/local/logstash/etc/logstash_agent.conf  


    input {

             file {

                    type => "http.access"

                    path => ["/var/log/httpd/access_log"]

            }


            file {

                    type => "http.error"

                    path => ["/var/log/httpd/error_log"]

            }


            file {

                    type => "messages"

                    path => ["/var/log/messages"]

            }

    }


    output {

            elasticsearch {

                    host => "123.206.211.52"

                    port => 9300

            }

    }

    #/usr/local/logstash/bin/logstash -f /usr/local/logstash/etc/logstash_agent.conf &  

现在,一个简单的日志分析和监控平台就搭建好了,可以使用Kibana进行查看。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-350554-1-1.html 上篇帖子: elasticsearch 关联查询对比 下篇帖子: Elasticsearch 单机多实例 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表