7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Elastic Beats と ElasticSearch と Kibana で NewRelic ぽいものを作ってみる

Last updated at Posted at 2016-09-12

はじめに

システム構成やセキュリティガイドラインで、NewRelicなどの外部サービスが利用できない、でも、システムのボトルネックを確認したいと言った場合があるかと思います。

そこで、ElasticBeats と ElasticSearch と Kibana を組み合わせ、簡単なシステムモニターを作ってみます。

インストール

Packetbeat

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

ElasticSearch

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 の設定

インデックステンプレートの作成

ElaticSearch内にインデックステンプレートを作成します。

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

設定

設定ファイルは [/etc/packetbeat/packetbeat.yml] になります。
現時点ではディフォルトのままで問題ありませんが、ElaticSearchが別サーバーで稼働する場合は変更しましょう。

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

topbeat の設定

インデックステンプレートの作成

ElaticSearch内にインデックステンプレートを作成します。

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

設定

設定ファイルは [/etc/topbeat/topbeat.yml] になります。
現時点ではディフォルトのままで問題ありませんが、ElaticSearchが別サーバーで稼働する場合は変更しましょう。

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

topbeat と Packetbeat の起動

service packetbeat start
service topbeat start

しばらくすると、ElasticSearch内にデータが保存されていきます、KibanaのDashBoardにて必要なデータを表示させます。

まとめ

特に難しい設定もなく、データの取得までが行えました。

下記のサンプルを見ていただくとわかる通り、MySQLのスロークエリ、URLの一覧、サーバーの負荷状況などが一見で表示されます。
それ以外にも、filebeatを組み合わせ、PHP-FPMのスローログを取り込むことで、PHPの実行時間も表示できるようになり、さらに詳細な情報が得れます。

NewRelicほどリレーショナルに情報の閲覧はできませんが、各データを一見として見れるので、各ログを順次見ていくことに比べれば調査がより簡単に行えると思います。

サンプル:

screencapture-192-168-184-167-5601-app-kibana-1473703008678.png

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?