尝试使用 Elastic Beats、ElasticSearch 和 Kibana 制作类似于 NewRelic 的工具

首先

在系统配置和安全指南中,可能会有一些情况下无法使用NewRelic等外部服务,但却希望确认系统的性能瓶颈。

于是,我们将ElasticBeats、ElasticSearch和Kibana结合起来,创建一个简单的系统监控。

安装

网络数据包分析

rpm -Uvh https://download.elastic.co/beats/packetbeat/packetbeat-1.3.0-x86_64.rpm

如何用中文本地化地解释“Topbeat”。

rpm -Uvh https://download.elastic.co/beats/topbeat/topbeat-1.3.0-x86_64.rpm

弹性搜索

rpm -Uvh https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.4.0/elasticsearch-2.4.0.rpm

Kibana 可视化工具

rpm -Uvh https://download.elastic.co/kibana/kibana/kibana-4.6.1-x86_64.rpm

启动和设置ElasticSearch和Kibana

service kibana start
service elasticsearch start

Packetbeat 的设置。

创建索引模版

在ElasticSearch中创建索引模板。

curl -XPUT 'http://localhost:9200/_template/packetbeat' -d@/etc/packetbeat/packetbeat.template.json
    上記では、elasticsearch が localhost で稼働しています。別サーバーで稼働している場合は、適時変更ください。

设定

設定文件位於[/etc/packetbeat/packetbeat.yml]。
目前保持默認值沒有問題,但若ElasticSearch在另一台伺服器上運行,請進行更改。

output:
  elasticsearch:
    hosts: ["localhost:9200"]

顶跳的设定

创建索引模板 (Chuangjian suoyin moban)

在ElasticSearch中创建索引模板。

curl -XPUT 'http://localhost:9200/_template/topbeat' -d@/etc/topbeat/topbeat.template.json
    上記では、elasticsearch が localhost で稼働しています。別サーバーで稼働している場合は、適時変更ください。

设定

設定文件位於 [/etc/topbeat/topbeat.yml]。
目前而言保持預設設定是沒有問題的,但若ElasticSearch在另一台伺服器上運作,應該要做出變更。

output:
  elasticsearch:
    hosts: ["localhost:9200"]

启动Topbeat和Packetbeat。

service packetbeat start
service topbeat start

通过一段时间,数据将被保存在ElasticSearch中,并在Kibana的仪表板上显示所需的数据。

总结

没有特别复杂的设置,可以直接完成数据的获取。

通过查看下面的示例,您可以一目了然地看到MySQL的慢查询、URL列表、服务器的负载状况等。
此外,通过结合filebeat,您还可以导入PHP-FPM的慢日志,从而显示PHP的执行时间,并获得更详细的信息。

虽然不能像 NewRelic 一样以关系型方式浏览信息,但能够将每个数据一览无余,相比逐个查看日志,我认为进行调查更加简单。

例子:

screencapture-192-168-184-167-5601-app-kibana-1473703008678.png
广告
将在 10 秒后关闭
bannerAds