4. コンテンツにスキップ

4. 事前準備

4.1 Elasticsearchの導入

Kibanaを利用するためには事前にElasticsearchの導入された環境を用意する必要があります。

4.1.1 Elasticsearchをインストールした環境が存在する場合

  1. 本書「4.3 Pythonの導入」を参照して、Pythonの導入手順を実施してください。

4.1.2 Elasticsearchをインストールした環境が存在しない場合

  1. Senju Service Managerのインストールメディアから資材を入手し、「別紙Elasticsearh連携機能ガイド」を参考にElasticsearchを導入してください。

4.2 Elasticsearchモジュールの更新

Info

本手順は、すでにKibanaを利用している場合のみ実施してください。

4.2.1 現在インストールされている製品のバージョンを確認

現在インストールされているSenju Service Managerのバージョンを確認します。

エクスプローラーを起動して、以下のファイルの内容を確認してください。

ファイルパス
<SSM WEBフォルダ>¥CCFSPWEBVersion.txt
<SSM DBフォルダ>¥CCFSPDBVersion.txt
確認内容:
上記ファイルに以下のいずれかのバージョンが記載されていること。
※「X」はパッチのバージョンを示す1桁の数字です。
2024.0.X
2024.0.X.X

4.2.2 サービスの停止

  1. Logstashのサービスを停止します。

    • コマンド
      nssm stop Logstashサービス名
      
  2. Kibanaサービスを停止します。

    • コマンド
      nssm stop Kibanaサービス名
      

4.2.3 モジュールの更新

  1. 最新のSenju Service ManagerのインストールメディアからElasticsearch-definitionsフォルダのElasticsearch設定ファイルを取得し、Elasticsearchがインストールされたサーバーの任意のディレクトリに格納します。

    • ファイル名:sm_mappings.json
  2. 別紙「Elasticsearh連携機能ガイド」の「データクローラの設定」を実施してください。

  3. 最新のSenju Service Manager のインストールメディアからlogstashフォルダを取得し、インストール時に配置した場所に対して上書きをします。

4.2.4 データを再収集する

  1. 別紙「Elasticsearh連携機能ガイド」の「1.10.1データを再収集する」を実施してください。

4.2.5 サービスの開始

  1. Kibanaサービスを起動します。

    • コマンド
      nssm start Kibanaサービス名
      

4.2.6 モジュール更新後の動作確認

  1. Senju Service Manager にログインします。

  2. 全文検索機能が利用できることを確認します。

    操作説明

    全文検索機能の利用方法については、別紙「Elasticsearch 連携機能ガイド」の「11.1 全文検索」を参照してください。

4.3 Pythonの導入

logstashがSenju Service Manager のデータベースから取得する項目の一部は、コード値で保存されています。

項目のコード値に紐づくコード名称をKibanaで利用するために、コード変換スクリプトをスケジューラで定期実行する必要があります。 コード変換スクリプトの実行に必要なソフトウェアであるPythonをインストールするための手順について説明します。

4.3.1 対象バージョン

コード変換スクリプトではWindowsプラットフォームの64ビットPythonを使用します。

ここでは、Python3.11.3を例として導入手順を説明します。

仕様補足

サポート対象となるPythonのバージョンについては「別紙リリースノート」 を参照してください。

仕様補足

例として手順を説明するバージョンは開発時点のバージョンになります。

インストール時には、セキュリティ上の観点を考慮してその時点での最適なバージョンを導入してください。

4.3.2 Pythonのインストール

  1. インストーラーを入手し、インストールするサーバーの任意のフォルダに格納します。

    • ダウンロード先:https://www.python.org/downloads/windows/
    • ファイル名: python-3.11.3-amd64.exe
  2. インストールするサーバーに管理者権限のアカウントでログインします。

  3. インストーラーを起動します。

    「Install Python 3.11.3(64-bit)」画面で「Add Python x to PATH」にチェックを入れ、

    「Install Now」をクリックします。

  4. インストールが完了すると「Setup was successful」画面が表示されます。

    「Close」ボタンをクリックします。

以上でPythonのインストールは終了です。

4.3.3 環境変数の設定

Pythonで作成されたコード変換スクリプトを動作させるために、以下のシステム環境変数を設定する必要があります。

環境変数名 値
Path [Pythonをインストールしたフォルダ]
[Pythonをインストールしたフォルダ]\Scripts
PYTHONHOME [Pythonをインストールしたフォルダ]
環境変数名 値の例
Path C:\Users\Administrator\AppData\Local\Programs\Python\Python311
C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Scripts
PYTHONHOME C:\Users\Administrator\AppData\Local\Programs\Python\Python311

