UCMDB Enrichment Rule Question

I'm trying to update a CI with information from a Configuration file. I've got the file discovered, and the DocumentContent Attribute shows the document. I was able to write the regular expression to parse the file into the parts I want. 


My problem is what I believe to be a data type issue. I want to parse out part of the string and place the value into a Custom Field in the CI of type "string". I can do that, but when I look at the CI, the field is populated with Hex data. 


I'm wondering if the issue is that ConfigurationDocument is in bytes, and it won't convert the string. I can't seem to figure out a way to convert it?? Can this be done?



  • You most probably right regarding the data type failure here.

    To get precise answer I'd suggets to review cmdb.enrichment.log and probably error.log for relevant exception message.

  • This is from the cmdb.enrichment log:


    2015-01-22 10:50:14,026 [qtp1788469293-1350] INFO appender.addEnrichmentDefinition(99) - LinuxServerTest -- add enrichment definition
    2015-01-22 10:52:21,376 [qtp1788469293-1353] INFO appender.updateEnrichmentDefinition(121) - LinuxServerTest -- update enrichment definition
    2015-01-22 10:52:21,567 [Enrichment Calculator Task-145] INFO appender.calculateEnrichment(126) - LinuxServerTest -- Trigger the calculate enrichment 3
    2015-01-22 10:52:21,568 [Enrichment Calculator Task-145] INFO appender.calculateEnrichment(141) - LinuxServerTest -- Going to retreive TQL result
    2015-01-22 10:52:21,595 [Enrichment Calculator Task-145] INFO appender.calculateEnrichment(155) - LinuxServerTest -- Obtained TQL result: Nodes result
    Node -10: 1 object(s)
    Node -11: 1 object(s)
    Links result
    Link -12: 1 link(s)

    2015-01-22 10:52:21,595 [Enrichment Calculator Task-145] INFO appender.calculateEnrichment(204) - LinuxServerTest -- Calculation is required
    2015-01-22 10:52:21,618 [Enrichment Calculator Task-145] INFO appender.calculateEnrichment(211) - LinuxServerTest -- Start calculate enrichment related to pattern: LinuxServerTest with version PatternVersion:2@ResultVersion:1
    2015-01-22 10:52:21,627 [Enrichment Calculator Task-145] INFO appender.fillBulk(50) - LinuxServerTest -- enrichment definition update 1 object/s
    2015-01-22 10:52:21,627 [Enrichment Calculator Task-145] INFO appender.updateObjectsAndLinks2Model(790) - Enrichment LinuxServerTest: Sending to Data-In bulk #1
    2015-01-22 10:52:21,715 [Enrichment Calculator Task-145] INFO appender.calculateEnrichment(237) - LinuxServerTest -- Finished calculate enrichment related to pattern: LinuxServerTest


    It's putting a value in the field, but it's just not the "right" value. Is there a way to convert it??



  • Reconciliation.audit.log is showing that operation was successful.

    What attribute of UNIX Ci was updated?


  • Correct. COX_Location was updated, but with the value of "[B@39404cbb)" which should have been a readable, english value.



  • What data type the source and target attributes are?

  • The flow is this:

    1) Discovery Job runs to find ConfigurationDocument CI

    2) For the output of the file (Attribute of DocumentContent, Type of Bytes) I want to parse the filename into 5 variables of type String.


    So can I not do that? It seems to want to write the attribute in extended characters.


  • My suggestion is following. To eliminate data transformation phase, please create new attribute under Configuration Type CI with the same data type to what you runnig Regex on. Populate it on the same CI. Will this works?

  • So you're suggesting I'd have to update the CI Attrubutes manually, using modified Discovery scripts in order to be able to store the discovered values into the correct fields? I'm also researching how to update the patterns as well. :)



  • No, i suggesting to move the data from/to attributes of the same type (string, decimal etc).

  • Maybe I'm still missing something.


    I'm running a OOB Pattern of File Monitor By Shell to discover:

    CI Type: ConfigurationDocument

    Attribute: DocumentContent

    Data Type: Bytes

    My Enrichment Rule tries to send the result of a Regular Expression into a Data type String, and it doesn't present correctly. I can't use the Data Type of Bytes in the Enrichment Rule, or I would try that too.


    How can I copy the value that's discovered as type Bytes into a value of type String? That would, in theory, work, but I'm not sure how to do that.


  • I understand the problem. I'd suggest opening support case for it.

    There is no known problems like this one. I guess, R&D could clarify from the code perspective.


  • Hi Stephen,

    I want to do similar configuration and facing the same issue which you reported long back.

    I was wondering did RnD able to help you on this? Can you let me know how have you resolved this issue? What RegEx did you used?

Reply Children
No Data