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

[经验分享] Centos7日志分析工具ELK

[复制链接]

尚未签到

发表于 2019-1-28 13:31:28 | 显示全部楼层 |阅读模式
ELK简介
  ELK官网:
  ELK版本发行说明:
  日志主要分为系统日志、应用程序日志和安全日志,系统运维和开发人员可通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因,那么经常分析日志可以了解服务器的负荷、性能安全性,从而及时采取措施纠正错误。通常日志被分散的储存不同的设备上,如果管理数十上百台服务器,还依次登录每台机器的传统方法查阅日志,这样太繁琐、效率低;这时可使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
  完整的集中式日志系统,需要包含以下几个主要特点:
1、收集:能够采集多种来源的日志数据
2、传输:能够稳定的把日志数据传输到中央系统
3、存储:如何存储日志数据
4 、分析:可以支持 UI 分析
5、警告:能够提供错误报告,监控机制
  当集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般用grep、awk和wc等Linux命令能实现检索和统计,但对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。开源实时日志分析ELK平台能够完美的解决上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成,官方网站:https://www.elastic.co/products
1、Elasticsearch
  是个开源分布式搜索引擎,它的特点有:分布式、零配置、自动发现、索引自动分片、索引副本机制、自动搜索负载等。
2、Logstash
  是一个完全开源的工具,可对日志进行收集、分析,并将其存储供以后使用(如搜索),一般工作方式为C/S架构,Client端安装在需要收集日志的主机上,Server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch。
3、Kibana
  也是一个开源和免费的工具,可为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

如上图Logstash收集产生的Log,并存放到ElasticSearch中,而Kibana则从ES中查询数据生成图表,再返回给Browser。
ELK平台部署
  实验环境
  系统版本:centos7x3.10.0-514.el7.x86_64
  平台版本:
  elasticsearch-6.3.0(分布式搜索引擎)
  kibana-6.3.0-linux-x86_64(查询数据生成图表)
  logstash-6.3.0(日志收集)
  JDK版本:(yum -y install java-1.8.0-openjdk*)
  注:Logstash 6.x和5.x需要Java 8,服务端和客户端都需要安装。
  关闭防火墙并禁止开机自启
  systemctl stop firewalld.service
systemctl disable firewalld
  关闭selinux
  sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
  重启 reboot
ELK安装方式
1、集成环境
  Logstash有一个集成包,里面包括了其全套的三个组件;也就是安装一个集成包。
2、独立环境
  三个组件分别单独安装、运行、各司其职。(比较常用)
  注:本实验也以第二种方式独立环境来进行演示
搭建elasticsearch服务器
  (IP:192.168.152.170)
安装elasticsearch
1、创建elasticsearch组与用户及设置密码
  //groupadd elasticsearchgroup
  //useradd -g elasticsearchgroup elasticsearchuser

注:在 Linux 环境中,elasticsearch 不允许以 root 权限来运行!所以需要创建一个非root用户,以非root用户来启动elasticsearch服务。

2、将elasticsearch解压到/usr/local/目录下(绿色包解压后直接使用即可)
  tar zxf elasticsearch-6.3.0.tar.gz -C /usr/local/

3、递归修改/usr/local/elasticsearch-6.3.0/目录属性
  chown -R elasticsearchuser:elasticsearchgroup /usr/local/elasticsearch-6.3.0/

4、修改elk服务器主机名和hosts文件
  1)修改主机名(重启可生效)    hostnamectl set-hostname elk
  2)修改hosts文件
  vi /etc/hosts

5、修改配置文件
  vi /usr/local/elasticsearch-
6.3.0/config/elasticsearch.yml  


6、两种启动elasticsearch服务方式(先切换elasticsearchuser用户在启动)
  1)动态启动服务
  ./elasticsearch


  2)后台启动服务
  /usr/local/elasticsearch-6.3.0/bin/elasticsearch –d

注:以上截图一出现两条报错,意思是说服务启动时会检查系统关键配置项,但是检查未通过,所以服务启动失败。
  解决方式:
root用户登录并打开系统配置文件,按照报错提示建议值设置。
  vi  /etc/security/limits.conf
  elasticsearchuser soft nofile 65536
elasticsearchuser hard nofile 65536
elasticsearchuser soft nproc 4096
elasticsearchuser hard nproc 4096

  重启elasticsearch服务,继续报上边的错如下

  解决方式:
使用root用户查看硬件限制(ulimit -Hn  查看硬限制)

  使用elasticsearchuser用户查看硬件限制(ulimit -Hn  查看硬限制)

注:从以上截图可以看出继续报这个错的原因是因为没有刷新过来,那怎么办呢?可以退出elasticsearchuser用户,然后重新用这个用户登陆并启动即可,如下图

