IBM CloudのLinuxVMにCognos Analyticsを導入する【Part2】

## 手順
### インストーラーの取得と配置
インストーラーの取得
チェックのつけている２ファイルを選択しダウンロードした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/390594da-91ba-0fa9-36c0-71028a97e252.png)


SCPでインストールに必要なファイルを転送
	Tera Term	
	ファイル転送にはSCPを利用する。	
	https://ja.osdn.net/projects/ttssh2/	
	TeraTermがない場合はこちらからダウンロード	
	Cognos用のVSIの浮動IPを指定し、OKをクリック	

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/08d5e93b-4c93-d48e-bd4e-d3ae7e544f9d.png)

ユーザー名はroot、パスワードは空欄のまま設定。Use … key to log inを選択して、「Private key file:」をクリック。エクスプローラーが開くので、秘密鍵を選択する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/09bfb594-0771-9a72-1575-7e7a2a696011.png)

ドラッグアンドドロップでホストマシンからファイルを転送する。ドラッグアンドドロップし表示される画面で、SCPを選択、dest:に配置したいディレクトリを指定する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/6f5cbedd-ad1d-4e19-caed-1ae991cf343f.png)



### RPMインストール
必要なパッケージをCognos Prerequisitiesを確認し、不足していたらインストールする。	
	https://www.ibm.com/support/pages/cognos-configuration-erroring-after-successful-install

以下のコマンドを実行
dnf install libXtst
dnf install libX11.so.6
dnf install libnsl
dnf install nspr.i686 nspr.x86_64
dnf install nss.i686 nss.x86_64
dnf install 
dnf install motif.i686 motif.x86_64
dnf install libnsl.so.1
dnf install libstdc++.so.6

### ulimitの確認

Linuxでは、ulimitコマンドにより各ユーザーが利用できるリソースの制限を設定できます		
		
ulimit -aで現在の設定を確認。
次の3つを実行		
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/9fc8699b-e7c2-a288-8466-367efc1ce12b.png)

公式ドキュメントでは次の設定が推奨されています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/baeb029b-cdd5-bba7-6069-8776d1b30a59.png)

### インストールの実行
※ ここからはVNC Viewerで接続できていることを前提の作業になります。
Terminalを開く

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/0a706412-c1c1-53fb-5eff-7673f8ba790b.png)

インストーラーを格納したディレクトリを確認し、.binファイルを実行
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/2df52268-554d-32e6-658f-eb9dbb29fb85.png)

インストーラー画面が表示される。EnglishのままNextを押下する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/8aa4074c-2c68-d307-fbb4-3e8f1a7f74dc.png)

IBM Cognos Analytics - 12.0.4と表示されていることを確認し、Nextを押下する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/5b59e5b4-40e7-c3ba-caf5-8cc11cecb897.png)

License Agreement画面で同意するチェックを入れてNextを押下する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/28040f4d-1e7b-42a1-2a09-0eccd65beeab.png)

Locationはデフォルトのまま変更せずNext
![Something went wrong]()


Yesを押下する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/22b04d36-ace1-3e71-1f05-0e4d52e295ec.png)

4つのコンポーネントをすべて選択してNext
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/8ea7c4e8-9f1e-53b8-2ced-eac9aa57908f.png)


サマリー画面が表示され、内容を確認して特に問題がなければInstallを押下する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/13a9624c-f2e1-97de-ec68-f44ef3b1a288.png)

インストールが終わるまで暫く待つ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/293588a9-09ad-b1ef-5be4-a0c777b4c08d.png)


下の画面が表示されればインストールは完了。Doneを押下する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/bb101e67-9fd2-84ce-fdd2-ce9f0e5eadc9.png)

### インストール後の設定
#### JDBCドライバーの配置		
	Db2のJDBCドライバーをCognosの指定ディレクトリーにコピーする。	
	JDBCドライバーの場所：	
	/opt/ibm/db2/V11.5/java	
		
	コピー先	
	/opt/ibm/cognos/analytics/drivers	
		
	コピーするファイルは以下の2つ	
	・db2jcc4.jar	
	・db2jcc_license_cu.jar	

