Elastic 中文社区运维监控实战 (1) – 序

本文为系列文章第一篇,主要介绍如何把 Elastic 中文社区的网站服务器监控起来,对有同样想了解如何使用 Elastic Stack 来做运维监控的同学,可以作为一个很好的参考和入门资料,学习门槛定义为入门级。

首先,我们要监控的网站,也就是大家现在正在访问的 Elastic 官方中文社区,网址:elasticsearch.cn,这个网站基于开源的 WeCenter 搭建,开发语言是 PHP,后端数据库是 MySQL,目前只有一台服务器,由 ConvertLab 友情无偿赞助,大写的赞!再次感谢!

服务器部署环境是 Ubuntu 16.04.2,部署了以下服务及软件:

  • Nginx – Http 反向代理,不要介绍了吧
  • PHP-FPM – 一个常用的 PHP FastCGI 管理
  • Elasticsearch – Elasticsearch 服务,用于社区的垂直搜索服务 Elastic 情报局 服务
  • GOPA – 可以说是为社区而写的,一个轻量级的爬虫,用于爬取 Elatic 周边相关相关资料,创建索引存放到 Elasticsearch 里面,提供垂直搜索服务,代码地址
  • Grok Debugger – 一个 Java 的 Grok pattern 调试服务,方便大家调试 Grok 日志解析规则,访问地址:grok.elasticsearch.cn

服务器上所有的财产就这些了,一个平淡无奇的网站,基本上所有的东西都能公开访问到,这个网站的目的就是为所有 Elastic 爱好者服务的,供大家交流和沟通的专属平台,所以请各位黑客大侠不要再扫描和攻击啦,画一个简单的拓扑图如下所示:

topology

作为一个合格的网管,除了重启服务器之外,还必须要保证网站的正常运行,所以了解网站的运行情况就变成了一个需要解决的首要问题,我们可以先把任务具体列一下:

  • 网站是否正常访问,各项服务有没有挂
  • 网站访问情况如何,用户访问速度如何
  • 网站访客统计分析,访客相关数据分析
  • 服务器的各项指标,详细指标监控分析
  • 服务器的各项服务,日志集中分析处理
  • 服务器是否很安全,有没有黑客来造访
  • 数据是否安全备份,有没有定期测试过

实在编不下去了(话说对的还蛮齐),说人话就是监控起服务器的各项指标和收集服务的日志,然后出几个分析的 Dashboard,监控报警整起来。

我们这次需要用到的工具主要就是 Elastic Stack 啦,Elastic Stack 包括 Elasticsearch、Logstash、Beats 和 Kibana,版本都以最新的6.x,结合我们实际的数据和实际的需求,在后面的文章里面,我会具体介绍它们是什么以及如何使用。

今天先写到这里,明天写监控指标的收集,此系列文章暂且定为需要 100 期完成。(开个玩笑,哈哈)。