Skip to content

[App Search][Polish] API Logs empty state#102998

Merged
cee-chen merged 2 commits intoelastic:masterfrom
cee-chen:api-logs-empty-state
Jun 22, 2021
Merged

[App Search][Polish] API Logs empty state#102998
cee-chen merged 2 commits intoelastic:masterfrom
cee-chen:api-logs-empty-state

Conversation

@cee-chen
Copy link
Contributor

@cee-chen cee-chen commented Jun 22, 2021

Summary

I realized right as I mashed merge on #102820 that the Engine Overview was now missing the empty state in the API logs table 🤪

I also realized however that the empty state copy didn't make a whole ton of that sense in that view, so I conferred with Davey and we brainstormed some new copy!

Before

After

Checklist

cee-chen added 2 commits June 22, 2021 12:24
- Primarily for Engine Overview use - totally forgot about this 🤦
- after discussing w/ Davey
@cee-chen cee-chen added release_note:skip Skip the PR/issue when compiling release notes v7.14.0 auto-backport Deprecated - use backport:version if exact versions are needed labels Jun 22, 2021
@cee-chen cee-chen requested review from a team and daveyholler June 22, 2021 19:35
@cee-chen cee-chen enabled auto-merge (squash) June 22, 2021 19:44
@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / general / X-Pack API Integration Tests.x-pack/test/api_integration/apis/security_solution/overview_network·ts.apis SecuritySolution Endpoints Overview Network With packetbeat Make sure that we get OverviewNetwork data

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has not failed recently on tracked branches

[00:00:00]       │
[00:00:00]         └-: apis
[00:00:00]           └-> "before all" hook in "apis"
[00:07:03]           └-: SecuritySolution Endpoints
[00:07:03]             └-> "before all" hook in "SecuritySolution Endpoints"
[00:07:38]             └-: Overview Network
[00:07:38]               └-> "before all" hook in "Overview Network"
[00:07:40]               └-: With packetbeat
[00:07:40]                 └-> "before all" hook for "Make sure that we get OverviewNetwork data"
[00:07:40]                 └-> "before all" hook for "Make sure that we get OverviewNetwork data"
[00:07:40]                   │ info [x-pack/test/functional/es_archives/packetbeat/overview] Loading "mappings.json"
[00:07:40]                   │ info [x-pack/test/functional/es_archives/packetbeat/overview] Loading "data.json.gz"
[00:07:40]                   │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-8.0.0-2019.02.19-000001] creating index, cause [api], templates [], shards [1]/[1]
[00:07:40]                   │ info [x-pack/test/functional/es_archives/packetbeat/overview] Created index "packetbeat-8.0.0-2019.02.19-000001"
[00:07:40]                   │ debg [x-pack/test/functional/es_archives/packetbeat/overview] "packetbeat-8.0.0-2019.02.19-000001" settings {"index":{"lifecycle":{"name":"packetbeat-8.0.0","rollover_alias":"packetbeat-8.0.0"},"mapping":{"total_fields":{"limit":"10000"}},"number_of_replicas":"1","number_of_shards":"1","query":{"default_field":["tags","message","agent.version","agent.name","agent.type","agent.id","agent.ephemeral_id","client.address","client.mac","client.domain","client.geo.continent_name","client.geo.country_name","client.geo.region_name","client.geo.city_name","client.geo.country_iso_code","client.geo.region_iso_code","client.geo.name","cloud.provider","cloud.availability_zone","cloud.region","cloud.instance.id","cloud.instance.name","cloud.machine.type","cloud.account.id","container.runtime","container.id","container.image.name","container.image.tag","container.name","destination.address","destination.mac","destination.domain","destination.geo.continent_name","destination.geo.country_name","destination.geo.region_name","destination.geo.city_name","destination.geo.country_iso_code","destination.geo.region_iso_code","destination.geo.name","ecs.version","error.id","error.message","error.code","event.id","event.kind","event.category","event.action","event.outcome","event.type","event.module","event.dataset","event.hash","event.timezone","file.path","file.target_path","file.extension","file.type","file.device","file.inode","file.uid","file.owner","file.gid","file.group","file.mode","group.id","group.name","host.hostname","host.name","host.id","host.mac","host.type","host.architecture","host.os.platform","host.os.name","host.os.full","host.os.family","host.os.version","host.os.kernel","host.geo.continent_name","host.geo.country_name","host.geo.region_name","host.geo.city_name","host.geo.country_iso_code","host.geo.region_iso_code","host.geo.name","http.request.method","http.request.body.content","http.request.referrer","http.response.body.content","http.version","log.level","network.name","network.type","network.iana_number","network.transport","network.application","network.protocol","network.direction","network.community_id","observer.mac","observer.hostname","observer.vendor","observer.version","observer.serial_number","observer.type","observer.os.platform","observer.os.name","observer.os.full","observer.os.family","observer.os.version","observer.os.kernel","observer.geo.continent_name","observer.geo.country_name","observer.geo.region_name","observer.geo.city_name","observer.geo.country_iso_code","observer.geo.region_iso_code","observer.geo.name","organization.name","organization.id","os.platform","os.name","os.full","os.family","os.version","os.kernel","process.name","process.args","process.executable","process.title","process.working_directory","server.address","server.mac","server.domain","server.geo.continent_name","server.geo.country_name","server.geo.region_name","server.geo.city_name","server.geo.country_iso_code","server.geo.region_iso_code","server.geo.name","service.id","service.name","service.type","service.state","service.version","service.ephemeral_id","source.address","source.mac","source.domain","source.geo.continent_name","source.geo.country_name","source.geo.region_name","source.geo.city_name","source.geo.country_iso_code","source.geo.region_iso_code","source.geo.name","url.original","url.full","url.scheme","url.domain","url.path","url.query","url.fragment","url.username","url.password","user.id","user.name","user.full_name","user.email","user.hash","user.group.id","user.group.name","user_agent.original","user_agent.name","user_agent.version","user_agent.device.name","user_agent.os.platform","user_agent.os.name","user_agent.os.full","user_agent.os.family","user_agent.os.version","user_agent.os.kernel","agent.hostname","error.type","cloud.project.id","kubernetes.pod.name","kubernetes.pod.uid","kubernetes.namespace","kubernetes.node.name","kubernetes.container.name","kubernetes.container.image","type","server.process.name","server.process.args","server.process.executable","server.process.working_directory","server.process.start","client.process.name","client.process.args","client.process.executable","client.process.working_directory","client.process.start","flow.id","status","method","resource","path","query","params","request","response","amqp.reply-text","amqp.exchange","amqp.exchange-type","amqp.consumer-tag","amqp.routing-key","amqp.queue","amqp.content-type","amqp.content-encoding","amqp.delivery-mode","amqp.correlation-id","amqp.reply-to","amqp.expiration","amqp.message-id","amqp.timestamp","amqp.type","amqp.user-id","amqp.app-id","cassandra.request.headers.flags","cassandra.request.headers.stream","cassandra.request.headers.op","cassandra.request.query","cassandra.response.headers.flags","cassandra.response.headers.stream","cassandra.response.headers.op","cassandra.response.result.type","cassandra.response.result.rows.meta.keyspace","cassandra.response.result.rows.meta.table","cassandra.response.result.rows.meta.flags","cassandra.response.result.rows.meta.paging_state","cassandra.response.result.keyspace","cassandra.response.result.schema_change.change","cassandra.response.result.schema_change.keyspace","cassandra.response.result.schema_change.table","cassandra.response.result.schema_change.object","cassandra.response.result.schema_change.target","cassandra.response.result.schema_change.name","cassandra.response.result.schema_change.args","cassandra.response.result.prepared.prepared_id","cassandra.response.result.prepared.req_meta.keyspace","cassandra.response.result.prepared.req_meta.table","cassandra.response.result.prepared.req_meta.flags","cassandra.response.result.prepared.req_meta.paging_state","cassandra.response.result.prepared.resp_meta.keyspace","cassandra.response.result.prepared.resp_meta.table","cassandra.response.result.prepared.resp_meta.flags","cassandra.response.result.prepared.resp_meta.paging_state","cassandra.response.authentication.class","cassandra.response.warnings","cassandra.response.event.type","cassandra.response.event.change","cassandra.response.event.host","cassandra.response.event.schema_change.change","cassandra.response.event.schema_change.keyspace","cassandra.response.event.schema_change.table","cassandra.response.event.schema_change.object","cassandra.response.event.schema_change.target","cassandra.response.event.schema_change.name","cassandra.response.event.schema_change.args","cassandra.response.error.msg","cassandra.response.error.type","cassandra.response.error.details.read_consistency","cassandra.response.error.details.write_type","cassandra.response.error.details.keyspace","cassandra.response.error.details.table","cassandra.response.error.details.stmt_id","cassandra.response.error.details.num_failures","cassandra.response.error.details.function","cassandra.response.error.details.arg_types","dhcpv4.transaction_id","dhcpv4.flags","dhcpv4.client_mac","dhcpv4.server_name","dhcpv4.op_code","dhcpv4.hardware_type","dhcpv4.option.message_type","dhcpv4.option.parameter_request_list","dhcpv4.option.class_identifier","dhcpv4.option.domain_name","dhcpv4.option.hostname","dhcpv4.option.message","dhcpv4.option.boot_file_name","dns.op_code","dns.response_code","dns.question.name","dns.question.type","dns.question.class","dns.question.registered_domain","dns.answers.name","dns.answers.type","dns.answers.class","dns.answers.data","dns.authorities.name","dns.authorities.type","dns.authorities.class","dns.additionals.name","dns.additionals.type","dns.additionals.class","dns.additionals.data","dns.opt.version","dns.opt.ext_rcode","http.response.status_phrase","icmp.version","icmp.request.message","icmp.response.message","memcache.protocol_type","memcache.request.line","memcache.request.command","memcache.response.command","memcache.request.type","memcache.response.type","memcache.response.error_msg","memcache.request.opcode","memcache.response.opcode","memcache.response.status","memcache.request.raw_args","memcache.request.automove","memcache.response.version","mongodb.error","mongodb.fullCollectionName","mongodb.startingFrom","mongodb.query","mongodb.returnFieldsSelector","mongodb.selector","mongodb.update","mongodb.cursorId","mysql.insert_id","mysql.num_fields","mysql.num_rows","mysql.query","mysql.error_message","nfs.tag","nfs.opcode","nfs.status","rpc.xid","rpc.status","rpc.auth_flavor","rpc.cred.gids","rpc.cred.machinename","pgsql.error_message","pgsql.error_severity","pgsql.num_fields","pgsql.num_rows","redis.return_value","redis.error","thrift.params","thrift.service","thrift.return_value","thrift.exceptions","tls.version","tls.resumption_method","tls.client_hello.version","tls.client_hello.extensions.server_name_indication","tls.client_hello.extensions.application_layer_protocol_negotiation","tls.client_hello.extensions.session_ticket","tls.client_hello.extensions.supported_versions","tls.client_hello.extensions.supported_groups","tls.client_hello.extensions.signature_algorithms","tls.client_hello.extensions.ec_points_formats","tls.client_hello.extensions._unparsed_","tls.server_hello.version","tls.server_hello.selected_cipher","tls.server_hello.selected_compression_method","tls.server_hello.session_id","tls.server_hello.extensions.session_ticket","tls.server_hello.extensions.supported_versions","tls.server_hello.extensions.ec_points_formats","tls.server_hello.extensions._unparsed_","tls.client_certificate.serial_number","tls.client_certificate.public_key_algorithm","tls.client_certificate.signature_algorithm","tls.client_certificate.raw","tls.client_certificate.subject.country","tls.client_certificate.subject.organization","tls.client_certificate.subject.organizational_unit","tls.client_certificate.subject.province","tls.client_certificate.subject.common_name","tls.client_certificate.issuer.country","tls.client_certificate.issuer.organization","tls.client_certificate.issuer.organizational_unit","tls.client_certificate.issuer.province","tls.client_certificate.issuer.common_name","tls.client_certificate.fingerprint.md5","tls.client_certificate.fingerprint.sha1","tls.client_certificate.fingerprint.sha256","tls.server_certificate.serial_number","tls.server_certificate.public_key_algorithm","tls.server_certificate.signature_algorithm","tls.server_certificate.raw","tls.server_certificate.subject.country","tls.server_certificate.subject.organization","tls.server_certificate.subject.organizational_unit","tls.server_certificate.subject.province","tls.server_certificate.subject.common_name","tls.server_certificate.issuer.country","tls.server_certificate.issuer.organization","tls.server_certificate.issuer.organizational_unit","tls.server_certificate.issuer.province","tls.server_certificate.issuer.common_name","tls.server_certificate.fingerprint.md5","tls.server_certificate.fingerprint.sha1","tls.server_certificate.fingerprint.sha256","tls.alert_types","tls.fingerprints.ja3.hash","tls.fingerprints.ja3.str","fields.*"]},"refresh_interval":"5s"}}
[00:07:40]                   │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow] creating index, cause [auto(bulk api)], templates [], shards [1]/[1]
[00:07:40]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow/H4JXOMdJSomRmrhnkHJ2ug] create_mapping
[00:07:40]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow/H4JXOMdJSomRmrhnkHJ2ug] update_mapping [_doc]
[00:07:40]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow/H4JXOMdJSomRmrhnkHJ2ug] update_mapping [_doc]
[00:07:40]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow/H4JXOMdJSomRmrhnkHJ2ug] update_mapping [_doc]
[00:07:40]                   │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow-1] creating index, cause [auto(bulk api)], templates [], shards [1]/[1]
[00:07:40]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow-1/O7IE-h1WTK-2Gjzbq1QUjQ] create_mapping
[00:07:40]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow-1/O7IE-h1WTK-2Gjzbq1QUjQ] update_mapping [_doc]
[00:07:41]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow-1/O7IE-h1WTK-2Gjzbq1QUjQ] update_mapping [_doc]
[00:07:41]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow-1/O7IE-h1WTK-2Gjzbq1QUjQ] update_mapping [_doc]
[00:07:41]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow-1/O7IE-h1WTK-2Gjzbq1QUjQ] update_mapping [_doc]
[00:07:41]                   │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-ubuntu-16-tests-xxl-1624390548423636057] [packetbeat-overview-flow-1/O7IE-h1WTK-2Gjzbq1QUjQ] update_mapping [_doc]
[00:07:41]                   │ info [x-pack/test/functional/es_archives/packetbeat/overview] Indexed 332 docs into "packetbeat-overview-flow"
[00:07:41]                   │ info [x-pack/test/functional/es_archives/packetbeat/overview] Indexed 336 docs into "packetbeat-overview-flow-1"
[00:07:41]                 └-> Make sure that we get OverviewNetwork data
[00:07:41]                   └-> "before each" hook: global before each for "Make sure that we get OverviewNetwork data"
[00:07:41]                   └- ✖ fail: apis SecuritySolution Endpoints Overview Network With packetbeat Make sure that we get OverviewNetwork data
[00:07:41]                   │       Error: expected { auditbeatSocket: null,
[00:07:41]                   │   filebeatCisco: null,
[00:07:41]                   │   filebeatNetflow: null,
[00:07:41]                   │   filebeatPanw: null,
[00:07:41]                   │   filebeatSuricata: null,
[00:07:41]                   │   filebeatZeek: null,
[00:07:41]                   │   packetbeatDNS: null,
[00:07:41]                   │   packetbeatFlow: null,
[00:07:41]                   │   packetbeatTLS: null } to sort of equal { auditbeatSocket: 0,
[00:07:41]                   │   filebeatCisco: 0,
[00:07:41]                   │   filebeatNetflow: 0,
[00:07:41]                   │   filebeatPanw: 0,
[00:07:41]                   │   filebeatSuricata: 0,
[00:07:41]                   │   filebeatZeek: 0,
[00:07:41]                   │   packetbeatDNS: 44,
[00:07:41]                   │   packetbeatFlow: 588,
[00:07:41]                   │   packetbeatTLS: 0 }
[00:07:41]                   │       + expected - actual
[00:07:41]                   │ 
[00:07:41]                   │        {
[00:07:41]                   │       -  "auditbeatSocket": [null]
[00:07:41]                   │       -  "filebeatCisco": [null]
[00:07:41]                   │       -  "filebeatNetflow": [null]
[00:07:41]                   │       -  "filebeatPanw": [null]
[00:07:41]                   │       -  "filebeatSuricata": [null]
[00:07:41]                   │       -  "filebeatZeek": [null]
[00:07:41]                   │       -  "packetbeatDNS": [null]
[00:07:41]                   │       -  "packetbeatFlow": [null]
[00:07:41]                   │       -  "packetbeatTLS": [null]
[00:07:41]                   │       +  "auditbeatSocket": 0
[00:07:41]                   │       +  "filebeatCisco": 0
[00:07:41]                   │       +  "filebeatNetflow": 0
[00:07:41]                   │       +  "filebeatPanw": 0
[00:07:41]                   │       +  "filebeatSuricata": 0
[00:07:41]                   │       +  "filebeatZeek": 0
[00:07:41]                   │       +  "packetbeatDNS": 44
[00:07:41]                   │       +  "packetbeatFlow": 588
[00:07:41]                   │       +  "packetbeatTLS": 0
[00:07:41]                   │        }
[00:07:41]                   │       
[00:07:41]                   │       at Assertion.assert (/dev/shm/workspace/parallel/18/kibana/node_modules/@kbn/expect/expect.js:100:11)
[00:07:41]                   │       at Assertion.eql (/dev/shm/workspace/parallel/18/kibana/node_modules/@kbn/expect/expect.js:244:8)
[00:07:41]                   │       at Context.<anonymous> (test/api_integration/apis/security_solution/overview_network.ts:97:36)
[00:07:41]                   │       at Object.apply (/dev/shm/workspace/parallel/18/kibana/node_modules/@kbn/test/src/functional_test_runner/lib/mocha/wrap_function.js:73:16)
[00:07:41]                   │ 
[00:07:41]                   │ 

