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

[经验分享] Windows下ELK环境搭建(单机多节点集群部署)

[复制链接]

尚未签到

发表于 2017-6-29 13:24:19 | 显示全部楼层 |阅读模式
  1.背景
  日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
  通常,日志被分散的储存不同的设备上。如果需要管理数十上百台服务器,必须依次登录每台机器的传统方法查阅日志,这样很繁琐和效率低下。当务之急是使用集中化的日志管理,开源实时日志分析ELK平台能够完美的解决上述所提到的问题。
  2.需要安装的工具
  ELK由ElasticSearch(ES)、Logstash和Kiabana三个开源工具组成。
  ES是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等,最重要的是近实时搜索。
  Logstash是一个完全开源的工具,可以对日志进行收集、分析、并将其存储供以后使用。
  kibana也是一个开源和免费的工具,他Kibana可以为Logstash和ES提供的日志分析友好的Web界面,可以帮助您汇总、分析和搜索重要数据日志
  下载地址:https://www.elastic.co/downloads
DSC0000.png ELK是基于java的开源,所以需要安装jdk,配置环境变量

  安装过程比较简单,运行可执行文件一直下一步即可。安装完成后,配置JAVA_HOME和JRE_HOME,如下图所示:
DSC0001.png

  在cmd命令窗口中运行java -version命令,如果现实如下结果,表示安装成功:
DSC0002.png

  Logstash服务依赖与ES服务,Kibana服务依赖Logstash和ES,所以ELK的服务启动顺序为:ES->Logstash->Kibana,为了配合服务启动顺序,我们安装顺序和启动顺序保持一致。
  解压三个压缩包到同一个目录中,目录的绝对路径中最好不要出现中文字符和空格,解压目录如下:
DSC0003.png

  3.安装
  然后依次安装,在es的bin目录下执行service install命令安装就好了,默认端口是9200。
DSC0004.png

  安装成功之后浏览器直接访问: http://localhost:9200/  若出现以下结果,则表示安装成功,服务启动::
DSC0005.png

  接下来我们安装head插件,在bin目录下,运行plugin install mobz/elasticsearch-head。安装完成后,在浏览器里输入:http://localhost:9200/_plugin/head/,出现类似以下结果,表示插件安装成功:(默认情况下是单节点的,下图是我配置的单机多节点,模拟集群部署的环境)
DSC0006.png

  接下来安装 logstash服务,我们需要借助 nssm 来安装,具体nssm 是什么东西,请看官网解释:
  nssm is a service helper which doesn't suck. srvany and other service helper programs suck because they don't handle failure of the application running as a service. If you use such a program you may see a service listed as started when in fact the application has died. nssm monitors the running service and will restart it if it dies. With nssm you know that if a service says it's running, it really is. Alternatively, if your application is well-behaved you can configure nssm to absolve all responsibility for restarting it and let Windows take care of recovery actions.
  具体就不翻译了,应该都能看得懂。
  从官网下载nssm.exe之后 拷贝到logstash的bin目录下,然后在bin目录下新建logstash.conf配置文件,具体内容如下,具体参数可以自定义:
  我的定义如下:
DSC0007.png

  具体参数什么意思请参考官网文档解释。
  然后再新建 run.bat文件,内容如下:
DSC0008.png

  然后运行命令:nssm install logstash 安装:
DSC0009.png

  在依赖里面根据填写如下内容(注意:Java是32位的后缀是x86,64位的是x64):
DSC00010.png

  添加依赖的原因是,logstash的输出配置的是Elasticsearch,如果Elasticsearch没有启动,logstash无法正常工作。
  最后单击install service按钮,执行安装过程。
  最后安装kibana,步骤和上面的步骤一样,依赖里面配置如下内容:
DSC00011.png

  4.启动服务
  在cmd中运行services.msc打开windows服务,依次启动如下服务:
  Elasticsearch
  Logstash
  Kibana
  在浏览器中输入:http://localhost:5601/,如果出现如下界面,表示服务启动成功:
   DSC00012.png
  单击“create”按钮,我的index名字是:.kibana  然后点击Discover
DSC00013.png

  到此我们的单节点的配置就完了,在生产环境一般都是多节点集群化部署,再加loadbalance处理。
  我们也可以在单机做多节点部署,模仿集群环境,配置也比较简单把 es的目录拷贝三份
DSC00014.png

  然后分别修改config/elasticsearch.yml 文件中的下面参数:
  cluster.name: elasticsearch  集群名称,4个节点的集群名称一样才能识别到是属于同一个集群(前提是要在同一个网段,单机本身就是同一网段的)
  node.name: followNode1 节点名称,集群中各个节点的名称,我的分别是 followNode1,followNode2,followNode3,主节点叫:masterNode
  transport.tcp.port: 9301  tcp通信端口,默认主节点是:9300,我的几个从节点分别是: 9301,9302,9303
  http.port: 9201  http通信端口,默认主节点是:9200,我的几个从节点分别是: 9201,9202,9203
  注意我是直接拷贝的三份,所以service的名字也是一样的,我们需要手动修改一下
DSC00015.png

  修改service_id参数,这就是安装到windows服务的名称,不能重复,所以我们依次改为backup1,backup2,backup3 ,名字可以自己随便起,但是最好起的有点意义
  叫backup是因为他作为备份接节点存在。我们知道在集群化的管理中有master/slave的概念,也就是主/从节点,主要是为了双机备份,防止单节点宕机,几乎所有的集群化
  都有这样的功能。比如solr,HBase,Cassandra,Hadoop等等。当master节点挂掉之后,其他的slave节点会自动重新选举出一个master节点,这个选举在ES集群中已经
  实现,不像solr等其他的需要借助于zookeeper。
  我们在创建节点的时候可以在配置文件elasticsearch.yml 中指定当前节点是否为主节点:
  node.master: false 是否为主节点
node.data: true  是否作为数据节点
  更多参数命令园子里已经有朋友整理的很详细了请参考: http://www.cnblogs.com/hanyouchun/p/5163183.html
  修改好配置之后我们依次安装各个节点的服务,装好之后如下:
DSC00016.png

  然后重启 elasticsearch-service-x64 服务,此时他作为master节点存在,重启之后才能识别到新的slave节点的存在,需要注意的是:
  elasticsearch-service-x64 服务和 logstash,kibana有依赖,它停止之后这两个服务也就停止了,需要重新启动。
  等服务重新启动完成之后在浏览器输入任何一个slave节点,都会显示在一个集群中:
DSC00017.png

  ES提供了非常易用的Reful风格的api,非常易用,目前是非常活跃的开源搜索工具。
  它支持多种类型的简单查询和复合查询,自己动手实践一下就知道他有多好用了:
DSC00018.png

DSC00019.png

  学习地址:http://www.learnes.net/
  欢迎关注微信公众平台联系我:上帝派来改造世界的人
DSC00020.jpg

运维网声明 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-389335-1-1.html 上篇帖子: Windows服务程序的原理及实现(服务分为WIN32服务和系统服务) 下篇帖子: Windows 8.1下Caffe环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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