现在你会发现更新过来了硬件限制,然后可以放心大胆的启动服务了。额外给大家说一下别的的报错解决方式如下

  解决方式:
Root用户登陆编辑/etc/sysctl.conf文件,添加一行vm.max_map_count=655360即可

  刷新配置文件    sysctl -p

7、本地服务器查看服务是否启动
  netstat -antupl | grep 9200

8、网页测试(两种方式)
  方式一:本地服务器上执行命令curl  http://192.168.152.170:9200

  方式二:浏览器访问http://192.168.152.170:9200/

注:如使用浏览器访问不到该页面,可以换一个浏览器访问试试。
安装elasticsearch-head插件
  如果想实现支持额外的功能 如分布式、索引、搜索等,需要使用插件,我这里没有具体操作步骤,原因是不用插件依然可以使用,只不过功能没有那么而已,如果想加入插件或者根据公司项目需求,用到以上等功能可以添加插件,步骤简单,百度即可。
安装logstash
1、解压logstash到/usr/local/
  tar zxf logstash-6.3.0.tar.gz -C /usr/local/
  注:这是绿色包解压后直接使用即可!
2、编辑logstash配置文件
  1)vi /usr/local/logstash-6.3.0/config/logstash-simple.conf

  2)vi /usr/local/logstash-6.3.0/config/logstash.yml

  3)运行logstash,并指定运行配置文件(监听9600端口)



  注:有这个文件就直接更改,没有的话就创建一个!
3、查看端口是否监听
  netstat -ant

安装Kibana
  1、解压kibana到/usr/local/下
  tar zxf kibana-6.3.0-linux-x86_64.tar.gz -C /usr/local/
  注:以上是绿色包解压后直接使用即可!
  2、编辑kibana配置文件
  vi /usr/local/kibana-6.3.0-linux-x86_64/config/kibana.yml



  3、重启kibana服务
  ./kibana

  //可能会出现如下警告(出现警告的话不影响操作,可根据实际情况修改)


注:这警告的意思是为防止未决报告在重新启动时失败,请在kibana.yml中设置xpack.reporting.encryptionKey,设置此条件可以使服务运行更安全。
  4、测试  web访问http://192.168.152.170:5601

  创建index patterns,先点击左侧Management,然后再点击Index Patterns,然后将右上角选项打开,根据提示选择.kibana或者messages-2018.06.25其中一个系统模板即可,然后点击Next step。




  还是选择以下截图所提示的下拉菜单选择@timestamp即可,然后点击Create index pattern。

  然后如下图,只需要点击左上角Discover即可看到创建的图像化界面。

  如下截图,以图形化界面方式展现给我们。

搭建agent_1服务器
  (agent_1  IP:192.168.152.168)
安装logstash
1、修改agent_1服务器主机名和hosts文件
  1)修改主机名
  hostnamectl set-hostname agent_1
  注:重启生效!
  2)修改agent_1 hosts文件
  vi /etc/hosts
  192.168.152.170  elk
192.168.152.168  agent_1
2、配置rsyslog(agent)
  vi /etc/rsyslog.conf

  ####3、配置logstash(客户端elk)
  1)解压logstash到/usr/local/
  tar zxf logstash-6.3.0.tar.gz -C /usr/local/
  2)编辑配置文件
  vi /usr/local/logstash-6.3.0/config/remote.conf

注:有这个文件就直接更改,没有的话就创建一个!
4、过滤查看rsyslog是否开机自启
  systemctl list-unit-files | grep rsyslog

注:以上截图enabled为已开启,若是显示disabled,则需要手动使用命令设置开机自启例如: systemctl enable rsyslog.service  设置rsyslog开机自启
5、运行logstash,并指定运行配置文件(监听9600端口)
  /usr/local/logstash-6.3.0/bin/logstash -f /usr/local/logstash-6.3.0/config/remote.conf


注:这时候在web:192.168.1.10:5601界面刷新然后,再添加模板机会发现除了默认的两个模板外,还新增加了几个模板,其中带-es-的就是你添加的agent主机,可参考下图去理解,也可以用如下截图和上边添加默认模板时的截图做对比,会发现很明显区别。

搭建agent_2服务器
  (agent_2  IP:192.168.152.169)
安装logstash
  到这里我就不在重复搭建了,可能有些童鞋会问?那agent_2怎么搭建?如果你已经做到这部,那么童鞋你就记住不管你有多少台agent客户端,都可以按照agent_1的搭建方式来做,只不过改一下对应的主机名和IP即可。




运维网声明 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-668758-1-1.html 上篇帖子: elk实时日志分析平台环境搭建 下篇帖子: elk组件的安装 第一版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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