From b6f9f78c46deb93b74b6bd8d870a3ac218d3a25f Mon Sep 17 00:00:00 2001 From: David Kilfoyle <41695641+kilfoyle@users.noreply.github.com> Date: Tue, 7 May 2024 16:46:19 -0400 Subject: [PATCH] Add quick start to Integrations Dev Guide (#3845) * Add quick start to Integrations Dev Guide * Link fix * Remove two images since they were blurry and not super useful * Address feedback * One more... (cherry picked from commit 83d88c7745a9004b74f054ed45acbab56f88c709) --- .../images/datastream-log-message.png | Bin 0 -> 19988 bytes .../integrations/images/package-installed.png | Bin 0 -> 72110 bytes docs/en/integrations/index.asciidoc | 2 +- docs/en/integrations/quick-start.asciidoc | 451 +++++++++++++++++- 4 files changed, 451 insertions(+), 2 deletions(-) create mode 100644 docs/en/integrations/images/datastream-log-message.png create mode 100644 docs/en/integrations/images/package-installed.png diff --git a/docs/en/integrations/images/datastream-log-message.png b/docs/en/integrations/images/datastream-log-message.png new file mode 100644 index 0000000000000000000000000000000000000000..9887f64a27b7db43423fa665d91ddda62b5c1b06 GIT binary patch literal 19988 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
    +U@khJT&dtL&bJGI{&`Ga;h&JV#S-; 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 literal 0 HcmV?d00001 diff --git a/docs/en/integrations/images/package-installed.png b/docs/en/integrations/images/package-installed.png new file mode 100644 index 0000000000000000000000000000000000000000..0abb52aaf45882b697d34e2a39f2c4bfb6db8944 GIT binary patch literal 72110 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 literal 0 HcmV?d00001 diff --git a/docs/en/integrations/index.asciidoc b/docs/en/integrations/index.asciidoc index b678a2a403..8138fa14f0 100644 --- a/docs/en/integrations/index.asciidoc +++ b/docs/en/integrations/index.asciidoc @@ -10,7 +10,7 @@ include::{docs-root}/shared/attributes.asciidoc[] include::what-is-an-integration.asciidoc[leveloffset=+1] // Quick start content isn't ready yet. Coming soon... -// include::quick-start.asciidoc[leveloffset=+1] +include::quick-start.asciidoc[leveloffset=+1] include::build-integration.asciidoc[leveloffset=+1] diff --git a/docs/en/integrations/quick-start.asciidoc b/docs/en/integrations/quick-start.asciidoc index ac8948256f..5783c84acf 100644 --- a/docs/en/integrations/quick-start.asciidoc +++ b/docs/en/integrations/quick-start.asciidoc @@ -3,4 +3,453 @@ NOTE: This quick start is designed for users familiar with the {stack}. If you're new to Elastic, <> provides an in-depth look at creating a new integration. -// Quick start is coming soon... +This is a quick guide on how you can build your own integration package and upload it to Kibana. + +Follow these steps to create an integration package named `sample` and then add a `logs` dataset. The same procedure can be used for a `metrics` dataset, however for your first integration package `logs` is a bit simpler because a custom input is not required. + +* <> +* <> +* <> +* <> +* <> +* <> +* <> +* <> + +[discrete] +[[qs-prereqs]] +== Prerequisites + +You'll need to have a few requirements in place to run this tutorial: + +* link:https://github.com/elastic/elastic-package[elastic-package] installed on your machine. This is a command line tool, written in Go, used for developing Elastic packages. It can help you lint, format, test, build, and promote your packages. Setup instructions can be found in the elastic-package repository readme. + +* A link:https://github.com/[GitHub repository] where you can upload your integration package. + +* link:https://www.docker.com/[Docker] set up and running on your machine. + +[discrete] +[[qs-create-package]] +== Step 1: Create the package + +. To start, from inside a Git repository, run the `elastic-package create package` command. This will launch a wizard that will prompt you for some details, and will then build an empty package with all the necessary parts: ++ +[source,console] +---- +elastic-package create package +---- + +. Respond to prompts as follows: ++ +* Package type: `integration` +* Package name: `sample` +* Version: `0.0.1` +* License: `Elastic-2.0` +* Package title: `My sample package` +* Description: `My first integrations package to collect logs` +* Categories: `custom` +* Kibana version constraint: `^8.12.2` +* Required Elastic subscription: `basic` +* Github owner: `` +* Owner type: `elastic` + +. After entering the details, the command should return a confirmation that your package has been created. + +. Change into the new `sample` package directory. ++ +[source,console] +---- +cd sample +---- + +. Validate that the new integration package was created correctly. + +.. Check the linting rules for the package ++ +[source,console] +---- +elastic-package lint +---- + +.. Format the pacakge to fix linting ++ +[source,console] +---- +elastic-package lint +---- + +.. Build a `.zip` file out of the package assets ++ +[source,console] +---- +elastic-package build +---- + +.. If you prefer, you can also run the three previous commands as a single batch: ++ +[source,console] +---- +elastic-package check +---- + +[discrete] +[[qs-test-upload]] +== Step 2: Upload the package to Kibana + +. To test that your package can be installed into Kibana, a cluster needs to spin up. For this step you to have a running Docker setup. Run the following command: ++ +[source,console] +---- +elastic-package stack up --version=8.12.2 -v +---- ++ +This spins up a cluster with the version 8.12.2 of the {stack}. The cluster can be accessed in your browser at https://localhost:5601 with username `elastic` and password `changeme`. ++ +[NOTE] +==== +* If you want to update to the latest {stack} version, run `elastic-package stack update --version=8.12.2 -v`. +* You can also install the package directly into an existing cluster for testing. Steps and customization options for the `install` command are described in this link:https://github.com/elastic/elastic-package/blob/main/docs/howto/install_package.md[How To guide] in the `elastic-package` repository. +==== ++ +. After the cluster has finished setting up, open a second terminal window and run the following command to install your package: ++ +[source,console] +---- +elastic-package install +---- + +. After the command runs, check that your new package appears in Kibana under **Management > Integrations > Installed integrations**. ++ +image::images/package-installed.png[Kibana installed integrations tab with a card for my sample package] + + +[discrete] +[[qs-create-dataset]] +== Step 3: Create a dataset + +You've now built an integration package, but it does not contain any assets. For the goal of starting to collect logs, you need to create a dataset, and for it the Elasticsearch mappings and ingest pipelines. If you want to be able to collect data through a managed {agent}, you also need to add an agent policy template. + +. Create a new dataset: ++ +[source,console] +---- +elastic-package create data-stream +---- + +. When prompted, provide the following details: ++ +* Data stream name: log +* Data stream title: My log lines +* Type: logs ++ +The command creates the required data in the `/data_stream/log` directory. If you pick `log` as data stream name, the dataset is called `sample.log` and the final data stream created will be `logs-sample.log-default` as an example. + +. To not have to worry about mappings, you can pull in all {ecs-ref}[Elastic Common Schema (ECS) fields]. To do this, create the file `_dev/build/build.yml` under the root directory and add the following content: ++ +[source,yaml] +---- +dependencies: + ecs: + reference: git@v8.6.0 + import_mappings: true +---- + +. It's always a good idea to re-check to make sure that your package still builds and works as expected. ++ +[source,console] +---- +elastic-package check +---- + +. Re-install your package. ++ +[source,console] +---- +elastic-package install +---- ++ +This reinstalls the package and create mapping templates for `logs-sample.log-*`. You can also add your own mappings under `data_stream/log/fields/fields.yml` if needed. + +[discrete] +[[qs-add-processing]] +== Step 4: Add processing + +You can now already ship log files to `logs-sample.log-default` but no processing will happen. So, let's create a sample log file. + +. Create a file `test-sample.log` with the following contents, and save it anywhere on your local machine. ++ +[source,console] +---- +2024-04-21T13:44:56.657+0100 INFO Hello world +2024-04-21T13:45:56.657+0100 INFO This is a nice day +2024-04-21T13:46:56.657+0100 INFO I am working on stuff +---- ++ +Each line of the log file will be shipped by {agent} as a document with the message field containing the log line. You will set up the dissect processor to take the log line apart into `@timestamp`, `log.level`, and `message`. + +. Next, test your ingest pipeline. In {kib} navigate to **Management > Dev Tools** and run the {ref}/simulate-pipeline-api.html[Simulate pipeline API]: ++ +[source,console] +---- +POST /_ingest/pipeline/_simulate +{ + "pipeline" : + { + "description": "logs-sample.log", + "processors": [ + { + "dissect" : { + "field" : "message", + "pattern" : "%{@timestamp} %{log.level} %{message}" + } + } + ] + }, + "docs": [ + { + "_index": "index", + "_id": "id", + "_source": { + "message": "2023-02-21T13:46:56.657+0100 INFO I am working on stuff" + } + } + ] +} +---- ++ +This returns: ++ +[source,console] +---- +{ + "docs": [ + { + "doc": { + "_index": "index", + "_version": "-3", + "_id": "id", + "_source": { + "@timestamp": "2023-02-21T13:46:56.657+0100", + "message": "I am working on stuff", + "log": { + "level": "INFO" + } + }, + "_ingest": { + "timestamp": "2024-04-30T17:51:22.16442471Z" + } + } + } + ] +} +---- + +. Now that you've confirmed that the ingest pipeline is working, add it to your dataset by modifying `data_stream/log/elasticsearch/ingest_pipline/default.yml` to: ++ +[source,console] +---- +description: Pipeline for processing sample logs +processors: +- dissect: + field: message + pattern: "%{@timestamp} %{log.level} %{message}" +on_failure: +- set: + field: error.message + value: '{{ _ingest.on_failure_message }}' +---- + +. Now run `elastic-package check` again and then re-upload the package with `elastic-package install`. This installs your new ingest pipeline. + +. Do a quick test run to test the new pipeline. In the **Dev tools** console, run: ++ +[source,console] +---- +POST logs-sample.log-default/_doc +{ + "message": "2023-02-21T13:46:56.657+0100 INFO I am working on stuff" +} +---- ++ +The response is: ++ +[source,console] +---- +{ + "_index": ".ds-logs-sample.log-default-2024.04.30-000001", + "_id": "BsUtMI8BQEniT9Md_TYh", + "_version": 1, + "result": "created", + "_shards": { + "total": 2, + "successful": 1, + "failed": 0 + }, + "_seq_no": 0, + "_primary_term": 1 +} +---- + +. Now run: ++ +[source,console] +---- +GET logs-sample.log-default/_search +---- ++ +The response is: ++ +[source,console] +---- +{ + "took": 1, + "timed_out": false, + "_shards": { + "total": 1, + "successful": 1, + "skipped": 0, + "failed": 0 + }, + "hits": { + "total": { + "value": 1, + "relation": "eq" + }, + "max_score": 1, + "hits": [ + { + "_index": ".ds-logs-sample.log-default-2024.04.30-000001", + "_id": "BsUtMI8BQEniT9Md_TYh", + "_score": 1, + "_source": { + "@timestamp": "2023-02-21T13:46:56.657+0100", + "message": "I am working on stuff", + "event": { + "agent_id_status": "missing", + "ingested": "2024-04-30T18:04:31Z" + }, + "log": { + "level": "INFO" + } + } + } + ] + } +} +---- + +Now that you can see the dissected message documented, you're ready to ingest data. + +[discrete] +[[qs-release-new-version]] +== Step 5: Release a new version + +. Since your initial `0.0.1` version of the package, many modifications have been made. To build a new package version, open the `sample/manifest.yml` file and change the package version to `0.2.0`: ++ +[source,console] +---- +format_version: 3.1.3 +name: sample +title: "My sample package" +version: 0.2.0 +---- + +. You also need to add an entry to your `sample/changelog.yml` file. Make sure to add the new entry at the top of the file: ++ +[source,console] +---- +- version: "0.2.0" + changes: + - description: Added sample log processing pipeline + type: enhancement + link: http://fake-link +---- ++ +NOTE: You can also update the changelog file automatically using the link:https://github.com/elastic/elastic-package?tab=readme-ov-file#elastic-package-changelog[`elastic-package changelog`] command. + +. Run `elastic-package check` again and then the `elastic-package install` command. ++ +The `0.1.0` version of the package is updated to version `0.2.0`. Only one version of a package can be installed at a time, but, following these steps, different versions of a package can be rolled out over time. + +When developing integrations the following versioning guidelines should be used: + +* Patch release (x.y.**Z**): For backward-compatible bug fixes +* Minor release (x.**Y**.z): For backward-compatible new features +* Major release (**X**.y.z): For changes that break backward compatibility + + +[discrete] +[[qs-ingest-data]] +== Step 6: Ingest data + +There are two different ways that you can ingest data, using either standalone {agent} or {agent} managed by {fleet}. For this example, you can use standalone {agent} since that won't require any additional changes to the integration package. + +NOTE: To run these steps using {fleet}-managed {agent}, you just need to update the files `data_stream/log/agent/stream/stream.yml.hbs` and `data_stream/log/manifest.yml` to provide the correct configuration, which you can find in the {fleet} UI. + +. link:https://www.elastic.co/downloads/elastic-agent[Download the {agent} install package] to your machine. + +. Download the {agent} package, extract it, and change into the package directory. You can find the steps for each available platform in {fleet-guide}/install-standalone-elastic-agent.html[Install standalone {agents}]. ++ +You can also download a package directly from the link:https://www.elastic.co/downloads/elastic-agent[{agent} download site]. + + +. In the {agent} package directory, open the `elastic-agent.yml` configuration file for editing. + +. Replace the contents of `elastic-agent.yml` with the following: ++ +[source,console] +---- +inputs: + - type: logfile + streams: + - data_stream: + # This must be aligned with the dataset name given + dataset: test-sample.log + paths: + # Path to your log file + - //test-sample.log + +outputs: + default: + type: elasticsearch + hosts: ["https://127.0.0.1:9200"] + username: "elastic" + password: "changeme" + ssl.verification_mode: none +---- ++ +Where: + +* `dataset` is set to match the `test-sample.log` file that you created. +* is the full path the `test-sample.log` file that you created. + +. Run {agent}: ++ +[source,console] +---- +sudo ./elastic-agent -e +---- ++ +This will pick up the log file, ship it to {es}, and process it with the ingest pipeline. + +. Confirm that your log file is being ingested as expected: + +.. In {kib}, open **Discover**. +.. In the search field, enter `log.file.path.text : *`. The search should return a couple of log entries. +.. Hover over an entry and click `Enter` to view the cell contents. ++ +image::images/datastream-log-message.png[Data stream showing log message: "this is a nice day"] + +[discrete] +[[qs-whats-next]] +== What's next? + +You now have your own integration package that you can update with new features and ship to an {stack} or share with others. + +In the integrations link:https://github.com/elastic/integrations/blob/main/CONTRIBUTING.md[Contributing Guide] you can find instructions for adding additional assets to your integrations, such as {kib} dashboards. +// This link should be updated to this Integrations Developer Guide once the instructions for dashboards and such has been added. + +Let others know about your new integration: + +* Promote your Integration with Elastic in the link:https://www.elastic.co/community/[Elastic Community]. +* Register on link:https://partners.elastic.co/English/register_email.aspx[Elastic's Partner Portal] as a Technology Partner.