下記手順に従って環境変数の設定を行います。

  1. コントロールパネルを起動します。

    [スタート]を右クリック→[コントロールパネル]を選択します。

  2. [コントロールパネル]の中から[システムとセキュリティ]をクリックします。

  3. [システムとセキュリティ]の中から[システム]をクリックします。

  4. [システム]の左側メニューから[システムの詳細設定]をクリックします。

  5. 「システムのプロパティ」画面が表示されるので、「環境変数」をクリックします。

  6. 「環境変数」画面の下部にある「システム環境変数」から、「新規」ボタンをクリックします。

  7. 「新しいシステム変数」画面にて、「変数名」に[PYTHONHOME]、「変数値」に[Pythonをインストールしたフォルダ]を入力します。

    「OK」ボタンをクリックし、編集画面を閉じます。

以上で環境変数の設定は終了です。

4.3.4 仮想環境の作成

  1. ドライブC配下の任意の場所に仮想環境用のフォルダを作成します。(フォルダ名は任意です。)

  2. コマンドプロンプトを新規に起動し、下記のコマンドを実行します。

    • コマンド
      cd C:\[仮想環境用のフォルダ名]
      py -m venv .env
      .env\Scripts\activate
      
  3. コマンドプロンプトの画面が下図のように表示されることをご確認ください。

以上で仮想環境の作成は終了です。

4.3.5 Pythonパッケージのインストール

コード変換スクリプトは以下のPythonパッケージの機能を利用しています。

No Pythonパッケージ名 バージョン ファイル名
1 certifi 2022.12.7 certifi-2022.12.7-py3-none-any.whl
2 chardet 3.0.4 chardet-3.0.4-py2.py3-none-any.whl
3 idna 2.8 idna-2.8-py2.py3-none-any.whl
4 psycopg2 2.9.6 psycopg2-2.9.6-cp311-cp311-win_amd64.whl
5 requests 2.22.0 requests-2.22.0-py2.py3-none-any.whl
6 urllib3 1.25.11 urllib3-1.25.11-py2.py3-none-any.whl

仕様補足

例として手順を説明するバージョンは開発時点のバージョンになります。

インストール時には、セキュリティ上の観点を考慮してその時点での最適なバージョンを導入してください。

  1. Pythonパッケージを入手し、インストールするサーバーのC:\TEMP\modulesに格納します。

    No Pythonパッケージ名 ダウンロード先 注意
    1 certifi https://pypi.org/project/certifi/#files
    2 chardet https://pypi.org/project/chardet/#files
    3 idna https://pypi.org/project/idna/#files
    4 psycopg2 https://pypi.org/project/psycopg2/#files ※
    5 requests https://pypi.org/project/requests/#files
    6 urllib3 https://pypi.org/project/urllib3/#files

    補足説明

    ※…ダウンロードするファイルの選択肢が複数存在します。
    以下を参考にファイル名に含まれる文字列からファイルを選択してください。
    ・cp[Pythonのバージョン]
    例)cp37…Python3.7用/cp38…Python3.8用/cp39…Python3.9/cp311…Python3.11 用
    ・win_amd64:Windows(64-bit)用

  2. Pythonパッケージのファイル名一覧をテキストファイルに記載し、C:\TEMP\modulesに保存します。

    • ファイル名: requirements.txt

    requirements.txtの記載内容

    certifi==2022.12.7 
    chardet==3.0.4     
    idna==2.8           
    psycopg2==2.9.6    
    requests==2.22.0   
    urllib3==1.25.11 
    
  3. コマンドプロンプトを新規に起動し、下記のコマンドを実行します。

    • コマンド
      cd C:\[仮想環境用のフォルダ名]
      .env\Scripts\activate
      
  4. 仮想環境上で以下のコマンドを実行し、Pythonパッケージのインストールを行います。

    • コマンド
      cd C:\TEMP\modules
      pip install –-no-index --find-links C:\TEMP\modules –r requirements.txt
      

  5. 仮想環境上で以下のコマンドを実行し、Pythonパッケージがインストールされたことを確認します

    • コマンド
      pip show <Pythonパッケージ名>
      

以上でPythonパッケージのインストールは終了です。

4.4 コード変換スクリプトの導入

Senju Service Managerで登録・更新を行ったコード項目の名称をKibanaで表示させるために、

コード変換スクリプトの設定を行います。

