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

[经验分享] Ubuntu14.04搭建ELK日志分析系统

[复制链接]

尚未签到

发表于 2019-1-28 10:35:37 | 显示全部楼层 |阅读模式
    系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。日志的作用不言而喻,但对于数量庞大且分布在多台机器上的日志,查看就显得特别麻烦了。所以,对于运维人员来说,使用日志分析系统是非常有必要的。
    开源实时日志分析ELK平台能够实现日志的监控与分析,ELKElasticSearchLogstashKiabana三个开源工具组成。官方网站:https://www.elastic.co/products

  •   Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  •    Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。
  •    kibana 也是一个开源和免费的工具,他Kibana可以为 Logstash ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
    ELK工作流程大致如下:
  
    在需要收集日志的所有服务上部署logstash,作为logstash agentlogstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到logstash indexerlogstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。
  
  ELK平台搭建:
  基于Ubuntu14.04 64位操作系统搭建
  下载ELK安装包:https://www.elastic.co/downloads/

  
  下载jdk安装包:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  下载完的数据包:

  

  1.安装依赖包jdk8:
#sudo mkdir /usr/lib/jvm
#tar xvzf jdk-8u91-linux-x64.tar.gz -C /usr/lib/jvm/#vim ~/.bashrc  在文档最下部追加
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH执行:source ~/.bashrc  执行java -version和java,有相应数据即安装完成。
  2.安装Logstash:
#tar xvzf logstash-2.3.3.tar.gz  在logstash-2.3.3目录下创建logstash-test.conf配置文件,内容如下:
# cat logstash-test.conf
input { stdin { } }
output {
   stdout { codec=> rubydebug }
}  Logstash使用input和output定义收集日志时的输入和输出的相关配置,本例中input定义了一个叫"stdin"的input,output定义一个叫"stdout"的output。无论我们输入什么字符,Logstash都会按照某种格式来返回我们输入的字符,其中output被定义为"stdout"并使用了codec参数来指定logstash输出格式。
  使用如下命令启动:
# ./bin/logstash agent -f logstash-test.conf  启动后,你在屏幕上输入什么内容,就会在console里显示出来。如输入"hehe",显示如下:

  说明安装成功。使用Ctrl+C退出进程。
  

  3.安装elasticsearch:

#tar xvzf elasticsearch-2.3.3.tar.gz  修改配置文件,允许远程访问:
cd elasticsearch-2.3.3/config
vim elasticsearch.yml  修改network栏为:

  启动elasticsearch:

# ./bin/elasticsearch -d #-d为后台启动  访问http://:9200

  

  如上,说明安装成功。
  安装elasticsearch插件head:
# cd elasticsearch-2.3.3
# ./bin/plugin install mobz/elasticsearch-head  出现如下:

  安装成功,访问http://:9200/_plugin/head,如下:

  安装成功。
  

  测试elasticsearch与logstash是否能链接成功:

  在logstash-2.3.3安装目录下创建一个用于测试logstash使用elasticsearch作为logstash的后端的测试文件logstash-es-simple.conf,该文件中定义了stdout和elasticsearch作为output,这样的“多重输出”即保证输出结果显示到屏幕上,同时也输出到elastisearch中,内容如下:
# cat logstash-es-simple.conf
input { stdin { } }
output {
   elasticsearch {hosts => "localhost" }
   stdout { codec=> rubydebug }
}
# hosts为elasticsearch的主机,这里两者在同一机器上  启动:
# ./bin/logstash agent -f logstash-es-simple.conf  
  打开http://:9200/_search?pretty,如下:

  说明二者链接成功。至此,你已经成功利用Elasticsearch和Logstash来收集日志数据了。
  

  4.安装kibana:

# tar xvzf kibana-4.5.1-linux-x64.tar.gz  启动:
# cd kibana-4.5.1-linux-x64
# ./bin/kibana  启动过程如下:


  访问http://:5601,如下:

  安装成功。
  登录后,首先,配置一个索引,默认,Kibana的数据被指向Elasticsearch,使用默认的logstash-*的索引名称,并且是基于时间的,点击“Create”即可。
  看到如下,索引创建完成:

  点击“Discover”选项卡,可以搜索和浏览elasticsearch中的数据,默认搜索最近15分钟的数据,也可以自定义。

  至此,ELK平台已经部署完成。
  5.配置logstash作为Indexer:

  将logstash配置为索引器,并将logstash的日志数据存储到elasticsearch。本案例是索引本地系统日志。
  在logstash工作目录中创建配置文件logstash-indexer.conf,内容如下:
input {
  file {
    type =>"syslog"
     path => ["/var/log/messages", "/var/log/syslog" ]
  }
  syslog {
    type =>"syslog"
    port =>"5544"
  }
}
output {
  stdout { codec=> rubydebug }
  elasticsearch {hosts => "localhost" }
}  启动logstash后,使用echo模拟写入日志,命令执行后信息如下:

  浏览器中:

  elasticsearch在浏览器中如下:


  由上可见,日志数据都同步成功。
  

  到此,ELK平台部署与测试已经完成。




运维网声明 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-668599-1-1.html 上篇帖子: 开源组件ELK日志系统配置与管理 下篇帖子: 最新ELK日志分析系统搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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