今風の運用についてとその他書ききれなかったこと、情報サイトを弱小マシンで8年半運用し続けた凄腕エンジニアに聞いた運用監視(3/3)

サーバ運用のコツ

前回の続きです。

テニスナビの遍歴とアクセス負荷への対応、情報サイトを弱小マシンで8年半運用し続けた凄腕エンジニアに聞いた運用監視のいろは(1/3)

スペックが足りないときのコツとセキュリティ、情報サイトを弱小マシンで8年半運用し続けた凄腕エンジニアに聞いた運用監視のいろは(2/3)

今風の運用についてとその他書ききれなかったこと、情報サイトを弱小マシンで8年半運用し続けた凄腕エンジニアに聞いた運用監視のいろは(3/3)(本記事)

今風の運用

1.昔との違い

昔と今で構築や運用に変化はありましたか?

昔はネットワークを構築するとなると、1台や複数台の物理マシンを用意して、そこにメールサーバーやWebサーバーなど全部を構築していました。今でも大企業や、銀行などのシステムなんかでは物理サーバーを社内で持っているところも多いです。しかし、今ではクラウドが発展したのでクラウド上に仮想サーバーを立てることでネットワークを構築することが多くなりました。大企業とかも、ファイルサーバーやメールサーバーなど外部に出したくないものだけ自社の物理サーバー上で構築して、他はクラウド上で構築するということが増えてきました。企業によってはAWSのようなものを自前で用意しているところもありますけどね。

クラウド上にすでに立っているサーバーを使うことが増えたので、UNIXのサーバーを立てたりだとかサーバー自体の環境構築をすることは少なくなりました。テニスナビは1台の物理サーバーに全部入りで構築したので、全然今風ではないです。

UNIX・・・Unix オペレーティングシステムは、サーバやワークステーションだけでなく、携帯機器でも広く使われている。またUnix環境とクライアントサーバモデルは、個々のコンピュータによるコンピュータ処理を、コンピュータネットワークで連係されたコンピュータ処理に変革し、インターネット構築の重要な要素ともなった。 – UNIX – Wikipedia

クラウドでサーバー構築するとは具体的にどういうことですか?

AWSやAzureでサーバーを用意して、それらが提供している監視システムを使ってスケーラビリティを自動でさせます。今まではそれ用のエンジニアがいないと出来なかったことがボタンひとつで出来るようになったので、最近では構築や運用監視の仕事は減っています。なので、最近はAWSやAzureなどのサービスを利用したサービスを提供しています。

スケーラビリティ・・・スケーラビリティ(scalability)とは電気通信やソフトウェア工学において、システムまたはネットワークまたはアルゴリズムの、持つべき望ましい特性の1つで、利用者や仕事の増大に適応できる能力・度合いのこと。一種の拡張性である。より具体的には、システムを小規模なものからリソース(特にハードウェア)の追加によって大規模なものへと透過的に規模拡張できる能力はスケーラビリティの一種だといえる。リソースの量に比例して全体のスループットが向上するシステムはスケーラブルな(scalable)システムまたはスケーラビリティのあるシステムと呼ばれる。 – スケーラビリティ – Wikipedia

2.運用監視におすすめのアプリやツール

好きなようにサーバーを構築していいよと言われたらOSは何にしますか?

便利なのはCentOSですね。RH系はハードウェアに対して互換性が高く、無料であるのが良いです。

CentOS・・・CentOS(セントオーエス)は、Red Hat Enterprise Linuxとの完全互換を目指したフリーのLinuxディストリビューションである。 – CentOS – Wikipedia

昔はFreeBSDやSolarisが多くて、Solarisが九割だった時もあります。SolarisはハードウェアとOSがセットだったので扱いやすかったです。ただ、Solarisは高いんですよね・・・。

FreeBSD・・・FreeBSD(フリービーエスディー)は、Unix系のオープンソースのオペレーティングシステム (OS) である。 – FreeBSD – Wikipedia

Solaris・・・Solaris(ソラリス)はサン・マイクロシステムズ(サン)によって開発され、UNIXとして認証を受けたオペレーティングシステム (OS) である。 – Solaris – Wikipedia