#### Cognos Configuration		
Cognosでの設定はCognos Configurationで行う。DBとの接続情報やホスト名などを環境に合わせて更新する。	
/opt/ibm/cognos/analytics/bin64/cogconfig.sh　を実行	

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/40aa9011-9b3a-eaaa-1db3-3711adc2a531.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/67317e6d-f130-56b2-aacd-0220965f2f14.png)

Data Access / Content Manager / Content Store	
	Cognosにおいて、レポートなどの定義を保存するDB「Content Store」を作成する必要があります。
	GSDBなどのデータソースとは別で作成します。

リモート接続設定		
	※Db2サーバーにて作業してください	
	まずDb2のポートを確認	
		[db2inst1@db2-test ~]$ cat /etc/services | grep db2
		ibm-db2         523/tcp                 # IBM-DB2
		ibm-db2         523/udp                 # IBM-DB2
		questdb2-lnchr  5677/tcp                # Quest Central DB2 Launchr
		questdb2-lnchr  5677/udp                # Quest Central DB2 Launchr
		qdb2service     45825/tcp               # Qpuncture Data Access Service
		qdb2service     45825/udp               # Qpuncture Data Access Service
		DB2_db2inst1    20016/tcp
		DB2_db2inst1_1  20017/tcp
		DB2_db2inst1_2  20018/tcp
		DB2_db2inst1_3  20019/tcp
		DB2_db2inst1_4  20020/tcp
		DB2_db2inst1_END        20021/tcp
		db2c_db2inst1   25010/tcp

設定	
	[db2inst1@db2-test ~]$ db2set DB2COMM=TCPIP	
	[db2inst1@db2-test ~]$ db2 update dbm cfg using svcename 25010	
	DB20000I  The UPDATE DATABASE MANAGER CONFIGURATION command completed 	
	successfully.

再起動	
	[db2inst1@db2-test ~]$ db2 connect reset	
	SQL1024N  A database connection does not exist.  SQLSTATE=08003	
	[db2inst1@db2-test ~]$ db2stop	
	11/17/2024 02:39:33     0   0   SQL1064N  DB2STOP processing was successful.	
	SQL1064N  DB2STOP processing was successful.	
	[db2inst1@db2-test ~]$ db2start	
	11/17/2024 02:40:03     0   0   SQL1063N  DB2START processing was successful.	
	SQL1063N  DB2START processing was successful.	
		
確認	
	[db2inst1@db2-test ~]$ netstat -nao | grep 25010	
	tcp6       0      0 :::25010                :::*                    LISTEN      off (0.00/0/0)	
		
		
OSのファイアウォールで25010/tcpを許可	
		
[root@db2-test ~]# firewall-cmd --add-port=25010/tcp --permanent --zone=public	
	success	
	[root@db2-test ~]# firewall-cmd --reload	
	success	
	[root@db2-test ~]# firewall-cmd --list-all	
	public (active)	
	  target: default	
	  icmp-block-inversion: no	
	  interfaces: eth0	
	  sources: 	
	  services: cockpit dhcpv6-client ssh	
	  ports: 25010/tcp	
	  protocols: 	
	  forward: no	
	  masquerade: no	
	  forward-ports: 	
	  source-ports: 	
	  icmp-blocks: 	
	  rich rules: 	

仮想サーバーインスタンスのIPとポートを入力する。
User ID and passwordには、db2inst1とパスワードを入力する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/52d9a7ff-879a-fc01-c9b6-4a4429527075.png)

Content Storeを右クリックし、「Generate DDL」を選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/1ed1fbc1-7ce0-0374-4832-37de232916d6.png)

DDLが /opt/ibm/cognos/analytics/configuration/schemas/content/db2/createDb.sql に生成された。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/21887836-b12b-727f-7bd4-3b642a068d29.png)

