パフォーマンス(性能) | |
モニタリング(監視) | |
キャパシティープランニング | 予算や信頼性や利用者などから、機器台数や構成などの計画を立てること。 |
問題発生時の原因特定のためには、秒間隔で調査するために、コマンドを知っておく必要があります。
監視ツールだと1分間隔や5分間隔でしか確認できないです。
Linuxサーバの性能は、OSで設定できるのは、カーネルパラメータくらいです。
最近は、ハードウェアの性能も上がり、カーネルパラメータもよほどの高負荷でなければ、デフォルトで大丈夫ですし、
全サーバ共通の決まった設定をしておけば大丈夫です。
Linuxサーバの性能は、ハードウェアによって、決まってしまいます。
つまり、選定が重要です。ハードウェアに詳しくなりましょう。
トラフィック | ・スケールアウトできない機器間のトラフィックは、一つの目安として60%以内を保つ。 ・1分間隔で監視しても、時間の平均なので、瞬間的に高いことがある |
パケットディスカード | ・基本は「0」。 ・ディスカードがあったら、対策を実施 |
レイテンシー | ・機器間の往復の時間。 ・コマンドだと、pingやtracerouteで確認可能 |
ストレージは、各ベンダーの監視ツールが充実しているので、それを利用するでいいと思います。
ディスク使用率 | |
IOPS |
5分ですか? 僕は、最低でも1分間隔で行いたいと考えています。
さらに問題発生時に調査をしやすいように、秒間隔でも取得しておく必要があります。
1つの監視ツールで全てが正しく、監視できればいいですが、
なかなかうまくできないものです。
また、有料の監視ツールで全てをやろうとするとコストが高くなってしまうので、開発環境は別のツールということもあります。
僕は、ツールの特性にあうように複数の監視ツールを使うようにしています。
一般的な監視ツールでは対応できない場合は、自作します。
例えば、秒間隔で監視したいとか、プロセス状況を監視したい場合には自作する必要があります。
Zabbix | 定番 https://www.zabbix.com/jp 「Grafana」で、高機能なグラフ化が可能 |
Prometheus プロメテウス | https://prometheus.io/ 「Alertmanager」でアラート通知 「Grafana」で、Prometheusが保存した時系列データをグラフ化 「Thanos」で、データを長期保存(オブジェククトストレージ) |
Icinga2 アイシンガ | https://icinga.com/ Nagiosから派生したオープンソース WEBインタフェースからだけでなく、コマンドラインでも監視の設定が可能 「Grafana」で、高機能なグラフ化が可能 |
Munin | ・Perl で書かれたリソース監視ツール ・RRDtool でグラフを作成している ・各監視対象のサーバーにmunin-nodeをインストールする |
Ganglia | http://ganglia.info/ 2016年で開発が停止している |
Cacti カクタイ | https://www.cacti.net/ ・RRDtool でグラフを作成している ・グラフ見やすい ・基本はSNMPだけなので、取得できない項目もある。 ・SNMPで取得できない項目の対応を自分でするのは大変 ・SNMPのため、大規模だとうまく取れない時がある。 |
Netfilx Vector | サーバメトリクス収集ツールのPerformance Co-Pilotのデータ可視化ツール 今現在の詳細状況がわかります。 http://getvector.io/ https://github.com/Netflix/vector |
STOR2RRD | 有名なストレージのパフォーマンスをグラフ化 https://stor2rrd.com/ |
GrowthForecast | WebAPI経由で受け取ったデータを元にグラフ化をしてくれるツール http://kazeburo.github.io/GrowthForecast/ 2014年で開発が停止している |
可視化(グラフ)のない監視
Sensu | ・「Nagios」の問題点を解決する目的で、開発が開始されました。 ・「Nagios Plugins」と互換性 ・監視サーバやミドルウェアをスケールアウトできる ・標準でRESTful API ・可視化する機能を備えていない 【注意事項】 ・RabbitMQとRedisを構築、運用する必要がある |
Nagios | ・監視時間を細かく設定しやすいので、プロセス監視にオススメ。 |
Datadog | |
New Relic | |
Macarel | 日本のはてな社製監視ツール |
Graylog | |
Logstash | |
Logcheck | |
Logwatch |