Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: kiosk entity (Staging) #1975

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

feat: kiosk entity (Staging) #1975

wants to merge 2 commits into from

Conversation

Kav91
Copy link
Member

@Kav91 Kav91 commented Mar 26, 2025

Intended for STAGING only at this point for testing.

As per internal discussions around point of sales systems cc/ @naxhh .

Initial definition for a kiosk.

Example payload structure:

         {
            "@timestamp": "2025-02-25T06:00:00.100Z",
            "Id": "blah",
            "MemoryUsage": 739346,
            "Name": "FileSync",
            "ProcessorTime": 2265,
            "Release": 2.4,
            "State": "Started",
            "Version": "30.1.0.12000",
            "country": "UK",
            "device.number": "30",
            "device.type": "CSO",
            "geo.location.lat": "50.000000",
            "geo.location.lon": "-0.100000",
            "host.ip": "11.222.333.44",
            "host.name": "something30",
            "hostname": "something30",
            "level": "INFO",
            "message": "Empty message (RMP)",
            "messageId": "blah",
            "newrelic.logPattern": "Empty message (RMP)",
            "newrelic.logs.batchIndex": 90,
            "newrelic.source": "api.logs",
            "sendtime": 1742885259,
            "source": "newposHeartbeat",
            "store.number": "01520",
            "store.utcOffset": 0,
            "timestamp": 1742885259109
          }

Checklist

  • I've read the guidelines and understand the acceptance criteria.
  • The value of the attribute marked as identifier will be unique and valid.
  • I've confirmed that my entity type wasn't already defined. If it is I'm providing an explanation above.

Copy link

@entityBot entityBot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

beep boop bop.

I have found some errors processing these changes:

* Error VALIDATING domainType: 'EXT-KIOSK' on Summary metrics for key ''memoryUsage': wrong golden metric reference. Couldn't find a golden metric definition with key 'MemoryUsage', please populate 'goldenMetric' with a valid reference to an existing golden metric.' - Exception: 'memoryUsage': wrong golden metric reference. Couldn't find a golden metric definition with key 'MemoryUsage', please populate 'goldenMetric' with a valid reference to an existing golden metric.

Copy link

@entityBot entityBot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

beep boop bop.

I have found some errors processing these changes:

* Error VALIDATING domainType: 'EXT-KIOSK' on Summary metrics for key ''memoryUsage': wrong golden metric reference. Couldn't find a golden metric definition with key 'MemoryUsage', please populate 'goldenMetric' with a valid reference to an existing golden metric.' - Exception: 'memoryUsage': wrong golden metric reference. Couldn't find a golden metric definition with key 'MemoryUsage', please populate 'goldenMetric' with a valid reference to an existing golden metric.

@Kav91
Copy link
Member Author

Kav91 commented Mar 26, 2025

Hey @naxhh not sure what this error is about the output doesn't provide any direction unfortunately. If I validate locally the output looks okay, there is only errors about other definitions.

docker-compose run validate-definitions        
WARN[0000] Found orphan containers ([entity-definitions-validate-definitions-run-644591012de7 entity-definitions-validate-definitions-run-9e573c7b82c8]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. 

> [email protected] check
> npm run validate-schemas && npm run validate-rules && npm run validate-relationship-synthesis-rules && npm run approve-job


> [email protected] validate-schemas
> npm run validate-definition && npm run validate-summary-metrics && npm run validate-golden-metrics && npm run validate-dashboard  && npm run validate-relationship-synthesis && npm run validate-folders && npm run validate-uninstrumented-definitions-exists


> [email protected] validate-definition
> ajv validate --errors=json -s schemas/entity-schema-v1.json -d '../entity-types/*/definition.yml' > /dev/null


> [email protected] validate-summary-metrics
> ajv validate --errors=json -s schemas/summary-metrics-schema-v1.json -d '../entity-types/*/summary_metrics.yml' > /dev/null


> [email protected] validate-golden-metrics
> ajv validate --errors=json -s schemas/golden-metrics-schema-v1.json -d '../entity-types/*/golden_metrics.yml' > /dev/null


> [email protected] validate-dashboard
> ajv validate --errors=json -s schemas/dashboard-schema-v1.json -d '../entity-types/*/*dashboard.json' > /dev/null


> [email protected] validate-relationship-synthesis
> ajv validate --errors=json -s schemas/relationship-synthesis-schema-v1.json -d '../relationships/synthesis/*.yml' > /dev/null

../relationships/synthesis/EXT-SERVICE-to-MEMCACHED.yml invalid
[
  {
    "instancePath": "/relationships/1/relationship/target/lookupGuid/fields/1/attribute",
    "schemaPath": "#/definitions/lookupGuidResolverField/properties/attribute/type",
    "keyword": "type",
    "params": {
      "type": "string"
    },
    "message": "must be string"
  }
]
../relationships/synthesis/EXT-SERVICE-to-REDIS.yml invalid
[
  {
    "instancePath": "/relationships/1/relationship/target/lookupGuid/fields/1/attribute",
    "schemaPath": "#/definitions/lookupGuidResolverField/properties/attribute/type",
    "keyword": "type",
    "params": {
      "type": "string"
    },
    "message": "must be string"
  }```

Copy link
Contributor

@naxhh naxhh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. Remember this is intended to be on staging for testing ony

# template: dashboard.json
configuration:
# enable only when things are confirmed so we can at least release the old entities whilst testing
# entityExpirationTime: EIGHT_DAYS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TTL is required when using synthesis so even if not provided it will default to 8 days.

"width": 4,
"height": 3
},
"linkedEntityGuids": null,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @Kav91 ! Can you remove this line please? Seems it is the cause of the sanitize-dashboards check failing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants