Exastro IT Automationをインストールしてみた（v1.7.2）

#はじめに
前回までに[Exastro IT Automation](https://exastro-suite.github.io/it-automation-docs/index_ja.html)(以下ITAと表記)のv1.4.1とv1.5.0のインストールを行ってきました。
~~今回は、引き続き2020年11月末にリリースされたITAバージョン1.6.3のインストールを行ってみたいと思います。
今度のリリースでインストーラの作りがかなり変わったらしいので、そちらにも注意してインストールを行っていきます。~~

**※(追記)※
2021年5月31日にITA v1.7.2が新たにリリースしました。
それにより、下記のITAインストール手順をv1.7.2仕様に改修しましたので注意してください。**

#Exastro IT Automationとは
ITAは、システム設定をIaC(Infrastructure as Code)化して一元管理するためのオープンソースフレームワークです。
機器情報、設定値、作業履歴などシステム構成に関する情報を管理することが可能で、その値をExcelデータとして出力することができます。また、各機器のシステム構築や、運用設定などをワークフローとして管理、または実行する機能を備え、様々なPF構築ツールと連携が可能になっています。

##作業環境

+ Exastro IT Automation 1.7.2
+ CentOS Linux 7(サーバ用)
+ Windows 10(クライアント)
+ Google Chrome(Win10側)

***

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/717553de-a1e4-212d-7960-2d5e3e1121d9.png)



