単一のコンソールを介してサーバーを管理する

みなさんこんにちは!



長い間、私はHabréについて書いていましたが、どういうわけかすべてを延期しました。 しかし最近、いくつかの記事( 1つ2つ )を読んで、自分自身をまとめる必要があることに気付きました。 これがHabréの最初の投稿です。成功することを願っています。



ロゴ

開始する



そもそも、システム管理者として働いており、プログラミングとは少し異なりますが、日常の作業を容易にするあらゆる種類のスクリプトを書くことがよくあります。 多くの場合、サーバー上の同じタスクを解決する必要があります。たとえば、すべてのサーバーでipリストのポートを開く、サービスのステータスを確認する、特定のユーザーのログインを許可するサーバーを確認するなどです。 同じタイプのタスクのリストは長く、多くの管理者がそれらに精通していると思います。



フェザーテスト



サーバーの数がクリティカルマークを超えるとすぐに、私は質問をしました。これをすべて管理し、多くの時間を費やさない方法です。 RDP \ SSH経由でサーバーにアクセスし、同じコマンドを実行することは、風水ではないことは明らかです。



簡単な分析により、PowershellはWindowsサーバーの管理に最適であることが示されました。 これが彼の研究の理由でした。 まず、Windowsサーバーに接続してそこでスクリプトとコマンドを実行できる単純なスクリプトが作成されました。 かなり短期間で、このスクリプトは近代化され、日常のタスクに多少なりとも適しています。 これにより、作業が大幅に簡素化されました。 しかし、これに伴い、必要なサーバーでのみコマンドを実行するためにサーバーのリストを含むテキストファイルを編集する必要があるたびに、困難が生じました。 実行のために既製のスクリプトを保存することも不便でした。 さらに、普遍的で使いやすいものを作りたかった。 ここでは、PHPでのプログラミングの経験が少し役立ちました。 アイデアはシンプルでした。スクリプトをWEBインターフェースに固定し、自分や同僚のために機能させるようにしました。 デンワーは稼働中のコンピューターで育ち、仕事が沸騰し始めました。



しばらくして、最初のプロトタイプが登場しました。 ブラウザにコマンドを直接入力し、サーバーを「カンマ区切り」で一覧表示できるようになりました。 実行結果もブラウザに表示されました。 しばらくして、プロセスとサービスを管理するための個別の機能が登場しました。 同僚がサイトを使用し始め、新しいアイデアが到着し始めました。



バージョン2



ご存知のように、デザインと使いやすさの話はありませんでした。 それは単なるリンク、入力および出力ウィンドウのセットでした。 最小限のエラー処理。 さらに、サイトは便利であるだけでなく、脅威も伴うことにすぐに気付きました。サイトを介したコマンドの実行を制御できず、ログもありませんでした(Apacheログは考慮されません)。 アドレスを知っていれば、サーバーのシャットダウンやサーバーからのデータの削除など、コマンドを簡単に接続して実行できます。 サイトに許可はありませんでした。 この場合、サーバーからのログインまたはパスワードを知る必要はありませんでした。 サーバーの名前とコマンドを入力するだけで十分で、サイトの残りの部分は自分で行いました。 公平に言うと、このサイトは稼働しているコンピューター上にあり、外部からのアクセスはなかったと言わざるを得ませんが、それは心を温めませんでした。



この状態では、サイトは長く機能せず、少しやり直すことにしました。 そのため、サイトの2番目のバージョンが登場しました。 「.htaccess」を介して承認が追加され、メニュー、「頻繁に使用されるスクリプト」のリストが表示され、「エンジン」の最初のバージョンが表示されました。 会社の仕事の詳細に関連する高度に専門化された機能も登場し始めました。 サイトは、Apache \ PHP \ MySQLの通常の束の下で、サーバーに「移動」しました。 以下は、2番目のバージョンのスクリーンショットです。



スクリーンショット
サービス

1.サービスを操作する



助けて

2.頻繁に使用されるスクリプト



コマンドを実行

3.スクリプトを実行する





バージョン3



次の段階では、異なるサーバー上のユーザーへのアクセスを区別する必要がありました。 簡単にするために、異なるサーバーのセットを持つサイトのコピーが作成されました。 当時はそれで十分でした。 そこで、権利を差別化して通常の承認を行うというアイデアが生まれました。

これが、第3バージョンの開発の推進力でした。 それを書くとき、その時に利用可能であったすべての問題と願いが考慮されました。 その結果、エンジンが近代化され、独自の承認が記述され、管理セクション(ユーザー管理と利用可能なサーバー)が表示され、不足しているセクションが追加されました。 現時点では、このサイトは1年以上このバージョンに取り組んでおり、次の機能を備えています。







スクリーンショット
サービス

4.サービスを操作する



KB

5.知識ベース



コマンドを実行

6.スクリプトを実行する





このサイトの主な欠点は、Windowsサーバーでのみ機能することです。 これは、当社で使用されているサーバーの大半がWindowsサーバーであるためです。 最近、Linuxを実行しているサーバーの数が増加し始め、そのサーバーで動作するようにサイトを適応させる方法について疑問が生じました。 Linuxのサポートを追加するには、多くのコードを書き直し、サイトのイデオロギーを「破る」必要がありましたが、これはしたくありませんでした。 さらに、コンソールでWindowsからLinuxコマンドを実行し、何らかの方法でスクリプト言語に関連付ける方法を見つけるための多くの試みが行われました。 数か月後、解決策が見つかりました。



プロジェクト



1年前、私はフレームワークの研究を始め、最終的な考えは頭に落ち着きました-プロジェクトを作るために。 プロジェクトの名前は「SSC Panel-Smart Server Control Panel」です。 現時点では、サイトの基礎が築かれています。 WindowsサーバーとLinuxサーバーの両方で作業が実装されています。 管理パネル、リモートコマンドラインを実装し、スクリプト、ログ記録を保存できます。 これまでのところ、ほとんどありませんが、時間が経つにつれて、さらに多くのものがあることを願っています。 サイトはKohana 3.3.2エンジンを使用し、商用テーマは「SmartAdmin」(あまり良くありません、変更する必要があると思います)、Powershell v3はWindowsで動作するために使用されます(サーバー上で必要、クライアントはv2を持つことができます)、ライブラリはLinuxで動作するために使用しますポッシュssh 。 彼らが言うように、一度見たほうがいいです:







今後の計画



プロジェクトを開発し、プロフェッショナルにします。 実装には多くのアイデアがあります。 近い将来に予定されているもの:



これは最終的なリストではなく、成長します。



All Articles