はてなキーワード: nagiosとは
467 admin
238 pi
119 oracle
102 user
69
62 postgres
60 guest
57 ubnt
47 support
42 nagios
32 ftp
29 git
28 cablecom
26 user1
25 deploy
24 teamspea
24 osmc
24 Administ
ftp よりも ftpuser のほうがアクセス多いのちょっとおもしろい
git ユーザーは弊社プロダクトにありますわ。流石にパスワードではアクセスできないけども。
deploy も居そうー
admin 堂々の1位。正直 admin っていうユーザーのあるシステム見たこと無い。確かにわざわざ admin ユーザーで運営しているサーバーはセキュリティ低そう
lastb --file btmp --file btmp.1 | cut -d " " -f 1 | sort | uniq -c | sort -nr -k 1
今の自分が何をやってきたのかと言われれば・・国立系現代美術研究機関で仕事をしている。
そこで何の仕事をしているのかと言われれば、ネットで美術作品に関するWebサイトの制作や
システム、サーバ管理作業やベンダー企業と打ち合わせを行いながら、世間に情報を発信している仕事だ。
プログラムこそ書けないが、PremiumPro、AfterEffects、Photosho、Illustrator、Dreamweaverを使いな
がら画像加工や映像制作、写真撮影、簡単コーディングやJavascript、シェルスクリプトをゴリゴリ書いて
仕事している。自分では何でも屋と呼んでいる。これがクリエイティブと言われればどうかはわからないが・・・。
アーティストとかデザイナーが嫌いですと言っていた自分ではあるが、知らない人間がそう言う世界の事を
言うのも失礼だと考え、正社員をやめてデザイナーになるため、まずは安いWeb制作スクールに通ってみた。
短期間だがサイトの作り方とAdobeツールの使い方を教わった。
ところが自分にはWebコーディングやデザイン考え方は理解できたが、デザインセンスや色彩感覚に欠けていた。
スクールへ通った後、派遣会社へ「Web制作がしたい」と登録したが、ポートフォリオを見せた途端にボロクソに言われ、不採用が続いた。
そんな中、あるWeb制作会社で「君、サーバ管理の方がいいかも」と言われてしまったがデザイナーになりたいとしと考えて断った。
その言葉をきっかけに「デザイン能力がないなら」せめてサーバ管理でもと考えて、Linuxスクールに通った
(その間は派遣で時給は安いがWeb制作会社で簡単なコーディング作業と画像修正作業、印刷会社でのDTP業務をして凌いだ)。
Linuxの勉強はすればするほど面白くなり、そちらの知識にのめり込んだ。サーバを学とネットワークの仕組みも知りたくなる。
最後にはネット知識で自作PCを組み上げてLinuxをインストールしてWebサーバとメールサーバを構築した。
ただ、自宅でWebサーバを構築すると言っても外部への公開はリスクが高すぎるので勉強機としてdebian系やredhati系OSなど
をデュアルブートさせたり、HDDでRAIDを組み上げたりして遊んだ。そのうちにレンタルサーバでドメインを取得、CMSで個人
ブログを立ち上げるも自分のポカミスからクラッキングにあいサイバー犯罪課の取り調べを受ける経験もした。
Web制作やデザインの仕事はなかったが、浅いネットワーク知識が幸いしてか、データセンターで映像サーバを扱う仕事に就き、
NagiosやらCisco機器、RAID、VM、セキュリティ知識、IP、デジタル映像知識、映像機器や編集の知識を得ることができた。
映像と言っても映画なのでDCPやKDP、3D映像の知識も会社で二週間研修させられた。仕事によっては夜中の仕事やAKB48ライブ
の収録に立会ったり、キアヌ・リーブスの舞台挨拶で生キアヌと打ち合わせしたりもしながらも、この日記を思い出しながら
それ以降は大企業の子会社でのWeb制作部門で勤務したり、IT資格もいくつか取得した。また途中で大学にも通い、好きだった
美術史や写真史、表現を学び、論文をいくつも書いた。その途中で亡くなった親父がフィルムカメラをくれたので、フィルムカ
メラにハマり出し、父親の形見の中判フィルムで撮影、フィルム現像、プリント額装して、個展までするようになった。
給料こそ高くはないが上記の研究機関で「何でも屋」で仕事をしている。
元々現代アートが幼少期から父親が集めていたアート関連の書籍を読んで、ドナルド・ジャドやフランク・ステラなどのハード
エッジアートに興味があったこと、簡単なシステム保守やサポートができること、フィルム現像や写真撮影ができること、ライ
ティング(照明)ができることが幸いして、作品の保管からシステム、ベンダーとの打ち合わせまでを任される仕事で採用され
ることになった。かなりの倍率だったようだが自分のように多く経験してきた方や知識、現代アートへの興味がある人は少なか
「オリも混ぜてくれよう。
実際には作ったりしないけど見るのは好きだおう
なのになんでオリを混ぜてくれないんだおう
お高く止まっちゃってさ!フン!もうこねぇよ!バーヤバーヤ!!!!
こうは書かれたものの、この気持ちもあって、それを理解するために色々と仕事と制作の仕事をしながら
勉強をしてきた(つもり)だけど、やってよかったと思う。
10年前の自分はデザイナー、アーティストがクリエイターという選民思想を持って「普通の会社員」を見下して
いるという、ルサンチマンに囚われていた。でも、仕事の業種に関わらずどんな仕事だって「創り出す」こと
は必要なのであって、それはどんな職種であっても創意工夫は必要であり皆がクリエイターである。
創り出すことが華やかに見えるのは一部だけであって、世の中にはもっと沢山のものが作り出されている。
たまーにWebのデザインや写真作品を制作することがあっても自分は「デザイナー」や「アーティスト」
とは言わない、それを言ってしまうと自分の創造の可能性を広げられなくなりそうで怖いから。もちろん周囲に
はデザイナー、ライター、アーティストの知人・友人はぐんと増えたが今はそれらの人を僻むことも今はしない。
しかし、あの日記を匿名日記を書けたことは自分の人生における仕事を大きく変えたと思うし、過去に自分が
そういう思いから出発しているから、どんな職業の人でも会う時には、まずは首を垂れて尊敬することか始めている。
それとこの言葉も気にしながら。
「未来に先回りして点と点をつなげることはできない。君たちにできるのは過去を振り返ってつなげることだけなんだ。だから点と点がいつか何らかのかたちでつながると信じなければならない。自分の根性、運命、人生、カルマ、何でもいいから、とにかく信じるのです。歩む道のどこかで点と点がつながると信じれば、自信を持って思うままに生きることができます。たとえ人と違う道を歩んでも、信じることが全てを変えてくれるのです」
これまで他の人に用意してもらったサーバで自分のプログラムを動かしたことはありましたが
自分自身で一からサーバをセットアップしたことはほとんどなかったので、いろいろとハマりました。
作業を進める上で困ったり考えたりしたことを書いていきます。
ちなみにサーバ自体はさくらのクラウド、OSにはCentOSを使用しているので、それ前提のお話になります。
最初にサーバを起動してから速やかにSSHとファイヤーウォールの設定を変更しました。
はてブなんかでも定期的に話題になっているのでおなじみですね。
・SSHやHTTP(S)など、どうしても公開しなければならないポート以外は遮断する
さらっと書きましたが、設定をミスって自分自身もログインできなくなり、何度かOSの再インストールを繰り返しています。
後から気付いた事ですが、さくらのクラウドではクラウド管理画面のリモートスクリーン経由でローカルログインできるので
別にOS再インストールしなくてもiptablesの設定を変更できたんですよね...
逆に言うといくらファイヤーウォールとSSHを設定しても管理画面にパスワードログインの環境が残ってしまうので
パスワードの管理には引き続きしっかり気を使う必要がある。ということでもあります。
httpd,php,mySQL,memcachedなど必要なサービスをインストール、設定し
作成したWebアプリのプログラムを乗せて動かしてみました。が、動作が重いような...
開発環境ではさくさく動いていたのに、本番環境ではどのページ遷移ももっさりしています。
abで計測してみたところ、開発環境のおよそ2分の1のスコアとなってしまいました。
開発環境が仮想2コアのメモリ1Gだったのに対し、本番環境が仮想1コアのメモリ2Gと
CPUの性能について半減しているのでそのせいかな、と思いつつ設定を見なおしていたところ
特に使っていないと思われたipv6を停止した途端にパフォーマンスが改善されました。
ページ遷移に伴うもっさり感が解消され、abの計測結果も開発環境と遜色ない結果が出ています。
デフォルトで有効になっていたipv6の影響により余計な処理が走っていたのかもしれません。
パフォーマンス改善に喜んだのも束の間、会員登録などの処理でWebアプリからメールを送信したところ、Gmail宛のメールがことごとく迷惑メールと判定されるという事案が発生。
spfの設定を行なう、メールの内容について吟味するなどの回避策を試してみましたが一向に改善されません。
試しにHotMailとexciteのメールアカウントに送信したところ、そちらではそもそもメールを受け付けてもらえずエラーコードが返って来る始末。
困り果てていたところ、エラーの内容からサーバのIPがspamhousにスパム送信元として登録されていることが判明しました。
postfixのホスト名の設定がデフォルトで「localhost.localdomain」などとなっており、それをそのまま使っていたためにGmailがスパム送信元として通報してしまったようです。
設定を修正し、spamhousに解除依頼を提出。事なきを得ました。
クラウドを利用すれば、サーバを停止することなく簡単な設定でスケールできるようになる。
と、自分で勝手に思い込んでいたせいなのですが、消えては困るデータの一部をmemcachedに保存する実装を行なっていました。
実際のところさくらのクラウドではサーバを完全に停止しなければプラン変更を実施できないし
そもそもサーバが落ちたらどうするんだよ。ということで、急遽KVSを変更する必要に迫られました。
速度の低下が気にかかったため、いくつかの候補を実際に動かし
phpのスクリプトから1万件のデータ読み書きを行うという形でmemcachedと比較してみたところ次のような結果に。
サービス | 1万件書込 | 1万件読込 |
memcached | 2.55秒 | 2.30秒 |
handlersocket | 21.23秒 | 2.71秒 |
InnoDB | 20.23秒 | 5.10秒 |
kyotoTycoon | 8.22秒 | 7.72秒 |
さすがに読み書きそれぞれmemcachedが最速ですが、読み出しについてはhandlersocketも負けていません。mySQLから普通にSELECTしてもmemcachedの2倍程度の時間しかかからないという結果が意外でした。
しかしながら書き込みのほうではhandlersocketもmemcachedの10倍近くの時間がかかっており、少々速度的な影響が気になってきます。memcachedの倍のパフォーマンスを記録したという記事を見たことがあるので、設定、チューニングについて生かしきれていない部分があるのかもしれないとも思いましたが、知識が不足しているところで無理をすると問題が発生した時に対処できないと考え、候補から除外することとしました。
結局、今回の用途では読み込み処理より書き込み処理のほうが圧倒的に多いことも考慮し、kyotoTycoonを採用しました。実際の利用箇所に組み込んでabで計測してみたところ、だいたい30%程度のパフォーマンス低下にとどまっており、これなら許容範囲かと考えています。
実行系と参照系に分ける形でmySQLのレプリケーションを行なっていたのですが、度々レプリケーションが停止する現象が発生しました。
一部のテーブルについて肥大する可能性が考えられたため、参照系に接続するプログラムで使わないテーブルをレプリケーションから除外していたのが原因です。
例えばtabelAをレプリケーションし、tableXをレプリケーションしないという設定にしたうえで
実行系でINSERT INTO `tableA` SELECT `value` FROM `tableX`などといったクエリを発行すると、参照系にtableXが無いためエラーが発生して止まってしまいます。
レプリケーションするテーブルを限定する場合はプログラム側でも注意を払わないと危険です。当たり前ですが。
監視といえばcactiやnagiosが定番なのかもしれませんが、設定が複雑そうで尻込みし、monitを使用することにしました。
簡単な設定でloadaverageやメモリ、HDDの使用量をチェックできるほか
httpdやmysqldなどといったサービスのプロセスを監視し、もし落ちていたら自動で起動してくれるので助かります。
パスワード保護を行うとしても、サイト全体の管理画面など自分しか使わないプログラムはWebに晒しておきたくない。
というわけで、一部のWebアプリを秘匿する設定を行いました。
管理画面のWebアプリを9999番など閉じているポートに設置した上で、SSHを利用したトンネルを掘ります。といっても
上記のようなコマンドで管理画面のWebアプリを置いたサーバへログインするだけです。
ブラウザのアドレス欄にhttp://localhost:9999/と打ち込めば、接続が開いている間のみアクセス可能になる感じですね。
サーバにログインできる人でなければ実行できないことなので、気分的にある程度安心します。
自動でログのバックアップを行いたいと考えたのですが、パスワード無しの鍵でログインして転送する形には抵抗がありました。
調べてみたところ、authorized_keysに公開鍵を記入する際の設定で、その鍵でできることを制限するという手段があるようでした。
具体的には、authorized_keysに
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="some commands" ssh-rsa AAAAB3NzaC1yc2EAAA...
などとして公開鍵を追加しておくと、その鍵でログインした直後にcommand=""の部分で設定したコマンドを実行して接続を終了する挙動となり
接続のフォワードもできなくなるため、パスワード無しでも鍵の流出に関するリスクを最低限に留めることができるというわけです。
commandの実行結果は標準出力から受け取ることができるので、例えばcommand=""の部分にファイルの内容を表示する処理を設定していたとすれば
ssh -i .ssh/no_password_key user@xxx.xxx.xxx.xxx > /path/to/file
などとしてログインの結果をファイルに書き込むだけで、簡単にファイルの転送が実現できます。
他にも大小さまざまな問題に行きあたりましたが、忘れてしまったor書ききれないのでここまでとします。
たった1つのサイトを公開するにしても問題というのは尽きないものだと実感させられました。
今は基本的な情報だけでなく、ちょっと突っ込んだ内容でも検索で解決していけるので嬉しいですね。手がかりを残してくれた先達に感謝することしきりです。
現状ではひとまずの見切りを付けて公開していますが、より堅牢で負荷に強いサーバとなるよう、随時チューニングを行なっていこうと考えています。
個人サイトや小規模な商業サイトなどプロモーションにあまりお金をかけられないサイトを主な対象とした、無料で出稿できる広告ネットワークサービスです。
既存のサービスで近いのは「あわせて読みたい」や「zenback」、各社提供のRSS相互リンクサービスなどになるでしょうか。
広告としての体裁がある分、それらより若干積極的な性質になるのではと考えています。
現時点ではサービス本体のプロモーションに苦心するという本末転倒そのものの状況でありますが、もしよろしければ見ていただけると嬉しいです。