Linuxと比較して、FreeBSDはPortsでアプリケーションを管理しているので、最悪自分の手でパッチを書き換えることが出来ます。Linuxのソースパッケージを利用してパッチを充てたパッケージを用意するよりも、FreeBSDのPortsの方がパッチを充てるのが個人的に慣れています。そういう意味でセキュリティパッチを充てたりするのも楽でした。

ただ、運用を考えるとパッケージから入れる方が楽です。管理がしやすいので。ソースからインストールする場合でも、それをパッケージ化してパッケージ管理に移行したほうが楽になるんじゃないでしょうか。

今であればChefでレシピを作って流せば終わりですけどね。

Chef・・・Chefは、物理、仮想、クラウドといったさまざまな大きさのインフラに対して、サーバやアプリケーションの展開を容易にするための自動化フレームワークです。 – 特集 DevOps時代の必須知識:インフラストラクチャ自動化フレームワーク「Chef」の基本 (1/2) – @IT

おすすめの監視ツールがあれば教えて下さい。

異常を検知してアラートをメールで送ってくれるNagiosですね。メモリの使用率やCPU使用率、ディスク使用量を見るためにSNMPを使っていました。あとはプロセス管理をしていました。ちゃんとhttpdとsshdが1つ以上あるか、余計なプロセスが立ち上がっていないかを監視していました。他には適当なポートがちゃんと開いているかですね。

Nagios・・・Nagios(ナギオス)は、オープンソースのコンピュータシステムおよびネットワークの監視のためのアプリケーションソフトウェアである。Nagios は指定されたノードとサービスを監視し、問題が発生したり解決したりした時にユーザーに通知する。 – Nagios – Wikipedia

SNMP・・・SNMP(Simple Network Management Protocol)は、UDP/IPベースのネットワーク監視、ネットワーク管理を行うためのプロトコルです。ルータ、スイッチなどのネットワーク機器、WindowsやUNIXサーバなどの状態監視、リソース監視、パフォーマンス監視、トラフィック監視を行うために使用します。 – SNMPとは | IT用語 | 意味 解説

httpd・・・httpdとは、主にUNIX系OSのWebサーバソフトでよく見られる実行ファイル名およびコマンド名。メモリ上に留まって要求に応じて動作する常駐プログラム(デーモン)の一種で、外部からのHTTP接続を受け付けて要求されたファイルを送信したり、送られたデータを受け取って保存したり、指定されたプログラムを起動したりする。 – httpdとは|HyperText Transfer Protocol Daemon|HTTPデーモン – 意味/解説/説明/定義 : IT用語辞典

sshd・・・sshdとは、UNIX系OSなどで、外部からのsshによる接続を受け付ける常駐プログラム。 – sshdとは|ssh daemon|sshデーモン – 意味/解説/説明/定義 : IT用語辞典

他にはZabbixやHinemosなどがあります。NagiosやZabbixは何でも出来るのですが、自分でやらなければならない部分もそこそこあるので使うのが簡単かと言われるとそうでもないですが、柔軟に様々なことをさせることが出来ます。

Zabbix・・・Zabbix はアレクセイ・ウラジシェフ(Alexei Vladishev)によって作られ、現在はウラジシェフが設立したZabbix社によって開発が継続されているネットワーク管理システムである。様々なネットワークサービス、サーバ 、その他のネットワークハードウェアのステータスを監視・追跡するためのソフトウェアである。 – Zabbix – Wikipedia

Hinemos・・・Hinemos(ヒネモス)は、複数のコンピュータを単一のコンピュータのイメージで運用管理することを実現するオープンソースソフトウェア。運用目的ごとにコンピュータをグループ登録し、グループに対して状態監視、ジョブ管理、性能管理、環境構築を行う機能を備えている。 – Hinemos – Wikipedia

他に何かおすすめのツールがあれば教えて下さい。

リソース管理をするのにリソースの使用率をグラフ化することがあるのですが、その時に使うのはMRTGやRRDを使ったプロダクトです。具体的にはMuninとかです。サーバー増強の段取りをするときなどグラフがあると何かと便利なのでグラフ化ツールは基本的に仕込んでいます。テニスナビのサーバーには、スペック不足で仕込めなかったのでSNMPで持ってきたものを違うサーバーでグラフ化していました。

