IBM Process Mining メモ - (2) RHEL8へのインストール

# はじめに
IBM Process MiningをRHEL8にセットアップしてみた時のログです。

## 関連記事

[IBM Process Mining メモ - (1) 概要](https://qiita.com/tomotagwork/items/bf187d6cd8346cb1a86b)
[IBM Process Mining メモ - (2) RHEL8へのインストール](https://qiita.com/tomotagwork/items/bea465ddc195cf06fbf7)
[IBM Process Mining メモ - (3) CSVの取り込みとモデル](https://qiita.com/tomotagwork/items/73cccfc58f5a8836683f)
[IBM Process Mining メモ - (4) BPMN](https://qiita.com/tomotagwork/items/ba07959e49afd95e24e8)
[IBM Process Mining メモ - (5) BAWの情報の取り込み](https://qiita.com/tomotagwork/items/90ca2ac6d100e4c26786)

# IBM Process Mining 環境構築

前提条件はこの辺を参考に。
参考: [Platform Matrix](https://www.ibm.com/docs/en/cloud-paks/1.0?topic=compatibility-platform)

手順はこの辺を参考に。
参考: [Process Mining Server Installation and Basic Setup](https://www.ibm.com/docs/en/cloud-paks/1.0?topic=guide-process-mining-server-installation-basic-setup)

データ保持のためにMongoDBが使われるらしいので、MongoDBのセットアップ、IBM Process Miningのセットアップ、という順で実施します。前提としてJavaは必要です(こちらはインストール済みの想定)。
テスト用環境なので実運用を見据えた細かい設定とかはしていません。とりあえず動かせるところまで持っていくという方針です。

※マニュアルにはインストールや構成についての詳細情報が見当たらない。構成パラメーターのリファレンスとかも見当たらないのだが...

## MongoDBのセットアップ

### インストール

参考: [Database](https://www.ibm.com/docs/en/cloud-paks/1.0?topic=setup-database)
ふむ、これだけ...。

MongoDBの公式サイトを参考に。
参考: [Install MongoDB Community Edition on Red Hat or CentOS](https://www.mongodb.com/docs/v4.4/tutorial/install-mongodb-on-red-hat/)

※最新のMongoDB 5.0.8入れたら起動失敗したのでアンインストールして4.4入れなおすことにした。

`mongodb-org-4.4.repo` ファイル作成

```/etc/yum.repos.d/mongodb-org-4.4.repo
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
```

yumによるインストール実行

<details><summary><font color="blue">インストールログ</font></summary><div>

```
[root@Test13 /etc/yum.repos.d]# yum install mongodb-org
サブスクリプション管理リポジトリーを更新しています。
コンシューマー識別子を読み込めません

このシステムは、エンタイトルメントサーバーに登録されていません。subscription-manager で登録できます。

メタデータの期限切れの最終確認: 0:00:20 時間前の 2022年05月25日 17時49分53秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================================================
 パッケージ                                                アーキテクチャー                バージョン                               リポジトリー                             サイズ
===================================================================================================================================================================================
インストール:
 mongodb-org                                               x86_64                          4.4.14-1.el8                             mongodb-org-4.4                           11 k
依存関係のインストール:
 mongodb-database-tools                                    x86_64                          100.5.2-1                                mongodb-org-4.4                           47 M
 mongodb-org-database-tools-extra                          x86_64                          4.4.14-1.el8                             mongodb-org-4.4                           23 k
 mongodb-org-mongos                                        x86_64                          4.4.14-1.el8                             mongodb-org-4.4                           17 M
 mongodb-org-server                                        x86_64                          4.4.14-1.el8                             mongodb-org-4.4                           22 M
 mongodb-org-shell                                         x86_64                          4.4.14-1.el8                             mongodb-org-4.4                           14 M
 mongodb-org-tools                                         x86_64                          4.4.14-1.el8                             mongodb-org-4.4                           11 k

トランザクションの概要
===================================================================================================================================================================================
インストール  7 パッケージ

ダウンロードサイズの合計: 100 M
インストール後のサイズ: 318 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/7): mongodb-org-4.4.14-1.el8.x86_64.rpm                                                                                                          26 kB/s |  11 kB     00:00
(2/7): mongodb-org-database-tools-extra-4.4.14-1.el8.x86_64.rpm                                                                                     57 kB/s |  23 kB     00:00
(3/7): mongodb-org-mongos-4.4.14-1.el8.x86_64.rpm                                                                                                   11 MB/s |  17 MB     00:01
(4/7): mongodb-org-server-4.4.14-1.el8.x86_64.rpm                                                                                                   12 MB/s |  22 MB     00:01
(5/7): mongodb-org-tools-4.4.14-1.el8.x86_64.rpm                                                                                                    31 kB/s |  11 kB     00:00
(6/7): mongodb-org-shell-4.4.14-1.el8.x86_64.rpm                                                                                                    12 MB/s |  14 MB     00:01
(7/7): mongodb-database-tools-100.5.2.x86_64.rpm                                                                                                    13 MB/s |  47 MB     00:03
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                                28 MB/s | 100 MB     00:03
MongoDB Repository                                                                                                                                 1.1 kB/s | 1.6 kB     00:01
GPG 鍵 0x90CFB1F5 をインポート中:
 Userid     : "MongoDB 4.4 Release Signing Key <packaging@mongodb.com>"
 Fingerprint: 2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5
 From       : https://www.mongodb.org/static/pgp/server-4.4.asc
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                                                           1/1
  インストール中   : mongodb-org-shell-4.4.14-1.el8.x86_64                                                                                                                     1/7
  scriptletの実行中: mongodb-org-server-4.4.14-1.el8.x86_64                                                                                                                    2/7
  インストール中   : mongodb-org-server-4.4.14-1.el8.x86_64                                                                                                                    2/7
  scriptletの実行中: mongodb-org-server-4.4.14-1.el8.x86_64                                                                                                                    2/7
Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /usr/lib/systemd/system/mongod.service.

  インストール中   : mongodb-org-mongos-4.4.14-1.el8.x86_64                                                                                                                    3/7
  インストール中   : mongodb-org-database-tools-extra-4.4.14-1.el8.x86_64                                                                                                      4/7
  scriptletの実行中: mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   5/7
  インストール中   : mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   5/7
  scriptletの実行中: mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   5/7
  インストール中   : mongodb-org-tools-4.4.14-1.el8.x86_64                                                                                                                     6/7
  インストール中   : mongodb-org-4.4.14-1.el8.x86_64                                                                                                                           7/7
  scriptletの実行中: mongodb-org-4.4.14-1.el8.x86_64                                                                                                                           7/7
  検証             : mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   1/7
  検証             : mongodb-org-4.4.14-1.el8.x86_64                                                                                                                           2/7
  検証             : mongodb-org-database-tools-extra-4.4.14-1.el8.x86_64                                                                                                      3/7
  検証             : mongodb-org-mongos-4.4.14-1.el8.x86_64                                                                                                                    4/7
  検証             : mongodb-org-server-4.4.14-1.el8.x86_64                                                                                                                    5/7
  検証             : mongodb-org-shell-4.4.14-1.el8.x86_64                                                                                                                     6/7
  検証             : mongodb-org-tools-4.4.14-1.el8.x86_64                                                                                                                     7/7
インストール済みの製品が更新されています。

インストール済み:
  mongodb-database-tools-100.5.2-1.x86_64   mongodb-org-4.4.14-1.el8.x86_64         mongodb-org-database-tools-extra-4.4.14-1.el8.x86_64   mongodb-org-mongos-4.4.14-1.el8.x86_64
  mongodb-org-server-4.4.14-1.el8.x86_64    mongodb-org-shell-4.4.14-1.el8.x86_64   mongodb-org-tools-4.4.14-1.el8.x86_64

完了しました!
```

</div></details>

### 構成

<details><summary><font color="blue">デフォルトの構成ファイル</font></summary><div>

```/etc/mongod.conf
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# Where and how to store data.
storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:
```

</div></details>

デフォルトだとローカルからしか接続できないので一応外部からもアクセスできるようにバインドするIPを127.0.0.1⇒0.0.0.0に変更しておく(ローカルのProcess Miningからしか使わなければ変更は不要だが一応念のため)。ポートはデフォルトのまま。

```/etc/mongod.conf
...
# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0  
...
```

※セキュリティはデフォルトのまま(無効化したまま)。

### 起動/停止

systemctlで制御可能

```
[root@Test13 /etc]# systemctl start mongod.service

[root@Test13 ~]# systemctl status mongod.service
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-06-10 10:15:58 JST; 3h 2min ago
     Docs: https://docs.mongodb.org/manual
  Process: 1422 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 1478 (mongod)
   Memory: 278.1M
   CGroup: /system.slice/mongod.service
           mq1478 /usr/bin/mongod -f /etc/mongod.conf

 6月 10 10:15:28 Test13 systemd[1]: Starting MongoDB Database Server...
 6月 10 10:15:31 Test13 mongod[1422]: about to fork child process, waiting until server is ready for connections.
 6月 10 10:15:31 Test13 mongod[1422]: forked process: 1478
 6月 10 10:15:58 Test13 mongod[1422]: child process started successfully, parent exiting
 6月 10 10:15:58 Test13 systemd[1]: Started MongoDB Database Server.
```

### 動作確認

mongoDBまともに使ったこと無いので、以下を参考に触ってみる。(この辺の操作は基本的には不要)
参考: [The mongo Shell](https://www.mongodb.com/docs/v4.4/mongo/)

```
[root@Test13 /etc]# mongo
MongoDB shell version v4.4.14
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e07d1971-ec76-4130-a07c-5cbbf48789b7") }
MongoDB server version: 4.4.14
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
        https://community.mongodb.com
---
The server generated these startup warnings when booting:
        2022-05-25T17:55:26.175+09:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
        2022-05-25T17:55:26.175+09:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
---
---
        Enable MongoDB's free cloud-based monitoring service, which will then receive and display
        metrics about your deployment (disk utilization, CPU, operation statistics, etc).

        The monitoring data will be available on a MongoDB website with a unique URL accessible to you
        and anyone you share the URL with. MongoDB may use this information to make product
        improvements and to suggest MongoDB products and deployment options to you.

        To enable free monitoring, run the following command: db.enableFreeMonitoring()
        To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> db
test
> quit()
```

ダミーのDB、ユーザー、Collectionなど作ってみる。

```
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
> use pmdb;
switched to db pmdb
> db.createUser(
...   {
...     user:"user01",
...     pwd:"user01",
...     roles:[
...        {
...            "role" : "dbAdmin",
...             "db" : "pmdb"
...        }
...     ]
...   }
... );
Successfully added user: {
        "user" : "user01",
        "roles" : [
                {
                        "role" : "dbAdmin",
                        "db" : "pmdb"
                }
        ]
}
> show users
{
        "_id" : "pmdb.user01",
        "userId" : UUID("e9a25316-5aec-4379-88c0-37019eb4b887"),
        "user" : "user01",
        "db" : "pmdb",
        "roles" : [
                {
                        "role" : "dbAdmin",
                        "db" : "pmdb"
                }
        ],
        "mechanisms" : [
                "SCRAM-SHA-1",
                "SCRAM-SHA-256"
        ]
}


> show collections;
> db.createCollection('testCollection01');
{ "ok" : 1 }
> show collections;
testCollection01

> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
pmdb    0.000GB
```

作成したDB,ユーザーを指定してmongoコマンドで接続してみる。

```
[root@Test13 ~]# mongo --host localhost --port 27017 --username user01 --password user01 --authenticationDatabase pmdb
MongoDB shell version v4.4.14
connecting to: mongodb://localhost:27017/?authSource=pmdb&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("12508fdc-32f5-40ad-97cb-e58e3250309c") }
MongoDB server version: 4.4.14
---
The server generated these startup warnings when booting:
        2022-05-25T17:55:26.175+09:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
        2022-05-25T17:55:26.175+09:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
---
---
        Enable MongoDB's free cloud-based monitoring service, which will then receive and display
        metrics about your deployment (disk utilization, CPU, operation statistics, etc).

        The monitoring data will be available on a MongoDB website with a unique URL accessible to you
        and anyone you share the URL with. MongoDB may use this information to make product
        improvements and to suggest MongoDB products and deployment options to you.

        To enable free monitoring, run the following command: db.enableFreeMonitoring()
        To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
> quit()
```

使えてるっぽい。


## Process Miningのセットアップ

### インストール
/opt以下にtar.gzファイルを展開するだけ。

```
[root@Test13 /opt]# tar xvf ibmprocessmining-setup-1.12.0.4_4032d4311.tar.gz
./processmining/
./processmining/crypto-utils/
./processmining/crypto-utils/crypt-utils.sh
./processmining/crypto-utils/crypt-utils.bat
./processmining/crypto-utils/lib/
./processmining/crypto-utils/lib/commons-io-2.7.jar
./processmining/crypto-utils/lib/jackson-databind-2.12.6.jar
./processmining/crypto-utils/lib/crypto-utils-1.0.0.jar
./processmining/crypto-utils/lib/commons-codec-1.13.jar
./processmining/crypto-utils/lib/jackson-annotations-2.9.5.jar
./processmining/crypto-utils/lib/jackson-core-2.12.6.jar
./processmining/license/
...

```

※rootユーザーで起動する想定で、先のtar.gzファイル展開もrootユーザーで実施

### 構成

環境に合わせて/opt/processmining/bin/environment.conf を編集

```/opt/processmining/bin/environment.conf
RUNAS=root
JAVA_HOME=/usr/lib/jvm/ibm-semeru-open-8-jdk
PM_HOME=/opt/processmining
TMPDIR=/opt/processmining/repository/temp

BIND_HOST=0.0.0.0
HTTP_PORT=8080
HTTPS_PORT=9443

BIND_HOST_ENGINE=127.0.0.1
HTTP_PORT_ENGINE=8070
HTTPS_PORT_ENGINE=7443

HTTP_PORT_ENGINE_ANALYTICS=9070
HTTPS_PORT_ENGINE_ANALYTICS=9071

JVM_MAX_HEAP=2g
JVM_MAX_HEAP_ENGINE=8g

JVM_MAX_DIRECT_MEMORY=512m
JVM_MAX_DIRECT_MEMORY_ENGINE=1g

SEC_DEVICE=legacy
```

ここではRUNAS, JAVA_HOMEのみ変更。

/opt/processmining/etc/processmining.confを確認。
MongoDBへの接続構成を環境に合わせて変更する必要があるが、今回はデフォルト構成でMongoDBをセットアップしているので特に変更は無しでそのまま。

<details><summary><font color="blue">processmining.confファイル</font></summary><div>

```/opt/processmining/etc/processmining.conf
###########################################
# system config section
###########################################

filesystem.home: "/opt/processmining/repository/data/",

###########################################
# database
###########################################

persistence: {
  mongodb: {
    database: "processmining",
    host: "127.0.0.1",
    port: 27017,
    user: "processmining",
    password: "",

    ssl: {
      enabled: false,
      trustStore: "",
      trustStorePassword: "",
      keyStore: "",
      keyStorePassword: ""
    }
  },
  # valid only when redis_cache profile is active
  redisCache: {
    database: 0,
    host: "127.0.0.1",
    port: 6379,
    password: "",

    ssl: {
      enabled: false,
      peerVerification: false,
      trustStore: "",
      trustStorePassword: "",
      keyStore: "",
      keyStorePassword: ""
    }
  }
},

###########################################
# email SMTP or Sendgrid
###########################################

email: {
  from: "" #this is address for mail sender
  user: "functionalId@mycompany.com", # user for smtp authentication
  password: "",
  smtp: {
    starttls: {
      enable: true,
      required: true
    },
    auth: true,
    host: "smtp.mycompany.com",
    port: "465",
    socketFactory: {
      port: "465",
      fallback: false
    }
  },
  sendgrid : {
        apikey: ""
        #host: "" #if empty default value is https://api.sendgrid.com/v3/mail/send
  }
},

###########################################
# AWS KMS Encryption
###########################################

encryption: {
  aws: {
    enabled: false,
    region: "eu-west-1",
    accessKeyId: "",
    secretKey: "",
    cmkId: ""
  }
},

###########################################
# Caching
###########################################

caching: {
  ttl: {
    default: -1,  # no TTL
    shortTTL: 24  # 24 hours
  }
},

###########################################
# Authentication and SSO
###########################################

authentication: {
  mode: "basic",  # ldap | basic | saml

  limiting: {
    enabled: true,
    maxFailures: 3,
    timeFrame: 600000
  }

  ldap: {
    url: "ldap://host:389", #if ldaps is required, secure flag must be true
    type: "standard" # basic | query
    searchBase : "" # ou=quality,o=mycompany.com
    filter:"", # the attribute that reppresent the username, i.e. mail
    secure: false, #true if ldaps is required
    domain: "", # valid for Active Directory integration
    backupurl: "",# valid for Active Directory integration
    domainexclude: [],# valid for Active Directory integration
    adminpassword: "",
    testmode: false
  },
  bcrypt : true,
  maxInactiveIntervalInMinutes: 30,

        api: {
                disableRequestValidation: "false"
        },

        # hex-encoded JWT sign key (HS256)
         jwt: {
           secret: "0EC83CBA5CF1FE59A354E571BE539070AA9C7AB4E427112051CB2752ACD054CE"
         },

        # hex-encoded JWE key (A256-GCM)
        jwe: {
           secret: "30575D0353CF07AE2BB2D2449FFCED2DFD604FE1BB48213247292D737136BC86"
        }

},

sso: {
  redirect: {
        # This must be filled, for security reason, in production environment with the taskmining hostname. I.e. tm.mycompany.com
    allow: ""
  },
  saml: {
    idp.entity.id: "https://idp.myprovider.com",
    idp.metadata : "saml-idp-metadata.xml",
    sp.base.url: "https://server.my-company.com:443"
    sp.keyStore: "samlKeystore.jks",
    sp.keyStoreKey: "myInvenio",
    sp.keyStorePassword: "swouj4ug2u13",
    sp.keyStorePrivatePassword: "swouj4ug2u13",
    logout.url : "https://server.my-company.com/sso-logged-out",
    signatureAlgorithm: "SHA256",
    sp.hostname: "server.my-company.com"
  },
  policy : {
        autoActivate: false,  # if new sign-up accounts are activated without administrator review
        selfProvisioning : true # if new user are created into databese
  },
  provisioning : {
        attributes : {
                email : "EmailAddress",
                firstName : "FirstName", #http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
                lastName : "LastName",  #http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
        }
  }
},



###########################################
# Advanced
###########################################

phantomjs.path: "/usr/bin/phantomjs"


###########################################
# Misc
###########################################

# Hardware machine ID bound to the license code
machine.id: "",

# Set development "true" to:
# - max events: 2M to 6M
# - max file size: 250Mb to 350Mb
# - enabled form-based authenticator
# - change password and TOTP options
# - import server license UI ( https://<server>/license )
development: true,

# none | production | premise
distribution: "premise",

# enable access to settings like:
# - freeze process model
# - absolute/replayed frequency counters
# - changing miner implementation
restrictedFeatures: false,

profiles: [
  "local_fs",           # local_fs | grid_fs
  "sso_none",           # sso_none | sso_saml
  "local_integration",  # local_integration | jms_integration
  "default_auth",       # default_auth | full_auth
  "fs_assets",          # solr_assets | fs_assets | cmis_assets (see BPA reference)
  "background_gc",
  "smtp",                               # smtp | sendgrid
  #"redis_cache",               # uncomment this if your deploy need more instance of each backend

  # "background_cache", # enables background cache on analytics startup
  "angular_client",   # enabled angular port of web
  "ibm",

  "development",
],

myinvenio.apps: [
  "discovery", "bpa", "analytics", "user_mgmt"
],

# Used also for synchronization with PoEditor. For details see the ./langs.sh script in the nightly build.
myinvenio.languages: ["en", "it", "ja", "de", "fr", "es", "pt-BR","zh-CN","zh-TW"],

#myinvenio.org.languages.ja: [   "Cognitive", ],

solr: {
  url: "http://localhost:8983/solr",
  configset: "data_driven_schema_configs"
},

cmis: {
  url: "http://192.168.0.57:9080",
  user: "landscape",
  password: "landscape"
},

tracking: {
  google.analytics: false,
  google.analyticsKey: '',

  zopim: false,
  zopimKey: '',

  hubspot: false,
  hubspotKey: '',

  pingdom: false,
  pingdomKey: ''
},

deployment: {
        aes : true
}

###########################################
# engine config section
###########################################

engine: {

  defaults: {
    lockMechanism: "mongo",
    configurableProcessors: true,
    widgetRowThreshold: 150,
    widgetAiExplanationThreshold: 30,
    widgetAiCaseThreshold: 200,
    maxUploadFilesize: 31457280,
    maxEventsForDataExport : 2000000,
    maxPathComplexity: 1000000,
    backwardStrategy: true,
    attrClassify : "fast",
    attrLoadingLimit : 200000,
    customColumnLimit: {
      defaultLimit: 80,
      maximumLimit: 100
    },
    logAnalysis: {
      partitions: 2,
      processes: 2
    },
    processReplayParallelism: 4,
    runningCaseDetectionParallelism: 3,
    signup: {
      groupid: "20",       # override default ("0") customer-id
    },

    project: {
      backgroundCache: false,
      encryptSourceData: false,
      encryptEventLog: false,
      defaultBucketLimit: 2048
    },

    elastic: {
      url: "vpc-es-my-invenio-u5gkan6xjclmx3fmzqab47uvoy.eu-west-1.es.amazonaws.com",
      port: ["443"],
      scheme: "https",
      enable: false,
      index: "my-invenio-performance"
    },

    resourceForSimulation: {
      uniqueCalculation: true,
      # concurrencyCalculation: true,
      ceiling: false
    },

  },

  rmi: {
    process-discovery: "http://localhost:8070",
    analytics: "http://localhost:9070",
    bpa: "http://localhost:8070",
    predictive-analytics: "http://localhost:8070",
    dr: "http://localhost:8070",
        connectors: "http://localhost:8070"
  },

  urls: {
    wordpress: "",
    bpmneditor: "http://localhost:8080/bpa",
    analytics: "http://localhost:8080/analytics"
  },

},


###########################################
# application-specific config section
###########################################


pm-web: {
  ip.allow: {
    wordpress: [
      "127.0.0.1",
      "::1"
    ]
  },
  sso: {
    saml: {
      idp.metadata : "saml-idp-metadata.xml",
      idp.entity.id: "https://idp.my-company.com",
      sp.entity.id: "processmining.my-company.com",
      sp.base.url: ""
    }
  }
}

pm-bpa: {
  document.root: "",
  assets.folder: "assets",

  sso: {
    saml: {
      idp.entity.id: "",
      idp.metadata : "",
      sp.entity.id: "processmining.my-company.com.d",
      base.url: ""
    }
  }
}

pm-analytics: {
  sso: {
    saml: {
      idp.entity.id: "",
      idp.metadata : "",
      sp.entity.id: "processmining.my-company.com.a",
      sp.base.url: ""
    }
  },
  dashboard.maxWidget: 8,
        export : {
                enabled : false,
                destination : "fs", #fs |s3
                s3 : {
                        bucket : "test",
                        region: "eu-west-1",
                },
                fs : {
                        baseDir: "/opt/temp"
                }

        }
}

user-management: {
  sso: {
    saml: {
      idp.entity.id: "",
      idp.metadata : "",
      sp.entity.id: "brunelleschi.my-company.com.u",
      sp.base.url: ""
    }
  }
}

pm-help: {
  sso: {
    saml: {
      idp.entity.id: "",
      idp.metadata : "",
      sp.entity.id: "brunelleschi.my-company.com.h",
      sp.base.url: ""
    }
  }
}

###########################################
# AiMl platform
###########################################
export : {
        destination : "azure",
        azure : {
                containerName : "ml-platform-datalake",
                accountName:"",
                accountKey : ""

        }
}

aiml : {
        enabled : false,
        apiEndpoint : "https://bd371842-00b3-4c09-8f78-058629825c7e.mock.pstmn.io/post"
        sourceEnvName : "https://myserver.name.com"
}


###########################################
# Connectors platform
###########################################

connectors : {
        bai: {
                development: {
                        elasticSearchUsername : "",
                        elasticSearchPassword : "",
                        elasticSearchUrl : "http://mydevserver.name.com:9200"
           },
           test : {
                        elasticSearchUsername : "",
                        elasticSearchPassword : "",
                        elasticSearchUrl : "https://mytestserver.name.com:9200",
                        elasticSearchIndex : "process*",
                        bypassSSLValidation : true
           },
                production : {
                        elasticSearchUsername : "",
                        elasticSearchPassword : "",
                        elasticSearchUrl : "https://myserver.name.com:9200"
                },
                default : {
                        elasticSearchUsername : "",
                        elasticSearchPassword : "",
                        elasticSearchIndex : "process*",
                        elasticSearchUrl : "https://myserver.name.com:9200"
                }
        }
}
```

</div></details>

とりあえずテスト環境として動かしたいだけなので、そのまま直でアクセスする想定なのでここではNginxは構成しない。

### 起動

3つコマンドを打つ必要があるので、スクリプト作っておく。

```start.sh
#!/bin/bash

PM_HOME=/opt/processmining
${PM_HOME}/bin/pm-web.sh start
${PM_HOME}/bin/pm-engine.sh start
${PM_HOME}/bin/pm-analytics.sh start
```


```
[root@Test13 /opt/processmining/bin]# ./start.sh
Using tmp: /opt/processmining/repository/temp
Starting Jetty: 2022-06-10 13:19:56.632:INFO::main: Logging initialized @1802ms to org.eclipse.jetty.util.log.StdErrLog
2022-06-10 13:19:57.037:WARN:oejx.XmlConfiguration:main: Property 'jetty.secure.port' is deprecated, use 'jetty.httpConfig.securePort' instead
2022-06-10 13:19:57.363:INFO::main: Console stderr/stdout captured to /opt/processmining/jetty-web/logs/2022_06_10.jetty.log
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OK 2022年  6月 10日 金曜日 13:22:00 JST
Using tmp: /opt/processmining/repository/temp
JETTY_ARGS: jetty.host=127.0.0.1 jetty.port=8070 jetty.ssl.port=7443
Starting Jetty: 2022-06-10 13:22:03.383:INFO::main: Logging initialized @2053ms to org.eclipse.jetty.util.log.StdErrLog
2022-06-10 13:22:04.116:INFO::main: Console stderr/stdout captured to /opt/processmining/jetty-engine/logs/2022_06_10.jetty.log
. . . . . . . . . . . . . . . . . . . . . . . . . OK 2022年  6月 10日 金曜日 13:23:48 JST
Using tmp: /opt/processmining/repository/temp
JETTY_ARGS: jetty.host=127.0.0.1 jetty.port=9070 jetty.ssl.port=9071
Starting Jetty: 2022-06-10 13:23:49.744:INFO::main: Logging initialized @1440ms to org.eclipse.jetty.util.log.StdErrLog
2022-06-10 13:23:50.404:INFO::main: Console stderr/stdout captured to /opt/processmining/jetty-analytics/logs/2022_06_10.jetty.log
. . . . . . . . . OK 2022年  6月 10日 金曜日 13:24:29 JST
```

必要に応じてFirewallの構成を行い8080ポートでアクセスできるようにしておく。


### ブラウザからアクセス

httpで8080ポートにアクセスします。デフォルトで設定されているユーザーID/PW(maintenance.admin/pmAdmin$1)でSign inします。
参考: [Application administration](https://www.ibm.com/docs/en/cloud-paks/1.0?topic=setup-application-administration)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/6cca884f-1dd4-2fe5-5547-536fbef08328.png)

パスワード変更が促されるので、新しいパスワードを設定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/837923db-f60c-ddbd-c13d-5176c6100121.png)

新規パスワードを設定すると、Workspaceにログインできるようになる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132331/297bf9cf-8bda-ac10-0243-7557adc16d27.png)

これで基本的なProcess Miningの機能はブラウザから使えるようになったはず。

### 停止

停止用のスクリプトも作っておく。

```stop.sh
#!/bin/bash

PM_HOME=/opt/processmining
${PM_HOME}/bin/pm-web.sh stop
${PM_HOME}/bin/pm-engine.sh stop
${PM_HOME}/bin/pm-analytics.sh stop
```
























---------------------------------------------------------------

# おまけ

最新のMongoDB 5.0.8入れてみたら起動できなかったので結局4.4を入れなおした。一応5.0.8入れようとした時のログ残しておく。

<details><summary><font color="blue">MongoDB 5.0.8 失敗ログ</font></summary><div>

MongoDBの公式サイトを参考に。
参考: [Install MongoDB Community Edition on Red Hat or CentOS](https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-red-hat/)


`mongodb-org-5.0.repo` ファイル作成

```/etc/yum.repos.d/mongodb-org-5.0.repo
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
```

yumによるインストール実行

```
[root@Test13 /etc/yum.repos.d]# yum install mongodb-org
サブスクリプション管理リポジトリーを更新しています。
コンシューマー識別子を読み込めません

このシステムは、エンタイトルメントサーバーに登録されていません。subscription-manager で登録できます。

メタデータの期限切れの最終確認: 0:01:59 時間前の 2022年05月25日 17時11分21秒 に実施しました。
依存関係が解決しました。
===================================================================================================================================================================================
 パッケージ                                                 アーキテクチャー                 バージョン                            リポジトリー                              サイズ
===================================================================================================================================================================================
インストール:
 mongodb-org                                                x86_64                           5.0.8-1.el8                           mongodb-org-5.0                            11 k
依存関係のインストール:
 mongodb-database-tools                                     x86_64                           100.5.2-1                             mongodb-org-5.0                            47 M
 mongodb-mongosh                                            x86_64                           1.4.2-1.el8                           mongodb-org-5.0                            39 M
 mongodb-org-database                                       x86_64                           5.0.8-1.el8                           mongodb-org-5.0                            11 k
 mongodb-org-database-tools-extra                           x86_64                           5.0.8-1.el8                           mongodb-org-5.0                            16 k
 mongodb-org-mongos                                         x86_64                           5.0.8-1.el8                           mongodb-org-5.0                            20 M
 mongodb-org-server                                         x86_64                           5.0.8-1.el8                           mongodb-org-5.0                            28 M
 mongodb-org-shell                                          x86_64                           5.0.8-1.el8                           mongodb-org-5.0                            15 M
 mongodb-org-tools                                          x86_64                           5.0.8-1.el8                           mongodb-org-5.0                            11 k

トランザクションの概要
===================================================================================================================================================================================
インストール  9 パッケージ

ダウンロードサイズの合計: 149 M
インストール後のサイズ: 557 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/9): mongodb-org-5.0.8-1.el8.x86_64.rpm                                                                                                           38 kB/s |  11 kB     00:00
(2/9): mongodb-org-database-5.0.8-1.el8.x86_64.rpm                                                                                                  33 kB/s |  11 kB     00:00
(3/9): mongodb-org-database-tools-extra-5.0.8-1.el8.x86_64.rpm                                                                                      89 kB/s |  16 kB     00:00
(4/9): mongodb-org-mongos-5.0.8-1.el8.x86_64.rpm                                                                                                    10 MB/s |  20 MB     00:01
(5/9): mongodb-mongosh-1.4.2.el8.x86_64.rpm                                                                                                        9.9 MB/s |  39 MB     00:03
(6/9): mongodb-database-tools-100.5.2.x86_64.rpm                                                                                                    10 MB/s |  47 MB     00:04
(7/9): mongodb-org-tools-5.0.8-1.el8.x86_64.rpm                                                                                                     54 kB/s |  11 kB     00:00
(8/9): mongodb-org-shell-5.0.8-1.el8.x86_64.rpm                                                                                                    7.3 MB/s |  15 MB     00:02
(9/9): mongodb-org-server-5.0.8-1.el8.x86_64.rpm                                                                                                   8.1 MB/s |  28 MB     00:03
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                                24 MB/s | 149 MB     00:06
MongoDB Repository                                                                                                                                 1.1 kB/s | 1.6 kB     00:01
GPG 鍵 0xE2C63C11 をインポート中:
 Userid     : "MongoDB 5.0 Release Signing Key <packaging@mongodb.com>"
 Fingerprint: F567 9A22 2C64 7C87 527C 2F8C B00A 0BD1 E2C6 3C11
 From       : https://www.mongodb.org/static/pgp/server-5.0.asc
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                                                           1/1
  インストール中   : mongodb-org-database-tools-extra-5.0.8-1.el8.x86_64                                                                                                       1/9
  インストール中   : mongodb-org-shell-5.0.8-1.el8.x86_64                                                                                                                      2/9
  scriptletの実行中: mongodb-org-server-5.0.8-1.el8.x86_64                                                                                                                     3/9
  インストール中   : mongodb-org-server-5.0.8-1.el8.x86_64                                                                                                                     3/9
  scriptletの実行中: mongodb-org-server-5.0.8-1.el8.x86_64                                                                                                                     3/9
Created symlink /etc/systemd/system/multi-user.target.wants/mongod.service → /usr/lib/systemd/system/mongod.service.

  インストール中   : mongodb-org-mongos-5.0.8-1.el8.x86_64                                                                                                                     4/9
  インストール中   : mongodb-org-database-5.0.8-1.el8.x86_64                                                                                                                   5/9
  インストール中   : mongodb-mongosh-1.4.2-1.el8.x86_64                                                                                                                        6/9
  scriptletの実行中: mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   7/9
  インストール中   : mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   7/9
  scriptletの実行中: mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   7/9
  インストール中   : mongodb-org-tools-5.0.8-1.el8.x86_64                                                                                                                      8/9
  インストール中   : mongodb-org-5.0.8-1.el8.x86_64                                                                                                                            9/9
  scriptletの実行中: mongodb-org-5.0.8-1.el8.x86_64                                                                                                                            9/9
  検証             : mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   1/9
  検証             : mongodb-mongosh-1.4.2-1.el8.x86_64                                                                                                                        2/9
  検証             : mongodb-org-5.0.8-1.el8.x86_64                                                                                                                            3/9
  検証             : mongodb-org-database-5.0.8-1.el8.x86_64                                                                                                                   4/9
  検証             : mongodb-org-database-tools-extra-5.0.8-1.el8.x86_64                                                                                                       5/9
  検証             : mongodb-org-mongos-5.0.8-1.el8.x86_64                                                                                                                     6/9
  検証             : mongodb-org-server-5.0.8-1.el8.x86_64                                                                                                                     7/9
  検証             : mongodb-org-shell-5.0.8-1.el8.x86_64                                                                                                                      8/9
  検証             : mongodb-org-tools-5.0.8-1.el8.x86_64                                                                                                                      9/9
インストール済みの製品が更新されています。

インストール済み:
  mongodb-database-tools-100.5.2-1.x86_64               mongodb-mongosh-1.4.2-1.el8.x86_64      mongodb-org-5.0.8-1.el8.x86_64          mongodb-org-database-5.0.8-1.el8.x86_64
  mongodb-org-database-tools-extra-5.0.8-1.el8.x86_64   mongodb-org-mongos-5.0.8-1.el8.x86_64   mongodb-org-server-5.0.8-1.el8.x86_64   mongodb-org-shell-5.0.8-1.el8.x86_64
  mongodb-org-tools-5.0.8-1.el8.x86_64

完了しました!
```


デフォルトの構成ファイル


```/etc/mongod.conf
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# Where and how to store data.
storage:
  dbPath: /var/lib/mongo
  journal:
    enabled: true
#  engine:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
  timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.


#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:
```

デフォルトだとローカルからしか接続できないので一応外部からもアクセスできるようにバインドするIPを127.0.0.1⇒0.0.0.0に変更しておく。ポートはデフォルトのまま。

```/etc/mongod.conf
...
# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0  
...
```

MongoDB起動失敗

```
[root@Test13 /etc]# systemctl status mongod.service
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: https://docs.mongodb.org/manual

[root@Test13 /etc]# systemctl start mongod.service
Job for mongod.service failed because a fatal signal was delivered causing the control process to dump core.
See "systemctl status mongod.service" and "journalctl -xe" for details.

[root@Test13 /var/log/mongodb]# systemctl status mongod.service
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: failed (Result: core-dump) since Wed 2022-05-25 17:27:26 JST; 1min 35s ago
     Docs: https://docs.mongodb.org/manual
  Process: 47868 ExecStart=/usr/bin/mongod $OPTIONS (code=dumped, signal=ILL)
  Process: 47866 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 47863 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 47860 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)

 5月 25 17:27:26 Test13 systemd[1]: Starting MongoDB Database Server...
 5月 25 17:27:26 Test13 systemd-coredump[47870]: Process 47868 (mongod) of user 967 dumped core.
 5月 25 17:27:26 Test13 systemd[1]: mongod.service: Control process exited, code=dumped status=4
 5月 25 17:27:26 Test13 systemd[1]: mongod.service: Failed with result 'core-dump'.
 5月 25 17:27:26 Test13 systemd[1]: Failed to start MongoDB Database Server.
```

/var/log/mongodb/...以下にも何も出ず。
色々調べたが見通しが立たないのでアンインストール。

```
[root@Test13 ~]# yum remove mongodb-org
サブスクリプション管理リポジトリーを更新しています。
コンシューマー識別子を読み込めません

このシステムは、エンタイトルメントサーバーに登録されていません。subscription-manager で登録できます。

依存関係が解決しました。
===================================================================================================================================================================================
 パッケージ                                                アーキテクチャー                バージョン                              リポジトリー                              サイズ
===================================================================================================================================================================================
削除中:
 mongodb-org                                               x86_64                          5.0.8-1.el8                             @mongodb-org-5.0                            0
未使用の依存関係の削除:
 mongodb-database-tools                                    x86_64                          100.5.2-1                               @mongodb-org-5.0                          125 M
 mongodb-mongosh                                           x86_64                          1.4.2-1.el8                             @mongodb-org-5.0                          199 M
 mongodb-org-database                                      x86_64                          5.0.8-1.el8                             @mongodb-org-5.0                            0
 mongodb-org-database-tools-extra                          x86_64                          5.0.8-1.el8                             @mongodb-org-5.0                           15 k
 mongodb-org-mongos                                        x86_64                          5.0.8-1.el8                             @mongodb-org-5.0                           73 M
 mongodb-org-server                                        x86_64                          5.0.8-1.el8                             @mongodb-org-5.0                          105 M
 mongodb-org-shell                                         x86_64                          5.0.8-1.el8                             @mongodb-org-5.0                           56 M
 mongodb-org-tools                                         x86_64                          5.0.8-1.el8                             @mongodb-org-5.0                            0

トランザクションの概要
===================================================================================================================================================================================
削除  9 パッケージ

解放された容量: 557 M
これでよろしいですか? [y/N]: y
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                                                                           1/1
  scriptletの実行中: mongodb-org-5.0.8-1.el8.x86_64                                                                                                                            1/1
  削除             : mongodb-org-5.0.8-1.el8.x86_64                                                                                                                            1/9
  削除             : mongodb-org-database-5.0.8-1.el8.x86_64                                                                                                                   2/9
  削除             : mongodb-org-tools-5.0.8-1.el8.x86_64                                                                                                                      3/9
  削除             : mongodb-org-database-tools-extra-5.0.8-1.el8.x86_64                                                                                                       4/9
  削除             : mongodb-org-mongos-5.0.8-1.el8.x86_64                                                                                                                     5/9
  scriptletの実行中: mongodb-org-server-5.0.8-1.el8.x86_64                                                                                                                     6/9
Removed /etc/systemd/system/multi-user.target.wants/mongod.service.

  削除             : mongodb-org-server-5.0.8-1.el8.x86_64                                                                                                                     6/9
警告: /etc/mongod.conf は /etc/mongod.conf.rpmsave として保存されました。

  scriptletの実行中: mongodb-org-server-5.0.8-1.el8.x86_64                                                                                                                     6/9
  削除             : mongodb-org-shell-5.0.8-1.el8.x86_64                                                                                                                      7/9
  削除             : mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   8/9
  scriptletの実行中: mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   8/9
  削除             : mongodb-mongosh-1.4.2-1.el8.x86_64                                                                                                                        9/9
  scriptletの実行中: mongodb-mongosh-1.4.2-1.el8.x86_64                                                                                                                        9/9
  検証             : mongodb-database-tools-100.5.2-1.x86_64                                                                                                                   1/9
  検証             : mongodb-mongosh-1.4.2-1.el8.x86_64                                                                                                                        2/9
  検証             : mongodb-org-5.0.8-1.el8.x86_64                                                                                                                            3/9
  検証             : mongodb-org-database-5.0.8-1.el8.x86_64                                                                                                                   4/9
  検証             : mongodb-org-database-tools-extra-5.0.8-1.el8.x86_64                                                                                                       5/9
  検証             : mongodb-org-mongos-5.0.8-1.el8.x86_64                                                                                                                     6/9
  検証             : mongodb-org-server-5.0.8-1.el8.x86_64                                                                                                                     7/9
  検証             : mongodb-org-shell-5.0.8-1.el8.x86_64                                                                                                                      8/9
  検証             : mongodb-org-tools-5.0.8-1.el8.x86_64                                                                                                                      9/9
インストール済みの製品が更新されています。

削除しました:
  mongodb-database-tools-100.5.2-1.x86_64               mongodb-mongosh-1.4.2-1.el8.x86_64      mongodb-org-5.0.8-1.el8.x86_64          mongodb-org-database-5.0.8-1.el8.x86_64
  mongodb-org-database-tools-extra-5.0.8-1.el8.x86_64   mongodb-org-mongos-5.0.8-1.el8.x86_64   mongodb-org-server-5.0.8-1.el8.x86_64   mongodb-org-shell-5.0.8-1.el8.x86_64
  mongodb-org-tools-5.0.8-1.el8.x86_64

完了しました!
```

</div></details>