metricbeat+elasticsearch+kibanaでUbuntuマシンのメトリックを可視化。
マシンの構成は以下です。すべて1台で賄うことも可能なので、参考までに。
- メインPC
- kibanaの画面を確認します
- Ubuntu server
- 集計対象マシンです。metricbeatをインストールします。
- elasticsearch & kibana(ベースOSはubuntu)
- 集計結果を集約するマシンです。
- IP: 192.168.11.101
apt用のリポジトリにelasticsearchを追加
パッケージマネージャを使って管理したほうがアップデート/削除がしやすいので、apt
を使ってインストール出来るように設定します。
elasticsearchリポジトリの認証用鍵を追加
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
後のインストールに必要になるコンポーネントをインストール
sudo apt-get install apt-transport-https
elasticのリポジトリをaptソースリストに追加
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
参考:https://www.elastic.co/guide/en/beats/metricbeat/current/setup-repositories.html
elasticsearchのインストール
sudo apt-get update && sudo apt-get install elasticsearch
elasticsearchを外部からアクセスできるようにする
sudo apt-get update && sudo apt-get install elasticsearch
すべてを1台のマシンで済ませる場合には不要です。
今回は集計対象のマシンとelasticが動くマシンが別なので、外部からアクセスできるように設定を追加しました。
# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0
#
# Set a custom port for HTTP:
#
http.port: 9200
#
# For more information, consult the network module documentation.
transport.host: localhost
transport.tcp.port: 9300
#
設定が終わったので、elasticsearchを起動します。
systemctl restart elasticsearch
kibanaのインストール
sudo apt-get update && sudo apt-get install kibana
sudo apt-get update && sudo apt-get install kibana
kibanaも同様に外部からアクセス可能なように設定を行いました。
server.host: "0.0.0.0"
設定が終わったので、kibanaを起動します。
systemctl restart elasticsearch
集計対象ホストマシンにmetricbeatをインストール
sudo apt-get update && sudo apt-get install metricbeat
elasticsearchホストを設定
sudo apt-get update && sudo apt-get install metricbeat
/etc/metricbeat/metricbeat.yml
に以下のような設定項目があるので、環境に合わせてセット。
ローカルホストでelasticsearchを動かす人は不要と思われます。
今回は異なるマシンのelasticsearchにアクセスするため、別ホストのIP/ポートをセットしました。
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["192.168.11.101:9200"]
集計対象をセット
環境にあわせて集計したいmodulesを有効化します。
今回はUbuntuマシンの情報が取りたいだけなので実施しませんでしたが、参考までに。
metricbeat modules enable apache mysql
利用な可能なmodulesは以下で確認できます。
デフォルトはsystemが有効になっているため、特に作業はありません。
root@ubuntu ~# metricbeat modules list
Enabled:
system
Disabled:
aerospike
apache
aws
beat
beat-xpack
ceph
cockroachdb
consul
coredns
couchbase
couchdb
docker
dropwizard
elasticsearch
elasticsearch-xpack
envoyproxy
etcd
golang
graphite
haproxy
http
jolokia
kafka
kibana
kibana-xpack
kubernetes
kvm
logstash
logstash-xpack
memcached
mongodb
mssql
munin
mysql
nats
nginx
oracle
php_fpm
postgresql
prometheus
rabbitmq
redis
statsd
traefik
uwsgi
vsphere
windows
zookeeper
metricbeatの起動
systemctl restart metricbeat
kibanaから集計結果の確認
メインPCのブラウザから192.168.11.101:5601
にアクセス。
左側のInfrastructureをクリックして情報を確認。
まとめ
kibana, metricbeat, elasticsearchの接続のための情報を書いただけなのに、しっかり情報が取得できているのが楽で凄いですね。
metricbeatさえ入れておけば他のモジュールもすぐに集計開始できそうなので、また情報があれば記事にします。
Author And Source
この問題について(metricbeat+elasticsearch+kibanaでUbuntuマシンのメトリックを可視化。), 我々は、より多くの情報をここで見つけました https://qiita.com/D-kun/items/9f749d9d70d30aef0773著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .