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

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

[复制链接]

尚未签到

发表于 2019-1-28 13:51:20 | 显示全部楼层 |阅读模式
1 概述
  ELK套件(ELK stack)是指ElasticSearch、Logstash和Kibana三件套。这三个软件可以组成一套日志分析和监控工具。
  由于三个软件各自的版本号太多,建议采用ElasticSearch官网推荐的搭配组合:http://www.elasticsearch.org/overview/elkdownloads/
2 环境准备
2.1 软件要求
  本文把ELK套件部署在一台CentOS单机上。
  具体的版本要求如下:

  •   操作系统版本:CentOS 6.4;
  •   JDK版本:1.7.0;
  •   Logstash版本:1.4.2;
  •   ElasticSearch版本:1.4.2;
  •   Kibana版本:3.1.2;
2.2 防火墙配置
  为了正常使用HTTP服务等,需要关闭防火墙:
  [plain] view plain copy

  •   # service iptables stop
  或者可以不关闭防火墙,但是要在iptables中打开相关的端口:
  [plain] view plain copy

  •   # 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:
  [plain] view plain copy

  •   # yum -y install java-1.7.0-openjdk*
  •   # java -version
4 安装ElasticSearch
  ElasticSearch默认的对外服务的HTTP端口是9200,节点间交互的TCP端口是9300。
  下载ElasticSearch:
  [plain] view plain copy

  •   # mkdir -p /opt/software && cd /opt/software
  •   # sudo wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-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服务:

  [plain] view plain copy

  •   # sudo wget https://github.com/elasticsearch/elasticsearch-servicewrapper/archive/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的状态码:

  [plain] view plain copy

  •   # curl -X GET http://localhost:9200
5 安装Logstash
  Logstash默认的对外服务的端口是9292。
  下载Logstash:
  [plain] view plain copy

  •   # sudo wget https://download.elasticsearch.org/logstash/logstash/logstash-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服务是否正常,预期可以将输入内容以简单的日志形式打印在界面上:

  [plain] view plain copy

  •   # /usr/local/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'
  创建Logstash配置文件,并再次测试Logstash服务是否正常,预期可以将输入内容以结构化的日志形式打印在界面上:

  [plain] view plain copy

  •   # 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可以访问的目录下即可。

  [plain] view plain copy

  •   # sudo wget https://download.elasticsearch.org/kibana/kibana/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所在行的内容替换成如下:

  [plain] view plain copy

  •   # vim /var/www/html/kibana/config.js
  •   elasticsearch: "http://10.111.121.22:9200",
  启动一下HTTP服务:

  [plain] view plain copy

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

  [plain] view plain copy

  •   # vim /usr/local/elasticsearch/config/elasticsearch.yml
  •   http.cors.enabled: true
  •   # /usr/local/elasticsearch/bin/service/elasticsearch restart
  然后就可以通过浏览器访问Kibana了:

  [plain] view plain copy

  •   http://10.111.121.22/kibana
  现在,在之前的Logstash会话中输入任意字符,就可以在Kibana中查看到日志情况。
7 配置Logstash
  再次创建Logstash配置文件,这里将HTTP日志和文件系统日志作为输入,输出直接传给ElasticSearch,不再打印在界面上:

  [plain] view plain copy

  •   # 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 => "10.111.121.22"
  •   port => 9300
  •   }
  •   }
  •   # nohup /usr/local/logstash/bin/logstash -f /usr/local/logstash/etc/logstash_agent.conf &
  现在,一个简单的日志分析和监控平台就搭建好了,可以使用Kibana进行查看。
8 参考资料
  1. 《安装logstash,elasticsearch,kibana三件套》,http://www.cnblogs.com/yjf512/p/4194012.html
  





运维网声明 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.iyunv.com/thread-668774-1-1.html 上篇帖子: Linux——ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台 下篇帖子: ELK+Kafka 企业日志收集平台(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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