Stack Trace

Error: expected { auditbeatSocket: null,
  filebeatCisco: null,
  filebeatNetflow: null,
  filebeatPanw: null,
  filebeatSuricata: null,
  filebeatZeek: null,
  packetbeatDNS: null,
  packetbeatFlow: null,
  packetbeatTLS: null } to sort of equal { auditbeatSocket: 0,
  filebeatCisco: 0,
  filebeatNetflow: 0,
  filebeatPanw: 0,
  filebeatSuricata: 0,
  filebeatZeek: 0,
  packetbeatDNS: 44,
  packetbeatFlow: 588,
  packetbeatTLS: 0 }
    at Assertion.assert (/dev/shm/workspace/parallel/18/kibana/node_modules/@kbn/expect/expect.js:100:11)
    at Assertion.eql (/dev/shm/workspace/parallel/18/kibana/node_modules/@kbn/expect/expect.js:244:8)
    at Context.<anonymous> (test/api_integration/apis/security_solution/overview_network.ts:97:36)
    at Object.apply (/dev/shm/workspace/parallel/18/kibana/node_modules/@kbn/test/src/functional_test_runner/lib/mocha/wrap_function.js:73:16) {
  actual: '{\n' +
    '  "auditbeatSocket": [null]\n' +
    '  "filebeatCisco": [null]\n' +
    '  "filebeatNetflow": [null]\n' +
    '  "filebeatPanw": [null]\n' +
    '  "filebeatSuricata": [null]\n' +
    '  "filebeatZeek": [null]\n' +
    '  "packetbeatDNS": [null]\n' +
    '  "packetbeatFlow": [null]\n' +
    '  "packetbeatTLS": [null]\n' +
    '}',
  expected: '{\n' +
    '  "auditbeatSocket": 0\n' +
    '  "filebeatCisco": 0\n' +
    '  "filebeatNetflow": 0\n' +
    '  "filebeatPanw": 0\n' +
    '  "filebeatSuricata": 0\n' +
    '  "filebeatZeek": 0\n' +
    '  "packetbeatDNS": 44\n' +
    '  "packetbeatFlow": 588\n' +
    '  "packetbeatTLS": 0\n' +
    '}',
  showDiff: true
}

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
enterpriseSearch 2.1MB 2.1MB +100.0B

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@cee-chen cee-chen merged commit 0548f98 into elastic:master Jun 22, 2021
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Jun 22, 2021
* Re-add noItemsMessage to ApiLogsTable

- Primarily for Engine Overview use - totally forgot about this 🤦

* Tweak API logs empty state copy

- after discussing w/ Davey
@kibanamachine
Copy link
Contributor

💚 Backport successful

Status Branch Result
7.x

This backport PR will be merged automatically after passing CI.

@cee-chen cee-chen deleted the api-logs-empty-state branch June 22, 2021 22:08
kibanamachine added a commit that referenced this pull request Jun 22, 2021
* Re-add noItemsMessage to ApiLogsTable

- Primarily for Engine Overview use - totally forgot about this 🤦

* Tweak API logs empty state copy

- after discussing w/ Davey

Co-authored-by: Constance <constancecchen@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-backport Deprecated - use backport:version if exact versions are needed release_note:skip Skip the PR/issue when compiling release notes v7.14.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants