[8.6] [DOCS] Improve server log connector, automate screenshots (#149905) (#150477)

# Backport

This will backport the following commits from `main` to `8.6`:
- [[DOCS] Improve server log connector, automate screenshots
(#149905)](https://github.com/elastic/kibana/pull/149905)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Lisa
Cawley","email":"lcawley@elastic.co"},"sourceCommit":{"committedDate":"2023-02-01T00:34:02Z","message":"[DOCS]
Improve server log connector, automate screenshots
(#149905)","sha":"411103aaae54d277f6166c3b0286ce68d9d02aed","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","backport
missing","docs","Feature:Actions/ConnectorTypes","backport:prev-minor","v8.7.0"],"number":149905,"url":"https://github.com/elastic/kibana/pull/149905","mergeCommit":{"message":"[DOCS]
Improve server log connector, automate screenshots
(#149905)","sha":"411103aaae54d277f6166c3b0286ce68d9d02aed"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/149905","number":149905,"mergeCommit":{"message":"[DOCS]
Improve server log connector, automate screenshots
(#149905)","sha":"411103aaae54d277f6166c3b0286ce68d9d02aed"}}]}]
BACKPORT-->
This commit is contained in:
Lisa Cawley 2023-02-07 16:00:33 -08:00 committed by GitHub
parent 1301190482
commit 7557ad1d1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 96 additions and 43 deletions

View file

@ -1,50 +1,64 @@
[role="xpack"]
[[server-log-action-type]]
=== Server log connector and action
== Server log connector and action
++++
<titleabbrev>Server log</titleabbrev>
++++
This connector writes an entry to the {kib} server log.
A server log connector writes an entry to the {kib} server log.
You can create a server log connector in {kib} or by using the
<<create-connector-api,create connector API>>. If you are running {kib}
on-prem, you can also create a preconfigured server log connector.
[float]
[[server-log-connector-configuration]]
==== Connector configuration
=== Connector configuration
Server log connectors have the following configuration properties.
Name:: The name of the connector.
[float]
[[Preconfigured-server-log-configuration]]
==== Preconfigured connector type
[source,text]
--
my-server-log:
name: preconfigured-server-log-connector-type
actionTypeId: .server-log
--
Server log connectors do not have any configuration properties other than a name.
[float]
[[define-serverlog-ui]]
==== Define connector in {stack-manage-app}
=== Create a connector in {kib}
Define Server log connector properties.
You can create a server log connector in *{stack-manage-app} > {connectors-ui}*
or as needed when you're creating a rule. For example:
[role="screenshot"]
image::management/connectors/images/serverlog-connector.png[Server log connector]
// NOTE: This is an autogenerated screenshot. Do not edit it directly.
Test Server log action parameters.
[float]
[[preconfigured-server-log-configuration]]
=== Create a preconfigured connector
[role="screenshot"]
image::management/connectors/images/serverlog-params-test.png[Server log params test]
If you are running {kib} on-prem, you can define a server log connector by
adding `xpack.actions.preconfigured` settings to your `kibana.yml` file.
For example:
[source,text]
--
xpack.actions.preconfigured:
my-server-log:
name: preconfigured-server-log-connector-type
actionTypeId: .server-log
--
For more information, go to <<pre-configured-connectors>>.
[float]
[[server-log-action-configuration]]
==== Action configuration
=== Test the connector
Server log actions have the following properties.
You can test your server log connector with the
<<execute-connector-api,run connector API>> or as you're creating or editing
the connector in {kib}. For example:
[role="screenshot"]
image::management/connectors/images/serverlog-params-test.png[Server log connector test]
// NOTE: This is an autogenerated screenshot. Do not edit it directly.
Server log actions have the following properties:
Message:: The message to log.
Level:: The log level of the message: `trace`, `debug`, `info`, `warn`, `error` or `fatal`. Defaults to `info`.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 108 KiB

Before After
Before After

View file

@ -5,7 +5,7 @@ include::action-types/jira.asciidoc[]
include::action-types/teams.asciidoc[]
include::action-types/opsgenie.asciidoc[]
include::action-types/pagerduty.asciidoc[]
include::action-types/server-log.asciidoc[]
include::action-types/server-log.asciidoc[leveloffset=+1]
include::action-types/servicenow.asciidoc[leveloffset=+1]
include::action-types/servicenow-sir.asciidoc[leveloffset=+1]
include::action-types/servicenow-itom.asciidoc[leveloffset=+1]
@ -16,4 +16,3 @@ include::action-types/webhook.asciidoc[]
include::action-types/cases-webhook.asciidoc[leveloffset=+1]
include::action-types/xmatters.asciidoc[]
include::pre-configured-connectors.asciidoc[leveloffset=+1]

View file

@ -0,0 +1,36 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrProviderContext } from '../../../ftr_provider_context';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const commonScreenshots = getService('commonScreenshots');
const screenshotDirectories = ['response_ops_docs', 'stack_alerting'];
const pageObjects = getPageObjects(['common', 'header']);
const actions = getService('actions');
const testSubjects = getService('testSubjects');
describe('connector types', function () {
beforeEach(async () => {
await pageObjects.common.navigateToApp('connectors');
await pageObjects.header.waitUntilLoadingHasFinished();
});
it('serverlog connector screenshot', async () => {
await pageObjects.common.navigateToApp('connectors');
await pageObjects.header.waitUntilLoadingHasFinished();
await actions.common.openNewConnectorForm('server-log');
await testSubjects.setValue('nameInput', 'Server log test connector');
await commonScreenshots.takeScreenshot('serverlog-connector', screenshotDirectories);
const saveTestButton = await testSubjects.find('create-connector-flyout-save-test-btn');
await saveTestButton.click();
await commonScreenshots.takeScreenshot('serverlog-params-test', screenshotDirectories);
const flyOutCancelButton = await testSubjects.find('euiFlyoutCloseButton');
await flyOutCancelButton.click();
});
});
}

View file

@ -7,8 +7,26 @@
import { FtrProviderContext } from '../../../ftr_provider_context';
export default function ({ loadTestFile }: FtrProviderContext) {
export default function ({ loadTestFile, getService }: FtrProviderContext) {
const browser = getService('browser');
const actions = getService('actions');
describe('stack alerting', function () {
before(async () => {
await browser.setWindowSize(1920, 1080);
await actions.api.createConnector({
name: 'server-log-connector',
config: {},
secrets: {},
connectorTypeId: '.server-log',
});
});
after(async () => {
await actions.api.deleteAllConnectors();
});
loadTestFile(require.resolve('./list_view'));
loadTestFile(require.resolve('./connector_types'));
});
}

View file

@ -11,12 +11,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const commonScreenshots = getService('commonScreenshots');
const screenshotDirectories = ['response_ops_docs', 'stack_alerting'];
const pageObjects = getPageObjects(['common', 'header']);
const actions = getService('actions');
const rules = getService('rules');
const testSubjects = getService('testSubjects');
const rules = getService('rules');
describe('list view', function () {
let serverLogConnectorId: string;
let ruleId: string;
const indexThresholdRule = {
consumer: 'alerts',
@ -38,13 +36,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
};
before(async () => {
const connectorName = `server-log-connector`;
({ id: serverLogConnectorId } = await createServerLogConnector(connectorName));
({ id: ruleId } = await rules.api.createRule(indexThresholdRule));
});
after(async () => {
await actions.api.deleteConnector(serverLogConnectorId);
await rules.api.deleteRule(ruleId);
});
@ -87,13 +82,4 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await commonScreenshots.takeScreenshot('snooze-panel', screenshotDirectories, 1400, 1024);
});
});
const createServerLogConnector = async (name: string) => {
return actions.api.createConnector({
name,
config: {},
secrets: {},
connectorTypeId: '.server-log',
});
};
}