サーバーインベントリシステムを作成する1つの成功したプロジェクトのストーリーを共有したいと思います。 このストーリーは、サーバーファームを最終的にクリーンアップする必要があり、質問への回答を含む実際の例を探している人に役立ちます。
これは成功事例であり、インストールガイドではありません。 この製品については、インターネットおよびこのサイトで手順を追って説明しています。 しかし、彼らは皆PCインベントリについて話し、サーバーにはいくつかの微妙な違いがあります。 既存のサーバー機能とプラグインにもかかわらずPCインベントリに特化したGLPI。 しかし、熟練した人であれば、サーバー管理者のニーズに合わせて投獄することができます(ところでネットワークも)。 プログラマーが使用する方法は苦情を引き起こすかもしれませんが、これは管理者によって、管理者のために行われることを思い出します。

先史時代
おそらく、オンラインの技術の区の動物園に関する最新情報を入手することの重要性を説明する必要はないでしょう。 これは、金額が100を超え始めたときに特に重要になります。 きっと誰もが必要なフィールドを持つexelファイルを調べます。 同じ確率で、1ダースの行をハンマーで打ったり修正したりするとき、誰もがこの方法に嫌悪感を抱いていました。
サーバーの数が4桁の数字で計算される1つのモバイルオペレーターで働いており、そこで使用されている自己記述型の在庫システムの魅力を理解していると、新しい雇用主に似たものを見つけることに戸惑いました。 プロンプトは
Badooブログをオタク雑誌に投げた
ある記事では、FusionInventory + GLPIバンドルを使用して、インストールされているサーバーに関する情報を収集することについて言及しました。 この記事で使用されている他の技術を非常に尊重しているため、私たちの環境でこれを試してみることにしました。
実装
製品に関するいくつかの言葉:
- GLPI-ハードウェアデータベースを使用して企業内でholdeskを編成するためのシステム
- FusionInventory-データ収集とタスク実行の自動化
どちらの製品もオープンソースであり、どちらも定期的に更新され、新機能が追加されています。 しかし、両方の製品から、機能の一部のみが必要です。
- サーバーおよび仮想マシンに関する基本情報の保存:
- サーバーからのこのデータの自動収集
- 外部テクニカルサポートへのリクエストの追跡
- TPに関する情報の保管(サポートの提供者、レベル、終了時期)
- サーバーとITが提供するビジネスサービスとの関連付け
- ラックサーバーの位置追跡
- レポート作成
機能を研究し、必要なものとそうでないものを理解した後、インターフェイスで不要なものをすべてカットしました。 柔軟なプロファイル管理システムを介して素晴らしい機能を発揮します。 サーバー管理者用のプロファイルを作成し、使用可能なチェックマークを慎重にスクロールして、使用されていないすべての機能を容赦なく削除しました。 このフォームでは、あなたとあなたの同僚は、このリソースの主要なタスクである骨の折れる情報の収集から気を散らされません。

表面調整
ヘルプデスクツールとしてのGLPIの重大な遺産は、コードに踏み込む際に切り取らなければなりません。 システムが記述されているPHPでの私のスキルは、コードを直感的に理解するには十分ですが、これにもかかわらず、非常に多くのことができます。 まず、インベントリアイテムがコンピューターではなくサーバーと呼ばれるように、ローカライズを修正することをお勧めします。 それほど重要なポイントではないようですが、それは会社内での製品の適切な位置付けに役立ちます。
ロシア語にローカライズされたファイルは、デフォルトで/usr/share/glpi/locales/ru_RU.phpに保存されます。 バックアップを作成し、名前を大胆に編集します。
次に、デフォルトのページをサーバーのリストに変更することをお勧めします。 これにより、数回クリックするだけで、最も要求された情報へのアクセスが削減され、不要な質問が削除されます。
cp /usr/share/glpi/front/central.php /usr/share/glpi/front/central.php.b cp /usr/share/glpi/front/computer.php /usr/share/glpi/front/central.php
次に、サーバーに対して表示するフィールドのセットを定義します。 私たちの場合、これは次のリストになりました。
- サーバー名
- シリアル番号
- モデル
- OS
- 管理コンソールのアドレス
- ステータス
- 場所
- サーバー上のアプリケーションの担当者:個人とユニット
サーバー表示Webフォームから不要なものを削除してみましょう。 これを行うには、コンピュータークラス
/usr/share/glpi/inc/computer.class.phpを編集し
ます 。 showForm関数(およびフィールドの出力に関するコメント)を見つけます。
残りのフィールドを転送することでラインアップが成功すると、同様のフォームが得られます。