MRTG・・・MRTG (Multi Router Traffic Grapher) は、ルータなどネットワーク機器が送受信したデータの量(トラフィック)をグラフによって可視化するプログラム。グラフ部分をPNGフォーマット、付帯情報をHTMLフォーマットで出力するため、ウェブサーバと連携して結果を表示することが可能である。もともとはルータを対象として開発されたためこの名前となった。 – MRTG – Wikipedia

RRD・・・RRDtool is the OpenSource industry standard, high performance data logging and graphing system for time series data. RRDtool can be easily integrated in shell scripts, perl, python, ruby, lua or tcl applications. – RRDtool – About RRDtool

Munin・・・Muninはコンピュータに何があったのか調べる事ができるモニタリングツールです。調べた全ての情報をウェブインターフェースを介して表示する事ができます。インストールが完了した後は、沢山のモニタリングプラグインたちがあなたに代わって仕事をしてくれる事でしょう。Muninを使えばネットワーク、SAN、アプリケーション、気象状況等による計算機の性能評価が簡単になります。性能の問題について「おや、この日は何が違ったのかな?」とか簡単に分かるようになります。リソース毎の過不足を簡単に判断できるようになるでしょう。 – Munin – ArchWiki

メールであれば今はSendmailよりもPostfixを使うことが多いです。qmailも使っていましたが、更新されなくなったことで現在使うにはパッチを別途入れないといけなかったりだとか面倒なので使わなくなりました。

Sendmail・・・Sendmail は UNIX で古くから使われてきたメールサーバソフトウェアである。 – Sendmail – Wikipedia

Postfix・・・Postfix(ポストフィックス)はフリーソフトウェア・オープンソースソフトウェアのメール転送エージェント(MTA)である。Sendmailとの操作上の互換性を確保しつつ、管理・設定が容易で、高速・安全であることを指向して開発されている。完全にUNIX用のMTAシステムとして設計されているため、UNIX上の他の多くのソフトウェアと連携が必要となる場合がある。 – Postfix – Wikipedia

qmail・・・qmail(キューメイル)は、ダニエル・バーンスタインにより開発されたメール転送エージェント (MTA)。Unix系オペレーティングシステム (OS) で動作する。現在の最新バージョンは1998年6月15日にリリースされた1.03。 – qmail – Wikipedia

その他

テニスナビのログというビッグデータからどんなことが見えるだろうと予想されますか?

8年半のデータがあるので、その年月でどういうふうにアクセスが増えていったのかということや、何曜日の何時にどういう記事がよく読まれているか、広告のクリック率は何時が多くなっているかなんかが見えるのではないでしょうか。圧縮せず800GBくらい、圧縮して80GBあるので色々なことが見えると思います。

Apacheの高速化方法があれば教えて下さい。

mod_proxyなどがありますが、結局全部仕込むことは出来ませんでした。インストールした他のアプリによって依存関係が発生し、それを変更することが出来なかったこととスペックの問題です。

mod_proxy・・・このモジュールは Apache のプロキシ/ゲートウェイ機能を実装しています。 AJP13 (Apache JServe Protocol version 1.3), FTP, CONNECT (SSL 用), HTTP/0.9, HTTP/1.0, HTTP/1.1 のプロキシ機能を実装しています。これらのプロトコルやその他のプロトコル用の プロキシ機能を持った、他のモジュールに接続するようにも設定できます。 – mod_proxy – Apache HTTP サーバ バージョン 2.2

さくらのデータセンターの人とのやり取りで困ったことや、気をつけていることはありますか?

Tennis.jpが出来てからはテニスナビへのアクセスは落ち着きましたが、最盛期は週1でさくらのデータセンターの人に再起動をお願いしなければならないほど重かったです。何度も電話しましたが、毎回親切に対応してくれました。

テニスナビの遍歴とアクセス負荷への対応、情報サイトを弱小マシンで8年半運用し続けた凄腕エンジニアに聞いた運用監視のいろは(1/3)

スペックが足りないときのコツとセキュリティ、情報サイトを弱小マシンで8年半運用し続けた凄腕エンジニアに聞いた運用監視のいろは(2/3)

今風の運用についてとその他書ききれなかったこと、情報サイトを弱小マシンで8年半運用し続けた凄腕エンジニアに聞いた運用監視のいろは(3/3)(本記事)