Sunday, July 19, 2020

Migrating Custom Search Definition and Configuration

In the following DIY blog series, I described how we can use the framework provided in PeopleTools 8.58 to configure our own custom visualizations and dashboards in Kibana and use them in PeopleSoft applications via the 'Kibana Visualizer'.

Refer: DIY - Kibana Dashboards with Application Data

Someone ask a very valid question:
How do we migrate these configurations from one environment (source) to another (target)?

This post will detail the steps for migrating the Search Definition and associated configuration.

Migration

We can migrate everything related to the Search Definition using an App Designer project. Simply insert the Search Definition and make sure the the 'Related Definitions' are selected as shown below.



Save the 'Project' and migrate to target environment.

Note: If we used any Application Package PeopleCode to configure the Search Definition (Security Configuration) - Document Filter App Class, then we must also include the App Package in the project.

Post Migration Steps

Once we migrate the configuration, we must complete the following administrative steps in the target environment.

1. Deploy Search Definition
2. Schedule Search Index
3. Configure Search Context (optional)
4. Configure Search Group Security

Related Posts

Migrating Custom Kibana Visualizations/Dashboards

5 comments:

  1. Hi Sasank, thanks for the write-up. After the index is created in ES, do we need to recreate index pattern and visualizations in the new Kibana instance?

    ReplyDelete
    Replies
    1. Hi Yogesh - You can use Data Migration Workbench and the delivered Application Datasets to migrate the Kibana configuration. Once that is completed, all you have to do is deploy the Dashboards and this will take care of creating all the index patterns and visualizations.

      This follow up post has the details:
      https://pe0ples0ft.blogspot.com/2020/07/858-kibana-5b.html

      Delete
    2. Hi Sasank, Thank for the response.
      I followed all the steps as per the blog but I am seeing an error message 'Could not locate dashboard'.
      However as you mentioned, when a index pattern is created it appends the database name. In my case, for eg: source DB name is A and and target DB name is B. Then in this, should I expect index pattern with DB name B created post migration? I neither could see index pattern with DB name A nor with DB name B in Kibana instance of target environment.

      Delete
    3. The index pattern should not have the DB name in it. If so, you will not be able to use them against other databases. In the examples demonstrated:
      PeopleSoft Search Definition: SV_IB_ASYNC_MSG
      Elasticsearch Search Index: SV_IB_ASYNC_MSG_HCM92034
      Note: The index has the DB name appended.

      Kibana Index Pattern: sv_ib_async_msg*
      Note: The * (wildcard) allows for pattern matching against all databases.

      Delete
  2. Hi Sasank, Thanks for the response.
    I am now able to see index pattern and all the visualizations in the target env post doing deploy kibana dashboard step. Issue I had was with talking between Kibana and PeopleSoft servers. Kibana was not able to talk back to Peoplesoft as external ips to Peoplesoft were blacklisted.
    Also, thank you for the above explanation.

    ReplyDelete