在庫の入力に対する嫌悪感を減らすために、事前定義されたフィールドを持つテンプレートを作成することをお勧めします。
ヒント1:同じ関数に2、3行を追加すると、インベントリに戻るリンクがあるnagios監視システムの要素への便利なリンクを取得できます(上のスクリーンショットを参照)。
echo "<tr class='tab_bg_1'>"; echo "<td></td><td></td>"; echo "<td></td>"; echo "<td><a href=http://nagios/check_mk/view.py?view_name=host&site=&host=".$this->fields["name"]."> Server monitoring in NAGIOS </a> </td>";
ヒント2:チームが使用していない「インベントリ番号」フィールドの名前を「コンソールアドレス」に変更し、タイプをURLに変更することで、サーバーのリストからSPコンソールに直接切り替えることができました。 故障したサーバーの問題を迅速に解決するのに役立ちます。
また、不必要な要素で管理者の注意をそらさないために、同じファイル内のこれらのタブをコメントアウトすることをお勧めします(プロファイルの権利をカットすることで削除できるタブもあります)
データ収集
コンポーネントに関する情報を操作しないために、FusionInventoryプラグインを使用しました。 インストールに関する非常に良い記事がすでに
ハブにあります 私たちのケースで変更されたものだけを自分から追加できます。
サーバー上の多数の見知らぬ人を考慮して、エージェントをインストールしたくありませんでした。 さらに、1回の起動でデータを収集できます。 サーバー上のOSまたはコンポーネントが毎日変わるわけではありません。 ネットワーク上のボール(CIFSおよびNFS)と、会社が使用する各OSに展開されたFusionInventoryエージェント配布パッケージにより、1つのコマンドでデータを収集できます。
- \\共有\ FusionInventory \ Windows \ fusioninventory-agent.bat
- /ネット/シェア/ FusionInventory / RHEL / fusioninventory-agent
あなたの会社でこの手順をまとめて開始する方法はあなた次第です。 起動後、インベントリ内の新しいオブジェクトを受け取るか、既存のオブジェクトのデータを更新します(一意性はシリアル/ MAC / IP /名前でチェックされます)。

FusionInventoryプラグインの設定で、不要な情報の収集を無効にします。
ヒント:エージェント
の結果をファイルにアップロードしてから、GLPIにインポートできます。 このメカニズムは、データを自動的にロードするための理想的なAPIを作成します。 VMwareファームから仮想マシンのデータをインポートするために、この機能を実装しました。
これらのタスクのFusionInventoryプラグインには独自のツールがありますが、サーバーリストの本格的な要素を作成する代わりに、サーバーにコンポーネントを追加します。 それほど便利ではありません。 数か月前にリリースされた最新バージョンでは、仮想マシンの要素またはESXiサーバーのコンポーネントを作成する選択肢がありました。
外部アプリケーションを追跡します
チームには多くの管理者がいるため、休暇をとったり、病気になったりするため、TPのアクティブなアプリケーションに関する情報をどこかで収集する必要があります。 また、このサーバー(および、この場合はゲートキーパー、スイッチ、ソフトウェア)にどのような問題があったかを知ることも役立ちます。
ソリューションはGLPIアプリケーションで規定されていますが、この場合、ITチーム内ではなく外部のアプリケーションを意味します。 アプリケーションプロセスを簡素化するために、同様の機能のトリミングが行われました。

オープンまたはクローズされたチケットのリストを取得します。

追加
実際には、サーバーのインベントリが完了し、必要に応じて、
プラグインに機能を追加し
ます 。 これらのアドオンをお勧めします:
- アプライアンス -サーバーを提供するサービスと統合する機能
- ベイ管理 -サーバーラック、電源、ラック内のサーバーの場所の管理
- カスタムフィールド -既存の要素にカスタムフィールドを追加します
- データベース - データベースのインベントリ、サービスおよびサーバーとの関連付け
- ファイルインジェクション -CSVファイルから要素をインポートする
- オブジェクト管理 -カスタムオブジェクトの作成
それだけです。 読者がアドオンとその使用方法に興味がある場合は、これらのプラグインの実装に関する別の記事を書きますが、その外観を理解するためにスクリーンショットを投げます。
カスタムアイテム-
ストレージ
ITサービス
ラック