Ubuntu14.04搭建ELK日志分析系统
系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。日志的作用不言而喻,但对于数量庞大且分布在多台机器上的日志,查看就显得特别麻烦了。所以,对于运维人员来说,使用日志分析系统是非常有必要的。
开源实时日志分析ELK平台能够实现日志的监控与分析,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:https://www.elastic.co/products
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。
kibana 也是一个开源和免费的工具,他Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
ELK工作流程大致如下:
在需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到logstash indexer,logstash 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://<elasticsearch-ip>:9200
如上,说明安装成功。
安装elasticsearch插件head:
# cd elasticsearch-2.3.3 # ./bin/plugin install mobz/elasticsearch-head
出现如下:
安装成功,访问http://<elasticsearch-ip>: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://<elasticsearch-ip>: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://<ip>: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平台部署与测试已经完成。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
利用varnish构建httpd缓存服务器
varnish如何存储缓存对象: file: 单个文件;不支持持久机制; malloc: 缓存在内存中; persistent:基于文件的持久存储;(此方式不建议使用) vcl:配置缓存系统的缓存机制;【线程中缓存功能的工作机制】 一、在vs2和vs3上安装http 写入文件,内容一个为on vs2,另一个为on vs3 [root@vs2~]#yuminstallhttp [root@vs2~]#foriin{1..10};doecho"web$ionvs2">/var/www/html/test$i.html;done [root@vs2~]#ls/var/www/html/ test10.htmltest2.htmltest4.htmltest6.htmltest8.html test1.htmltest3.htmltest5.htmltest7.htmltest9.html [root@vs2~]#systemctlstarthttpd.service 二、安装varnish(在centos7上安装4.0.3版本) [root@vs1~]#yuminstallvarnis...
- 下一篇
Centos部署Samba企业文件共享服务
Centos部署Samba企业文件共享服务 声明:本文参考了网上部分资料加作者实验总结 目录: 1、Samba服务概述: 1.1、Samba的原理 1.2、NETBIOS协议 2、Samba 应用环境 3、samba服务 3.1、samba的安装包: 3.2、samba的进程文件: 3.3、samba的文件: 4、主要配置文件smb.conf 4.1、samba配置简介 4.2、Global Settings 4.2.1)设置工作组或域名称 4.2.2)服务器描述 4.2.3)设置samba服务器安全模式 4.3、Share Definitions共享服务的定义 4.3.1)设置共享名 4.3.2)共享资源描述 4.3.3)共享路径 4.3.4)设置匿名访问 4.3.5)设置访问用户 4.3.6)设置目录只读 4.3.7)设置目录可写 5、配置一个共享资源 6、samba的命令与客户端访问 6.1、testparm:测试有效的exports内的属性 6.2、pdbedit:管理smb的用户数据库 6.3、smbpasswd:改变samba账户的密码 6.4、smbclient:unix...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7