##作業手順
今回、ITAv1.7.2をCentOS7上にオールインワン構成でオンラインインストールを行っていきます。
([コミュニティサイト](https://exastro-suite.github.io/it-automation-docs/learn_ja.html)ではこの他に、オフラインインストールとバージョンアップ、Docker、HAの手順が用意されています)

具体的な手順は以下のとおりです。

1.ITA(v1.7.2)のダウンロード
2.アンサーファイルの設定
3.ITA(v1.7.2)のインストール
4.動作確認

また、環境構築にはrootユーザが実施する必要があります。

###1.ITA(v1.7.2)のダウンロード
今回はCentOS7上に[ExastroSuiteコミュニティページ](https://exastro-suite.github.io/docs/index_ja.html)にある[ITAオールインワン(online)インストールマニュアル](https://exastro-suite.github.io/it-automation-docs/asset/Learn_ja/ITA-online-install_ja.pdf)を参考にしてインストールします。

まずはじめに、Githubから必要な資材をダウンロードします。

```
# curl -OL https://github.com/exastro-suite/it-automation/releases/download/v1.7.2/exastro-it-automation-1.7.2.tar.gz
```

次に、ダウンロードしたZipファイルを解凍します。

```
# tar zxf exastro-it-automation-1.7.2.tar.gz
```

資材をダウンロードしたディレクトリに```it-automation-1.7.2 ```というディレクトリが展開されていれば完了です。

###2.アンサーファイルの設定
ITAのアンサーファイルを編集し、インストールモードの設定や連携ドライバのインストール設定を行います。

アンサーファイルとインストールシェルのあるディレクトリに移動します。

```
# cd it-automation-1.7.2/ita_install_package/install_scripts
```

エディタでアンサーファイル(ita_answers.txt)を開きます。

```
# vi ita_answers.txt
```

アンサーファイルを開いたら、各項目の設定を行っていきます。

以下は今回設定した値と、各項目についての説明です。
各項目の詳細については[ITAオールインワン(online)インストールマニュアル](https://exastro-suite.github.io/it-automation-docs/asset/Learn_ja/ITA-online-install_ja.pdf)等を参考にするといいです。

####ita_answers.txt(1/2)

```txt:ita_answers.txt(1/2)
# Select install mode. 
# ("Install_Online","Install_Offline","Gather_Library","Install_ITA",
# "Versionup_All","Versionup_ITA","Uninstall")
# e.g) install_mode:Install_Online
# *This installer operates according to the inputted values below.
#  Install_Online: ITA will be installed after the necessary libraries
#                  has been installed via internet.
#  Install_Offline: ITA will start installing using the package created
#                   in Gather Library.
#  Gather_Library: Gathers the necessary libraries via internet and creates
#                  the package necessary to execute Install_Offline.
#                  (Execute this before executing Install_Offline)
#  Install_ITA: Installs ITA without installing any libraries.
#  Versionup_All: Installs ITA after installing the necessary libraries for
#                 the desired ITA version via internet.
#  Versionup_ITA: Updates ITA without installing any libraries.
#  Uninstall: ITA Uninstalls ITA.(Libraries will not be uninstalled)
install_mode:Install_Online

# Enter install directory.
# e.g) ita_directory:/exastro
ita_directory:/exastro

# Select language. ("en_US" or "ja_JP")
# e.g) ita_language:en_US
ita_language:ja_JP

# Select Operation System. ("CentOS7","CentOS8","RHEL7","RHEL8")
# e.g) linux_os:RHEL8
# * If registering a subscription is needed in order to acquire
#   the RHEL7 and RHEL8 libraries, please do so in advance.
linux_os:CentOS7
```

***install_mode***
ITAのインストールモードの設定です。
ITAバージョン1.7.1以下を既にインストールしている場合は
モードを```Versionup_All```または```Versionup_ITA```にすることでITAを1.7.2にバージョンアップすることが可能です。

<details><summary>インストールモードについて....(詳細)</summary><div>
>
>バージョン1.6.3より、ITAインストール時に実行するシェルがita_installer.shのみに統一され、アンサーファイル(ita_answers.txt)の「install_mode」の値によって、インストーラーの動作が以下のモードに分岐します。
>
>***Install_Online***
>ITAに必要なライブラリのインストールをインターネット経由で行った後、ITA本体をインストールします。
>
>***Install_Offline***
>Gather Libraryで作成したパッケージを使い、オフラインでライブラリのインストールとITA本体のインストールを行います。
>
>***Gather_Library***
>ITAに必要なライブラリの収集をインターネット経由で行い、Install_Offlineの実行に必要なパッケージを作成します。（Install_Offlineを行う前に実行してください）
>
>***Install_ITA***
>ライブラリのインストールは行わずに、ITA本体をインストールします。
>
>***Versionup_All***
>バージョンアップで必要となるライブラリをインターネット経由で追加インストールした後、ITA本体をバージョンアップします。
>
>***Versionup_ITA***
>ライブラリのインストールは行わずに、ITA本体をバージョンアップします。
>
>***Uninstall***
>ITA本体をアンインストールします。(ライブラリのアンインストールは行いません。)
>
>
</div></details>

***ita_directory***
ITAをインストールするディレクトリを絶対パスで指定します。
ITAをインストールするディレクトリの親ディレクトリ全てに、その他ユーザの実行権限を与える必要があります。

***ita_language***
ITA表示画面の言語設定です。

***linux_os***
ITAサーバのOS設定です。

####ita_answers.txt(2/2)

```txt:ita_answers.txt(2/2)
# Enter the MariaDB root user's password
# e.g) db_root_password:sample_root_password
db_root_password:password

# Decide the database name, username, and password for ITA.
# e.g) db_name:sample_db_name
db_name:ITA
# e.g) db_username:sample_db_username
db_username:admin
# e.g) db_password:sample_db_password
db_password:password

# Select the target you need to install.
# yes : need
# no  : no need
ita_base:yes
material:no
createparam:yes
hostgroup:yes
ansible_driver:yes
cobbler_driver:no
terraform_driver:yes

# Enter the ita domain name.
# e.g) ita_domain:exastro-it-automation.local
ita_domain:exastro-it-automation.local

################################################################################
# Enter when using user-specified certificates and private keys.
# If no file path is entered for both "certificate_path" and "private_key_path",
# the ITA installer creates and installs a self-certificate and private key
# using the values entered in "ita_domain".

# Enter the file path where the certificate to be install.
# e.g) certificate_path:/temp/etc_pki_tls_certs/exastro-it-automation.crt
certificate_path:

# Enter the file path where the private key to be install.
# e.g) private_key_path:/temp/etc_pki_tls_certs/exastro-it-automation.key
private_key_path:

################################################################################

```

***db_root_password, db_name, db_username, db_password***
MariaDBの設定です。
各項目適宜編集します。

***ita_base, material, createparam, hostgroup, ansible_driver, cobbler_driver, openstack_driver, terraform_driver***
ITAの本体、機能、連携ドライバの本体設定です。
各項目必要なものを設定します。

***ita_domain***
ITAドメイン名の指定です。
初期値の「exastro-it-automation.local」のままで、以下の「certificate_path」と「private_key_path」を空欄にしておくと、HTTPSで接続するための自己署名証明書を作成してくれます。

***certificate_path***
ユーザ指定のSSL/TLSサーバ証明書に使用するファイルのファイルパスを指定します。
（ユーザ指定のSSL/TLS証明書使用時のみ入力します。絶対パスで指定。）
中間証明書がある場合は、サーバ証明書に中間証明書を連結したファイルを作成し、指定します。

***private_key_path***
ユーザ指定のSSL/TLS証明書の秘密鍵に使用するファイルのファイルパスを指定します。
（ユーザ指定のSSL/TLS証明書使用時のみ入力します。絶対パスで指定。）

アンインストール時は「certificate_path」と「private_key_path」
に指定があると、そのファイルを消してしまうようなので、
オリジナルは別途ちゃんと保管しておいたほうがいいですね。

###3.ITA(v1.7.2)のインストール
アンサーファイルの編集が完了したら、インストールシェルを実行します。

```
# sh ita_installer.sh
```
```INFO:Installation complete!```と表示されればインストール完了です。

エラー等発生する場合は、ログファイル格納ディレクトリ（/(インストール資材展開先)/ita_install_package/install_scripts/log/）下にあるログファイル(ita_builder.log、ita_installer.log)を参照するといいようです。

###4.動作確認
インストール完了後、動作確認を行ってみます。

前回までと同様にHTTPで接続可能ですが、セキュリティを考慮して今回はHTTPSで接続します。

####4.1 hostsファイル設定
hostsファイルにアンサーファイルで「ita_domain」に設定したホスト名を追加します。
hostsファイル(C:\Windows\System32\drivers\etc\hosts)を管理者権限で開き、以下を追加します。

```:hosts
(サーバのIPアドレス)       exastro-it-automation.local
```

####4.2 自己署名証明書のインポート
ITAが発行した自己署名証明書をWebブラウザにインポートします。

この作業は必須ではありませんが、自己署名証明書を信頼する証明書として登録することで、ブラウザからの警告が出なくなります。
ユーザ指定のSSL/TLS証明書を使用してない場合、自己署名証明書はITAインストールパッケージの以下のパスに格納されています。

|ディレクトリ|ファイル名|
|---|---|
|/etc/pki/tls/certs |exastro-it-automation.local.crt|

Google Chromeに証明書をインポートします。

Chromeの右上ボタンから
「設定」→「プライバシーとセキュリティ」→「セキュリティ」→「証明書の管理」
を選択します。

「信頼されたルート証明機関」タブへ進み、左下の「インポート」から```exastro-it-automation.local.crt```
を選択して証明書をインポートします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/011b311f-867f-4721-4a24-7a089c0af65a.png)


####4.3 動作確認
``` https://exastro-it-automation.local ```に接続し、ITAがインストールされているかどうか確認します。

正常にITAがインストールされている場合、以下のようなログイン画面がブラウザ上に表示されます。
![コメント 2020-06-12 152728.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/f25bcff6-d7f0-bd0f-d62b-a5c24f4a2795.png)
以上の画面が表示されたら、

+ ログインID：administrator
+ パスワード：password

を入力し、[ログイン]ボタンをクリックします。

インストール後に初めてログインした場合は、「パスワード変更画面」に遷移しますので、適宜初期パスワードを変更します。

ログイン後、以下の画面が正常に表示されることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/e4768a16-2c78-3ed8-63e2-69e236e38893.png)


##備考：メインメニュー(DASHBOARD)について
ITA v1.6.0からの新機能である、ITAログイン後のメインメニュー(DASHBOARD)について説明したいと思います。
デフォルトでは以下の①～⑤のWidgetが表示されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/f0a2603a-15ab-0b7c-33f3-8ea0ec8a57d0.png)

***①メニューグループ***
インストールしたドライバーのメニューへ遷移するパネル郡です。
パネルを押下することで指定したメニューグループのメニューへ遷移します。
編集からこのメニューグループのWidgetは削除できないようです。

***②Movement***
オーケストレーションに登録されているMovementの数が集計されたグラフが表示されます。
また、円グラフの各項目をクリックすることで、対応したDriverのMovement一覧に遷移します。
![Slide1 (2).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/e0d96df6-c262-b97d-d402-d15972a65499.jpeg)


***③作業状況***
Conductor、Symphonyの作業状況ステータスごとの総件数が円グラフで表示されます。

***④作業結果***
Conductor、Symphonyの作業結果ステータスごとの総件数が円グラフで表示されます。

***⑤作業履歴***
Conductor、Symphonyの作業履歴の日別の結果が棒グラフで表示されます。

また、DASHBOARD右上の「1.編集」→「2.Widget追加」を押下することで
上記に加えて以下のWidgetを追加することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/76ea408a-ee58-3ef1-2a7a-a5838c07f84c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/5ba33ee2-15d5-5d0e-2d04-fb9eff5a414d.png)



***⑥メニューセット***
メインメニューとは別のメニューグループのセットを作成できます。(別途説明あり)

***⑦リンク***
リンクリストを作成できます。(別途説明あり)

***⑧画像***
画像を貼り付けます。
また、貼り付けた画像にリンクをつけることもできます。

またDASHBOARD編集中のWidgetのボタンについては以下の通りです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/486bf8b9-78ad-5d5b-10ca-e3bfd172ec4c.png)

***編集ボタン***
Widgetの内容を変更することができます。

***非表示ボタン***
Widgetの表示/非表示を選択をすることができます。

***削除ボタン***
Widgetを削除します。
※メニューグループWidgetは削除することができません

###メニューセットWidgetについて
以下ではメニューセットWidgetの詳細と、使い方の例を説明したいと思います。

まずはじめに、DASHBOARD右上の「1.編集」→「2.Widget追加」を押下し、
「3.メニューセット」→「4.決定」でWidgetを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/76ea408a-ee58-3ef1-2a7a-a5838c07f84c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/cce901fb-dc6b-4bac-53d0-21a9c137b26a.png)
すると、メニューグループのすぐ下にメニューセットWidgetが追加されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/51b337a7-5e81-cfeb-80cc-e96443ea0e1e.png)


追加されたメニューセット内にメニューグループ内にあるパネルを
ドラッグ＆ドロップすることでパネルを移動させる事ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/dc35536d-5c44-ace5-7be3-8d3eb0e601ad.png)

また、Widgetの編集ボタンを押下することで
Widgetの名称やサイズを変更することができます。

![image.![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/5ba194ee-649f-ac9a-854c-1e6b7dcda3c5.png)
png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/e1ccfa85-0d21-3480-2359-e5d8b1c9bcfa.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/d262cf11-e1bd-0ac4-b363-7337e12f1a6d.png)

適宜変更後、「決定」を押下し、DASHBOARD右上の「登録」を押下することで
変更した内容を保存することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/1c34f144-42ef-799e-db04-7dae3d8767d0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/2ecd447c-2f99-716e-fb0b-5c467c30907d.png)

これらを利用することで、よく使うメニューを目立たせたり
逆に使用しないメニューを隠せたりするわけです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/2d10f517-3378-a519-9972-9b673a04d0ec.png)

###リンクWidgetについて
以下ではリンクWidgetの詳細と、使用例について説明したいと思います。


まずはじめに、DASHBOARD右上の「1.編集」→「2.Widget追加」を押下し、
「3.リンク」→「4.決定」でWidgetを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/76ea408a-ee58-3ef1-2a7a-a5838c07f84c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/dc6e9e03-03a1-0e99-8b38-fb81903bb378.png)

すると、メニューグループのすぐ下にメニューセットWidgetが追加されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/5ceddda7-62fb-8ee7-bd2b-feda3534940b.png)


また、Widgetの編集ボタンを押下することでWidgetの名称やサイズを変更することができ、
表示させたいリンクを追加することができます。

リンクを追加するには、「名称」「URL」を入力して決定を押下し、Widgetを登録します。
>「項目を追加する」ボタンを押下することで、表示したいリンクの項目を増やすことができます。
>また、aタグのTargetを指定したい場合は、「Target」項目に記入します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/af27f0e9-54cd-e7f8-aada-16992232646d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/bd54ec25-1846-e9d1-3126-15380bc5e1bc.png)


リンクをクリックして、指定したURLに飛べるかどうか確かめます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/becfac88-7238-be24-683f-55fade713672.png)

これらを利用することで、よく使うメニューの一覧を作成したりすることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/652376/e85ce2d9-1cf9-1f96-2244-ec94079810f4.png)






#まとめ
今回は、ITAバージョン1.7.2のインストールと動作確認を行いました。
尚、各画面機能の詳細については[マニュアル](https://exastro-suite.github.io/it-automation-docs/documents_ja.html)を読むとわかりやすいです。

###索引

+ [ExastroSuite コミュニティページ](https://exastro-suite.github.io/docs/index_ja.html)
+ [Exastro IT Automation](https://exastro-suite.github.io/it-automation-docs/index_ja.html)
+ [ITA オールインワン(online)インストールマニュアル](https://exastro-suite.github.io/it-automation-docs/asset/Learn_ja/ITA-online-install_ja.pdf)