4.4.1 変換の対象となる項目

コード変換の対象となる項目は「9.1 項目対応表」を参照してください。

4.4.2 コード変換スクリプトの設定

  1. コード変換スクリプトが格納されたフォルダを入手し、「1.4.2-4 仮想環境の作成」で作成した.envフォルダ直下に配置します。

    • フォルダ名:code_conversion
  2. code_conversionフォルダ内のコード変換スクリプト設定ファイルをテキストエディタで編集します。

    • ファイル名:settings.json

    設定項目は以下の通りです。

    項目名 設定内容
    db_type Senju Service Managerのデータベースの種類を設定します。ここは”2”の固定値となります。
    db_hostname SSM DBサーバーホスト名を設定します。
    db_port SSM DBのポート番号を設定します。
    db_name Senju Service Managerのデータベース名を設定します。
    db_user DBユーザー名を設定します。
    db_password DBユーザーパスワードを設定します。
    elastic_http_type Elasticsearchサーバーのプロトコルを設定します。
    HTTPの場合は“1”、HTTPSの場合は“2”を設定します。
    elastic_hostname Elasticsearchサーバーのホスト名を設定します。
    elastic_port Elasticsearchの通信を行う際に使用するポート番号を設定します。
    elastic_user_name Elasticsearchのユーザー認証で使用するアカウントを設定します。
    elastic_password Elasticsearchのユーザー認証で使用するパスワードを設定します。
    default_language Senju Service Managerの初期データ言語を設定します。
    日本語の場合は”1”、英語の場合は”2”、中国語の場合は”3”、言語4の場合は”4”、言語5の場合は”5”を設定します。

    記載例

    {
        "db_type": "2",
        "db_hostname": "ssmdbhost",
        "db_port": "5432",
        "db_name": "ssmdb",
        "db_user": "ssmuser",
        "db_password": "ssmpwd",
        "elastic_http_type": "1",
        "elastic_hostname: "elastichost",
        "elastic_port": "9200",
        "elastic_username": "elastic",
        "elastic_password": "elastic",
        "default_language": "1"
    }
    

    仕様補足

    各設定値は全て「””」(ダブルクォーテーション)で囲む必要があります。

    仕様補足

    Elasticsearchのユーザー認証の設定については、「5.2 ユーザー認証の設定」を参照してください。

4.4.3 使用方法

code_conversionフォルダ内のconversion.batをタスクスケジューラ等で定期的に実行してください。

仕様補足

code_conversion.batは引数なしで実行します。

制限事項

コード変換スクリプトで変換可能なマスタデータの件数には上限があります。
画面とシステムを合算した状態でご利用いただける件数の目安は以下になります。

・ステータス:1000件
・コンボテキスト:1200件
・上記以外の項目:1300件

※上記の件数には初期登録されたデータは含まれません。(例:ステータス>新規など)
※分類については大分類>中分類>小分類などの分類種別ごとの総件数になります。
※使用している画面数や項目の名称の文字数によって上記の値を超えて利用可能な場合があります。

上限を超えた場合、その項目は正常に変換されません。
登録件数または名称の文字数を減らしてください。
実行結果の詳細は「4.4.4 実行結果」をご確認ください。

4.4.4 実行結果

conversion.batは、処理結果により以下の終了コードを出力します。

終了コード 説明 状況
0 正常終了 コード変換スクリプトが全てのコードを正常に変換した場合。
1 警告終了 コード変換スクリプトで一部のコード変換に失敗した場合。
2 異常終了 コード変換スクリプトが異常終了した場合。

コード変換スクリプトの実行ログは以下に出力されます。

[Pythonの仮想環境フォルダ]\.env\code_conversion\log\systemlog.log

仕様補足

警告終了の場合、実行ログ内で以下のように出力されます。

WARNING <実行日時> [xxxx.py] conversion_warning_end

また、変換に失敗した項目ついては以下のようにログに出力されます。

INFO <実行日時> [xxxx.py] conversion_started 
INFO <実行日時> [xxxx.py] xxxx_xxxx_text:put
DEBUG <実行日時> [urllib3.connectionpool] Starting new HTTP connection (1): <Elasticsearch ホスト名>: <Elasticsearch ポート番号> 
DEBUG <実行日時> [urllib3.connectionpool] http://<Elasticsearch ホスト名>: <Elasticsearch ポート番号> "PUT /ssm/_mapping?pretty HTTP/1.1" 400 <適当な値> 
WARNING  <実行日時> [xxxx.py] xxxx_xxxx__text:failed