#### Content Storeデータベースの作成
上で作成したDDLを編集する。		
	・CREATE DATABASEステートメントのTERRITORY USをJPに変更	
	・APPLHEAPSZのUPDATEステートメントをコメントアウト	
		
	CREATE DATABASE cm AUTOMATIC STORAGE YES ALIAS cm USING CODESET UTF-8 TERRITORY JP COLLATE USING SYSTEM PAGESIZE 8192;	
	CHANGE DATABASE cm COMMENT WITH 'IBM Cognos Content Store';	
	CONNECT TO cm;	
	--UPDATE DATABASE CONFIGURATION USING APPLHEAPSZ 1024 DEFERRED;	
	UPDATE DATABASE CONFIGURATION USING LOCKTIMEOUT 240 DEFERRED; 	
	CONNECT RESET;	
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/ebb721dc-67c0-049d-325b-6c372688b8e4.png)

Db2管理者ユーザーでDDLを実行する。		
	上記ファイルをDb2のVSIにコピーしVSIに移動し、db2inst1ユーザーに切り替える。	
		
		[root@db2-test ~]# su - db2inst1
		Last login: Sat Nov 16 17:18:08 UTC 2024 on pts/1
		[db2inst1@db2-test ~]$ ls
		createDb.sql  db2inst1  Extended_Samples_11_1_2  Extended_Samples_11_1_2.zip  sqllib

DDLを実行		
	db2 -tvf ファイル名 で実行	
		
	[db2inst1@db2-test ~]$ db2 -tvf createDb.sql 	
```
CREATE DATABASE cm AUTOMATIC STORAGE YES ALIAS cm USING CODESET UTF-8 TERRITORY JP COLLATE USING SYSTEM PAGESIZE 8192
DB20000I  The CREATE DATABASE command completed successfully.

CHANGE DATABASE cm COMMENT WITH 'IBM Cognos Content Store'
DB20000I  The CHANGE DATABASE COMMENT command completed successfully.

CONNECT TO cm

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.9.0
 SQL authorization ID   = DB2INST1
 Local database alias   = CM



CONNECT RESET
DB20000I  The SQL command completed successfully.
```

#### 接続確認					
Content Storeを右クリックし「Test」で接続確認する。		
			
Database server and port numberは、Db2のサーバーIP:ポート番号を指定する。	
すべてにチェックがつけばOK	
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/9eaeaa57-0e1f-fe22-f93c-728781cc35b4.png)

設定の保存	
保存ボタンをクリックして、Cognos Configurationの設定を保存する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/2b4d89a3-a23b-80a7-3a95-111e57f0d3a0.png)

#### Cognos サービスを開始
起動ボタンをクリックして、Cognosサービスを開始する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/291b7732-2810-0ed0-7c90-6a0f1f6a7a0b.png)


開始をしてしばらく待ち、すべてにチェックが付いたらCognosが正常に起動できています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/c744d264-7e17-c6b7-409d-059233a531d7.png)

### リモートホストでCognos Analyticsの動作確認	
Cognos Analyticsはデフォルトで9300ポートに設定される。
Cognos のサーバーに入り、webブラウザにて localhost:9300 にアクセス
下の画面が表示されればOK
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/ddaba143-9e80-3416-0f64-4b7d743ba8af.png)


### ローカルPCからリモートのCognos Analyticsにアクセス
ここまでの設定では、OSのファイアウォールとIBMCloudのセキュリティグループで9300ポートを許可していないので		
各種設定する。		
		
	OSのファイアウォール設定	
		
	[root@se-instructors-vsi-cognos opt]# firewall-cmd --add-port=9300/tcp --permanent --zone=public	
	success	
	[root@se-instructors-vsi-cognos opt]# firewall-cmd --reload	
	success	
	[root@se-instructors-vsi-cognos opt]# firewall-cmd --list-all	
	public (active)	
	  target: default	
	  icmp-block-inversion: no	
	  interfaces: eth0	
	  sources: 	
	  services: cockpit dhcpv6-client ssh	
	  ports: 5901/tcp 9300/tcp	
	  protocols: 	
	  forward: no	
	  masquerade: no	
	  forward-ports: 	
	  source-ports: 	
	  icmp-blocks: 	
	  rich rules: 	
		

IBM Cloudのセキュリティグループ設定	
	下の通り、9300ポートを許可	
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/32e610d7-2985-f849-6cbd-eda9bb26dab8.png)

以上の設定2つにより、ローカルPCから<CognosサーバーのIP>:9300でアクセス可能になった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255563/b2a66e88-eb93-c2d6-266a-4d406148f517.png)