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

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

[复制链接]

尚未签到

发表于 2019-1-28 13:53:04 | 显示全部楼层 |阅读模式
  
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服务等,需要关闭防火墙:
  [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 => "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-668776-1-1.html 上篇帖子: ELK+Kafka 企业日志收集平台(一) 下篇帖子: 统一日志ELK部署配置(2)——kafka
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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