{"owner":"MichaelCade","repo":"90DaysOfDevOps","hasSkills":true,"totalSkillsCount":35,"totalTokensCount":10128,"categories":["plugin-manifest"],"hasMcp":false,"mcpConfig":null,"found":["2022/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","2022/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","2022/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","2022/Days/Monitoring/Elastic Stack/extensions/README.md","2022/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","2022/Days/Monitoring/Elastic Stack/extensions/curator/README.md","2022/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","2022/tr/Days/Monitoring/Elastic Stack/extensions/README.md","2022/es/Days/Monitoring/Elastic Stack/extensions/README.md","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/README.md","2022/es/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","2022/ja/Days/Monitoring/Elastic Stack/extensions/README.md","2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md","2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md","2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md","2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md"],"skills":{"2022/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# Enterprise Search extension\n\nElastic Enterprise Search is a suite of products for search applications backed by the Elastic Stack.\n\n## Requirements\n\n* 2 GB of free RAM, on top of the resources required by the other stack components and extensions.\n\nEnterprise Search exposes the TCP port `3002` for its Web UI and API.\n\n## Usage\n\n### Generate an encryption key\n\nEnterprise Search requires one or more [encryption keys][enterprisesearch-encryption] to be configured before the\ninitial startup. Failing to do so prevents the server from starting.\n\nEncryption keys can contain any series of characters. Elastic recommends using 256-bit keys for optimal security.\n\nThose encryption keys must be added manually to the [`config/enterprise-search.yml`][config-enterprisesearch] file. By\ndefault, the list of encryption keys is empty and must be populated using one of the following formats:\n\n```yaml\nsecret_management.encryption_keys:\n  - my_first_encryption_key\n  - my_second_encryption_key\n  - ...\n```\n\n```yaml\nsecret_management.encryption_keys: [my_first_encryption_key, my_second_encryption_key, ...]\n```\n\n> :information_source: To generate a strong encryption key, for example using the AES-256 cipher, you can use the\n> OpenSSL utility or any other online/offline tool of your choice:\n>\n> ```console\n> $ openssl enc -aes-256 -P\n>\n> enter aes-256-cbc encryption password: <a strong password>\n> Verifying - enter aes-256-cbc encryption password: <repeat your strong password>\n> ...\n>\n> key=<generated AES key>\n> ```\n\n### Enable Elasticsearch's API key service\n\nEnterprise Search requires Elasticsearch's built-in [API key service][es-security] to be enabled in order to start.\nUnless Elasticsearch is configured to enable TLS on the HTTP interface (disabled by default), this service is disabled\nby default.\n\nTo enable it, modify the Elasticsearch configuration file in [`elasticsearch/config/elasticsearch.yml`][config-es] and\nadd the following setting:\n\n```yaml\nxpack.security.authc.api_key.enabled: true\n```\n\n### Configure the Enterprise Search host in Kibana\n\nKibana acts as the [management interface][enterprisesearch-ui] to Enterprise Search.\n\nTo enable the management experience for Enterprise Search, modify the Kibana configuration file in\n[`kibana/config/kibana.yml`][config-kbn] and add the following setting:\n\n```yaml\nenterpriseSearch.host: http://enterprise-search:3002\n```\n\n### Start the server\n\nTo include Enterprise Search in the stack, run Docker Compose from the root of the repository with an additional command\nline argument referencing the `enterprise-search-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml up\n```\n\nAllow a few minutes for the stack to start, then open your web browser at the address <http://localhost:3002> to see the\nEnterprise Search home page.\n\nEnterprise Search is configured on first boot with the following default credentials:\n\n* user: *enterprise_search*\n* password: *changeme*\n\n## Security\n\nThe Enterprise Search password is defined inside the Compose file via the `ENT_SEARCH_DEFAULT_PASSWORD` environment\nvariable. We highly recommend choosing a more secure password than the default one for security reasons.\n\nTo do so, change the value `ENT_SEARCH_DEFAULT_PASSWORD` environment variable inside the Compose file **before the first\nboot**:\n\n```yaml\nenterprise-search:\n\n  environment:\n    ENT_SEARCH_DEFAULT_PASSWORD: {{some strong password}}\n```\n\n> :warning: The default Enterprise Search password can only be set during the initial boot. Once the password is\n> persisted in Elasticsearch, it can only be changed via the Elasticsearch API.\n\nFor more information, please refer to [User Management and Security][enterprisesearch-security].\n\n## Configuring Enterprise Search\n\nThe Enterprise Search configuration is stored in [`config/enterprise-search.yml`][config-enterprisesearch]. You can\nmodify this file using the [Default Enterprise Search configuration][enterprisesearch-config] as a reference.\n\nYou can also specify the options you want to override by setting environment variables inside the Compose file:\n\n```yaml\nenterprise-search:\n\n  environment:\n    ent_search.auth.source: standard\n    worker.threads: '6'\n```\n\nAny change to the Enterprise Search configuration requires a restart of the Enterprise Search container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml restart enterprise-search\n```\n\nPlease refer to the following documentation page for more details about how to configure Enterprise Search inside a\nDocker container: [Running Enterprise Search Using Docker][enterprisesearch-docker].\n\n## See also\n\n[Enterprise Search documentation][enterprisesearch-docs]\n\n[config-enterprisesearch]: ./config/enterprise-search.yml\n\n[enterprisesearch-encryption]: https://www.elastic.co/guide/en/enterprise-search/current/encryption-keys.html\n[enterprisesearch-security]: https://www.elastic.co/guide/en/workplace-search/current/workplace-search-security.html\n[enterprisesearch-config]: https://www.elastic.co/guide/en/enterprise-search/current/configuration.html\n[enterprisesearch-docker]: https://www.elastic.co/guide/en/enterprise-search/current/docker.html\n[enterprisesearch-docs]: https://www.elastic.co/guide/en/enterprise-search/current/index.html\n[enterprisesearch-ui]: https://www.elastic.co/guide/en/enterprise-search/current/user-interfaces.html\n\n[es-security]: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#api-key-service-settings\n[config-es]: ../../elasticsearch/config/elasticsearch.yml\n[config-kbn]: ../../kibana/config/kibana.yml\n","2022/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# Filebeat\n\nFilebeat is a lightweight shipper for forwarding and centralizing log data. Installed as an agent on your servers,\nFilebeat monitors the log files or locations that you specify, collects log events, and forwards them either to\nElasticsearch or Logstash for indexing.\n\n## Usage\n\nTo include Filebeat in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `filebeat-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/filebeat/filebeat-compose.yml up\n```\n\n## Configuring Filebeat\n\nThe Filebeat configuration is stored in [`config/filebeat.yml`](./config/filebeat.yml). You can modify this file with\nthe help of the [Configuration reference][filebeat-config].\n\nAny change to the Filebeat configuration requires a restart of the Filebeat container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/filebeat/filebeat-compose.yml restart filebeat\n```\n\nPlease refer to the following documentation page for more details about how to configure Filebeat inside a Docker\ncontainer: [Run Filebeat on Docker][filebeat-docker].\n\n## See also\n\n[Filebeat documentation][filebeat-doc]\n\n[filebeat-config]: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-reference-yml.html\n[filebeat-docker]: https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html\n[filebeat-doc]: https://www.elastic.co/guide/en/beats/filebeat/current/index.html\n","2022/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# APM Server extension\n\nThe APM Server receives data from APM agents and transforms them into Elasticsearch documents that can be visualised in\nKibana.\n\n## Usage\n\nTo include APM Server in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `apm-server-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up\n```\n\nMeanwhile, you can navigate to the **APM** application in Kibana and follow the setup instructions to get started.\n\n## Connecting an agent to APM Server\n\nThe most basic configuration to send traces to APM server is to specify the `SERVICE_NAME` and `SERVICE_URL`. Here is an\nexample Python Flask configuration:\n\n```python\nimport elasticapm\nfrom elasticapm.contrib.flask import ElasticAPM\n\nfrom flask import Flask\n\napp = Flask(__name__)\napp.config['ELASTIC_APM'] = {\n    # Set required service name. Allowed characters:\n    # a-z, A-Z, 0-9, -, _, and space\n    'SERVICE_NAME': 'PYTHON_FLASK_TEST_APP',\n\n    # Set custom APM Server URL (default: http://localhost:8200)\n    'SERVER_URL': 'http://apm-server:8200',\n\n    'DEBUG': True,\n}\n```\n\nConfiguration settings for each supported language are available in the APM documentation: [APM Agents][apm-agents].\n\n## Checking connectivity and importing default APM dashboards\n\n1. On the Kibana home page, click `Add APM` under the _Observability_ panel.\n1. Click `Check APM Server status` to confirm the server is up and running.\n1. Click `Check agent status` to verify your agent has registered properly.\n1. Click `Load Kibana objects` to create an index pattern for APM.\n1. Click `Launch APM` to be taken to the APM dashboard.\n\n## See also\n\n[Running APM Server on Docker][apm-docker]\n\n[apm-agents]: https://www.elastic.co/guide/en/apm/guide/current/components.html\n[apm-docker]: https://www.elastic.co/guide/en/apm/guide/current/running-on-docker.html\n","2022/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# Logspout extension\n\nLogspout collects all Docker logs using the Docker logs API, and forwards them to Logstash without any additional\nconfiguration.\n\n## Usage\n\nIf you want to include the Logspout extension, run Docker Compose from the root of the repository with an additional\ncommand line argument referencing the `logspout-compose.yml` file:\n\n```bash\n$ docker-compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml up\n```\n\nIn your Logstash pipeline configuration, enable the `udp` input and set the input codec to `json`:\n\n```logstash\ninput {\n  udp {\n    port  => 5000\n    codec => json\n  }\n}\n```\n\n## Documentation\n\n<https://github.com/looplab/logspout-logstash>\n","2022/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# Curator\n\nElasticsearch Curator helps you curate or manage your indices.\n\n## Usage\n\nIf you want to include the Curator extension, run Docker Compose from the root of the repository with an additional\ncommand line argument referencing the `curator-compose.yml` file:\n\n```bash\n$ docker-compose -f docker-compose.yml -f extensions/curator/curator-compose.yml up\n```\n\nThis sample setup demonstrates how to run `curator` every minute using `cron`.\n\nAll configuration files are available in the `config/` directory.\n\n## Documentation\n\n[Curator Reference](https://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html)\n","2022/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# Metricbeat\n\nMetricbeat is a lightweight shipper that you can install on your servers to periodically collect metrics from the\noperating system and from services running on the server. Metricbeat takes the metrics and statistics that it collects\nand ships them to the output that you specify, such as Elasticsearch or Logstash.\n\n## Usage\n\nTo include Metricbeat in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `metricbeat-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml up\n```\n\n## Configuring Metricbeat\n\nThe Metricbeat configuration is stored in [`config/metricbeat.yml`](./config/metricbeat.yml). You can modify this file\nwith the help of the [Configuration reference][metricbeat-config].\n\nAny change to the Metricbeat configuration requires a restart of the Metricbeat container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml restart metricbeat\n```\n\nPlease refer to the following documentation page for more details about how to configure Metricbeat inside a\nDocker container: [Run Metricbeat on Docker][metricbeat-docker].\n\n## See also\n\n[Metricbeat documentation][metricbeat-doc]\n\n[metricbeat-config]: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-reference-yml.html\n[metricbeat-docker]: https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-docker.html\n[metricbeat-doc]: https://www.elastic.co/guide/en/beats/metricbeat/current/index.html\n","2022/tr/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/es/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/es/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# APM Server extension\n\nThe APM Server receives data from APM agents and transforms them into Elasticsearch documents that can be visualised in\nKibana.\n\n## Usage\n\nTo include APM Server in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `apm-server-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up\n```\n\nMeanwhile, you can navigate to the **APM** application in Kibana and follow the setup instructions to get started.\n\n## Connecting an agent to APM Server\n\nThe most basic configuration to send traces to APM server is to specify the `SERVICE_NAME` and `SERVICE_URL`. Here is an\nexample Python Flask configuration:\n\n```python\nimport elasticapm\nfrom elasticapm.contrib.flask import ElasticAPM\n\nfrom flask import Flask\n\napp = Flask(__name__)\napp.config['ELASTIC_APM'] = {\n    # Set required service name. Allowed characters:\n    # a-z, A-Z, 0-9, -, _, and space\n    'SERVICE_NAME': 'PYTHON_FLASK_TEST_APP',\n\n    # Set custom APM Server URL (default: http://localhost:8200)\n    'SERVER_URL': 'http://apm-server:8200',\n\n    'DEBUG': True,\n}\n```\n\nConfiguration settings for each supported language are available in the APM documentation: [APM Agents][apm-agents].\n\n## Checking connectivity and importing default APM dashboards\n\n1. On the Kibana home page, click `Add APM` under the _Observability_ panel.\n1. Click `Check APM Server status` to confirm the server is up and running.\n1. Click `Check agent status` to verify your agent has registered properly.\n1. Click `Load Kibana objects` to create an index pattern for APM.\n1. Click `Launch APM` to be taken to the APM dashboard.\n\n## See also\n\n[Running APM Server on Docker][apm-docker]\n\n[apm-agents]: https://www.elastic.co/guide/en/apm/guide/current/components.html\n[apm-docker]: https://www.elastic.co/guide/en/apm/guide/current/running-on-docker.html\n","2022/ja/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# curator Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# enterprise-search Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# filebeat Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# logspout Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# metricbeat Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# apm-server Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# curator Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# enterprise-search Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# filebeat Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# logspout Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# metricbeat Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# apm-server Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# curator Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# enterprise-search Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# filebeat Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# logspout Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# metricbeat Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# apm-server Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# curator Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# enterprise-search Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# filebeat Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# logspout Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# metricbeat Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)"},"files":{"2022/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# Enterprise Search extension\n\nElastic Enterprise Search is a suite of products for search applications backed by the Elastic Stack.\n\n## Requirements\n\n* 2 GB of free RAM, on top of the resources required by the other stack components and extensions.\n\nEnterprise Search exposes the TCP port `3002` for its Web UI and API.\n\n## Usage\n\n### Generate an encryption key\n\nEnterprise Search requires one or more [encryption keys][enterprisesearch-encryption] to be configured before the\ninitial startup. Failing to do so prevents the server from starting.\n\nEncryption keys can contain any series of characters. Elastic recommends using 256-bit keys for optimal security.\n\nThose encryption keys must be added manually to the [`config/enterprise-search.yml`][config-enterprisesearch] file. By\ndefault, the list of encryption keys is empty and must be populated using one of the following formats:\n\n```yaml\nsecret_management.encryption_keys:\n  - my_first_encryption_key\n  - my_second_encryption_key\n  - ...\n```\n\n```yaml\nsecret_management.encryption_keys: [my_first_encryption_key, my_second_encryption_key, ...]\n```\n\n> :information_source: To generate a strong encryption key, for example using the AES-256 cipher, you can use the\n> OpenSSL utility or any other online/offline tool of your choice:\n>\n> ```console\n> $ openssl enc -aes-256 -P\n>\n> enter aes-256-cbc encryption password: <a strong password>\n> Verifying - enter aes-256-cbc encryption password: <repeat your strong password>\n> ...\n>\n> key=<generated AES key>\n> ```\n\n### Enable Elasticsearch's API key service\n\nEnterprise Search requires Elasticsearch's built-in [API key service][es-security] to be enabled in order to start.\nUnless Elasticsearch is configured to enable TLS on the HTTP interface (disabled by default), this service is disabled\nby default.\n\nTo enable it, modify the Elasticsearch configuration file in [`elasticsearch/config/elasticsearch.yml`][config-es] and\nadd the following setting:\n\n```yaml\nxpack.security.authc.api_key.enabled: true\n```\n\n### Configure the Enterprise Search host in Kibana\n\nKibana acts as the [management interface][enterprisesearch-ui] to Enterprise Search.\n\nTo enable the management experience for Enterprise Search, modify the Kibana configuration file in\n[`kibana/config/kibana.yml`][config-kbn] and add the following setting:\n\n```yaml\nenterpriseSearch.host: http://enterprise-search:3002\n```\n\n### Start the server\n\nTo include Enterprise Search in the stack, run Docker Compose from the root of the repository with an additional command\nline argument referencing the `enterprise-search-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml up\n```\n\nAllow a few minutes for the stack to start, then open your web browser at the address <http://localhost:3002> to see the\nEnterprise Search home page.\n\nEnterprise Search is configured on first boot with the following default credentials:\n\n* user: *enterprise_search*\n* password: *changeme*\n\n## Security\n\nThe Enterprise Search password is defined inside the Compose file via the `ENT_SEARCH_DEFAULT_PASSWORD` environment\nvariable. We highly recommend choosing a more secure password than the default one for security reasons.\n\nTo do so, change the value `ENT_SEARCH_DEFAULT_PASSWORD` environment variable inside the Compose file **before the first\nboot**:\n\n```yaml\nenterprise-search:\n\n  environment:\n    ENT_SEARCH_DEFAULT_PASSWORD: {{some strong password}}\n```\n\n> :warning: The default Enterprise Search password can only be set during the initial boot. Once the password is\n> persisted in Elasticsearch, it can only be changed via the Elasticsearch API.\n\nFor more information, please refer to [User Management and Security][enterprisesearch-security].\n\n## Configuring Enterprise Search\n\nThe Enterprise Search configuration is stored in [`config/enterprise-search.yml`][config-enterprisesearch]. You can\nmodify this file using the [Default Enterprise Search configuration][enterprisesearch-config] as a reference.\n\nYou can also specify the options you want to override by setting environment variables inside the Compose file:\n\n```yaml\nenterprise-search:\n\n  environment:\n    ent_search.auth.source: standard\n    worker.threads: '6'\n```\n\nAny change to the Enterprise Search configuration requires a restart of the Enterprise Search container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml restart enterprise-search\n```\n\nPlease refer to the following documentation page for more details about how to configure Enterprise Search inside a\nDocker container: [Running Enterprise Search Using Docker][enterprisesearch-docker].\n\n## See also\n\n[Enterprise Search documentation][enterprisesearch-docs]\n\n[config-enterprisesearch]: ./config/enterprise-search.yml\n\n[enterprisesearch-encryption]: https://www.elastic.co/guide/en/enterprise-search/current/encryption-keys.html\n[enterprisesearch-security]: https://www.elastic.co/guide/en/workplace-search/current/workplace-search-security.html\n[enterprisesearch-config]: https://www.elastic.co/guide/en/enterprise-search/current/configuration.html\n[enterprisesearch-docker]: https://www.elastic.co/guide/en/enterprise-search/current/docker.html\n[enterprisesearch-docs]: https://www.elastic.co/guide/en/enterprise-search/current/index.html\n[enterprisesearch-ui]: https://www.elastic.co/guide/en/enterprise-search/current/user-interfaces.html\n\n[es-security]: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#api-key-service-settings\n[config-es]: ../../elasticsearch/config/elasticsearch.yml\n[config-kbn]: ../../kibana/config/kibana.yml\n","2022/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# Filebeat\n\nFilebeat is a lightweight shipper for forwarding and centralizing log data. Installed as an agent on your servers,\nFilebeat monitors the log files or locations that you specify, collects log events, and forwards them either to\nElasticsearch or Logstash for indexing.\n\n## Usage\n\nTo include Filebeat in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `filebeat-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/filebeat/filebeat-compose.yml up\n```\n\n## Configuring Filebeat\n\nThe Filebeat configuration is stored in [`config/filebeat.yml`](./config/filebeat.yml). You can modify this file with\nthe help of the [Configuration reference][filebeat-config].\n\nAny change to the Filebeat configuration requires a restart of the Filebeat container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/filebeat/filebeat-compose.yml restart filebeat\n```\n\nPlease refer to the following documentation page for more details about how to configure Filebeat inside a Docker\ncontainer: [Run Filebeat on Docker][filebeat-docker].\n\n## See also\n\n[Filebeat documentation][filebeat-doc]\n\n[filebeat-config]: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-reference-yml.html\n[filebeat-docker]: https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html\n[filebeat-doc]: https://www.elastic.co/guide/en/beats/filebeat/current/index.html\n","2022/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# APM Server extension\n\nThe APM Server receives data from APM agents and transforms them into Elasticsearch documents that can be visualised in\nKibana.\n\n## Usage\n\nTo include APM Server in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `apm-server-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up\n```\n\nMeanwhile, you can navigate to the **APM** application in Kibana and follow the setup instructions to get started.\n\n## Connecting an agent to APM Server\n\nThe most basic configuration to send traces to APM server is to specify the `SERVICE_NAME` and `SERVICE_URL`. Here is an\nexample Python Flask configuration:\n\n```python\nimport elasticapm\nfrom elasticapm.contrib.flask import ElasticAPM\n\nfrom flask import Flask\n\napp = Flask(__name__)\napp.config['ELASTIC_APM'] = {\n    # Set required service name. Allowed characters:\n    # a-z, A-Z, 0-9, -, _, and space\n    'SERVICE_NAME': 'PYTHON_FLASK_TEST_APP',\n\n    # Set custom APM Server URL (default: http://localhost:8200)\n    'SERVER_URL': 'http://apm-server:8200',\n\n    'DEBUG': True,\n}\n```\n\nConfiguration settings for each supported language are available in the APM documentation: [APM Agents][apm-agents].\n\n## Checking connectivity and importing default APM dashboards\n\n1. On the Kibana home page, click `Add APM` under the _Observability_ panel.\n1. Click `Check APM Server status` to confirm the server is up and running.\n1. Click `Check agent status` to verify your agent has registered properly.\n1. Click `Load Kibana objects` to create an index pattern for APM.\n1. Click `Launch APM` to be taken to the APM dashboard.\n\n## See also\n\n[Running APM Server on Docker][apm-docker]\n\n[apm-agents]: https://www.elastic.co/guide/en/apm/guide/current/components.html\n[apm-docker]: https://www.elastic.co/guide/en/apm/guide/current/running-on-docker.html\n","2022/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# Logspout extension\n\nLogspout collects all Docker logs using the Docker logs API, and forwards them to Logstash without any additional\nconfiguration.\n\n## Usage\n\nIf you want to include the Logspout extension, run Docker Compose from the root of the repository with an additional\ncommand line argument referencing the `logspout-compose.yml` file:\n\n```bash\n$ docker-compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml up\n```\n\nIn your Logstash pipeline configuration, enable the `udp` input and set the input codec to `json`:\n\n```logstash\ninput {\n  udp {\n    port  => 5000\n    codec => json\n  }\n}\n```\n\n## Documentation\n\n<https://github.com/looplab/logspout-logstash>\n","2022/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# Curator\n\nElasticsearch Curator helps you curate or manage your indices.\n\n## Usage\n\nIf you want to include the Curator extension, run Docker Compose from the root of the repository with an additional\ncommand line argument referencing the `curator-compose.yml` file:\n\n```bash\n$ docker-compose -f docker-compose.yml -f extensions/curator/curator-compose.yml up\n```\n\nThis sample setup demonstrates how to run `curator` every minute using `cron`.\n\nAll configuration files are available in the `config/` directory.\n\n## Documentation\n\n[Curator Reference](https://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html)\n","2022/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# Metricbeat\n\nMetricbeat is a lightweight shipper that you can install on your servers to periodically collect metrics from the\noperating system and from services running on the server. Metricbeat takes the metrics and statistics that it collects\nand ships them to the output that you specify, such as Elasticsearch or Logstash.\n\n## Usage\n\nTo include Metricbeat in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `metricbeat-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml up\n```\n\n## Configuring Metricbeat\n\nThe Metricbeat configuration is stored in [`config/metricbeat.yml`](./config/metricbeat.yml). You can modify this file\nwith the help of the [Configuration reference][metricbeat-config].\n\nAny change to the Metricbeat configuration requires a restart of the Metricbeat container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml restart metricbeat\n```\n\nPlease refer to the following documentation page for more details about how to configure Metricbeat inside a\nDocker container: [Run Metricbeat on Docker][metricbeat-docker].\n\n## See also\n\n[Metricbeat documentation][metricbeat-doc]\n\n[metricbeat-config]: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-reference-yml.html\n[metricbeat-docker]: https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-docker.html\n[metricbeat-doc]: https://www.elastic.co/guide/en/beats/metricbeat/current/index.html\n","2022/tr/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/es/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/es/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# APM Server extension\n\nThe APM Server receives data from APM agents and transforms them into Elasticsearch documents that can be visualised in\nKibana.\n\n## Usage\n\nTo include APM Server in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `apm-server-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up\n```\n\nMeanwhile, you can navigate to the **APM** application in Kibana and follow the setup instructions to get started.\n\n## Connecting an agent to APM Server\n\nThe most basic configuration to send traces to APM server is to specify the `SERVICE_NAME` and `SERVICE_URL`. Here is an\nexample Python Flask configuration:\n\n```python\nimport elasticapm\nfrom elasticapm.contrib.flask import ElasticAPM\n\nfrom flask import Flask\n\napp = Flask(__name__)\napp.config['ELASTIC_APM'] = {\n    # Set required service name. Allowed characters:\n    # a-z, A-Z, 0-9, -, _, and space\n    'SERVICE_NAME': 'PYTHON_FLASK_TEST_APP',\n\n    # Set custom APM Server URL (default: http://localhost:8200)\n    'SERVER_URL': 'http://apm-server:8200',\n\n    'DEBUG': True,\n}\n```\n\nConfiguration settings for each supported language are available in the APM documentation: [APM Agents][apm-agents].\n\n## Checking connectivity and importing default APM dashboards\n\n1. On the Kibana home page, click `Add APM` under the _Observability_ panel.\n1. Click `Check APM Server status` to confirm the server is up and running.\n1. Click `Check agent status` to verify your agent has registered properly.\n1. Click `Load Kibana objects` to create an index pattern for APM.\n1. Click `Launch APM` to be taken to the APM dashboard.\n\n## See also\n\n[Running APM Server on Docker][apm-docker]\n\n[apm-agents]: https://www.elastic.co/guide/en/apm/guide/current/components.html\n[apm-docker]: https://www.elastic.co/guide/en/apm/guide/current/running-on-docker.html\n","2022/ja/Days/Monitoring/Elastic Stack/extensions/README.md":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# curator Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# enterprise-search Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# filebeat Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# logspout Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# metricbeat Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# apm-server Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# curator Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# enterprise-search Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# filebeat Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# logspout Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# metricbeat Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# apm-server Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# curator Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# enterprise-search Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# filebeat Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# logspout Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# metricbeat Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md":"# apm-server Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md":"# curator Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md":"# enterprise-search Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md":"# filebeat Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md":"# logspout Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md":"# metricbeat Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)"},"items":[{"name":"README.md","path":"2022/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","title":"apm-server Documentation","category":"plugin-manifest","format":"markdown","content":"# APM Server extension\n\nThe APM Server receives data from APM agents and transforms them into Elasticsearch documents that can be visualised in\nKibana.\n\n## Usage\n\nTo include APM Server in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `apm-server-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up\n```\n\nMeanwhile, you can navigate to the **APM** application in Kibana and follow the setup instructions to get started.\n\n## Connecting an agent to APM Server\n\nThe most basic configuration to send traces to APM server is to specify the `SERVICE_NAME` and `SERVICE_URL`. Here is an\nexample Python Flask configuration:\n\n```python\nimport elasticapm\nfrom elasticapm.contrib.flask import ElasticAPM\n\nfrom flask import Flask\n\napp = Flask(__name__)\napp.config['ELASTIC_APM'] = {\n    # Set required service name. Allowed characters:\n    # a-z, A-Z, 0-9, -, _, and space\n    'SERVICE_NAME': 'PYTHON_FLASK_TEST_APP',\n\n    # Set custom APM Server URL (default: http://localhost:8200)\n    'SERVER_URL': 'http://apm-server:8200',\n\n    'DEBUG': True,\n}\n```\n\nConfiguration settings for each supported language are available in the APM documentation: [APM Agents][apm-agents].\n\n## Checking connectivity and importing default APM dashboards\n\n1. On the Kibana home page, click `Add APM` under the _Observability_ panel.\n1. Click `Check APM Server status` to confirm the server is up and running.\n1. Click `Check agent status` to verify your agent has registered properly.\n1. Click `Load Kibana objects` to create an index pattern for APM.\n1. Click `Launch APM` to be taken to the APM dashboard.\n\n## See also\n\n[Running APM Server on Docker][apm-docker]\n\n[apm-agents]: https://www.elastic.co/guide/en/apm/guide/current/components.html\n[apm-docker]: https://www.elastic.co/guide/en/apm/guide/current/running-on-docker.html\n","isInternal":false,"tokens":487,"sizeBytes":1941},{"name":"README.md","path":"2022/Days/Monitoring/Elastic Stack/extensions/curator/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/Days/Monitoring/Elastic Stack/extensions/curator/README.md","title":"curator Documentation","category":"plugin-manifest","format":"markdown","content":"# Curator\n\nElasticsearch Curator helps you curate or manage your indices.\n\n## Usage\n\nIf you want to include the Curator extension, run Docker Compose from the root of the repository with an additional\ncommand line argument referencing the `curator-compose.yml` file:\n\n```bash\n$ docker-compose -f docker-compose.yml -f extensions/curator/curator-compose.yml up\n```\n\nThis sample setup demonstrates how to run `curator` every minute using `cron`.\n\nAll configuration files are available in the `config/` directory.\n\n## Documentation\n\n[Curator Reference](https://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html)\n","isInternal":false,"tokens":141,"sizeBytes":631},{"name":"README.md","path":"2022/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","title":"enterprise-search Documentation","category":"plugin-manifest","format":"markdown","content":"# Enterprise Search extension\n\nElastic Enterprise Search is a suite of products for search applications backed by the Elastic Stack.\n\n## Requirements\n\n* 2 GB of free RAM, on top of the resources required by the other stack components and extensions.\n\nEnterprise Search exposes the TCP port `3002` for its Web UI and API.\n\n## Usage\n\n### Generate an encryption key\n\nEnterprise Search requires one or more [encryption keys][enterprisesearch-encryption] to be configured before the\ninitial startup. Failing to do so prevents the server from starting.\n\nEncryption keys can contain any series of characters. Elastic recommends using 256-bit keys for optimal security.\n\nThose encryption keys must be added manually to the [`config/enterprise-search.yml`][config-enterprisesearch] file. By\ndefault, the list of encryption keys is empty and must be populated using one of the following formats:\n\n```yaml\nsecret_management.encryption_keys:\n  - my_first_encryption_key\n  - my_second_encryption_key\n  - ...\n```\n\n```yaml\nsecret_management.encryption_keys: [my_first_encryption_key, my_second_encryption_key, ...]\n```\n\n> :information_source: To generate a strong encryption key, for example using the AES-256 cipher, you can use the\n> OpenSSL utility or any other online/offline tool of your choice:\n>\n> ```console\n> $ openssl enc -aes-256 -P\n>\n> enter aes-256-cbc encryption password: <a strong password>\n> Verifying - enter aes-256-cbc encryption password: <repeat your strong password>\n> ...\n>\n> key=<generated AES key>\n> ```\n\n### Enable Elasticsearch's API key service\n\nEnterprise Search requires Elasticsearch's built-in [API key service][es-security] to be enabled in order to start.\nUnless Elasticsearch is configured to enable TLS on the HTTP interface (disabled by default), this service is disabled\nby default.\n\nTo enable it, modify the Elasticsearch configuration file in [`elasticsearch/config/elasticsearch.yml`][config-es] and\nadd the following setting:\n\n```yaml\nxpack.security.authc.api_key.enabled: true\n```\n\n### Configure the Enterprise Search host in Kibana\n\nKibana acts as the [management interface][enterprisesearch-ui] to Enterprise Search.\n\nTo enable the management experience for Enterprise Search, modify the Kibana configuration file in\n[`kibana/config/kibana.yml`][config-kbn] and add the following setting:\n\n```yaml\nenterpriseSearch.host: http://enterprise-search:3002\n```\n\n### Start the server\n\nTo include Enterprise Search in the stack, run Docker Compose from the root of the repository with an additional command\nline argument referencing the `enterprise-search-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml up\n```\n\nAllow a few minutes for the stack to start, then open your web browser at the address <http://localhost:3002> to see the\nEnterprise Search home page.\n\nEnterprise Search is configured on first boot with the following default credentials:\n\n* user: *enterprise_search*\n* password: *changeme*\n\n## Security\n\nThe Enterprise Search password is defined inside the Compose file via the `ENT_SEARCH_DEFAULT_PASSWORD` environment\nvariable. We highly recommend choosing a more secure password than the default one for security reasons.\n\nTo do so, change the value `ENT_SEARCH_DEFAULT_PASSWORD` environment variable inside the Compose file **before the first\nboot**:\n\n```yaml\nenterprise-search:\n\n  environment:\n    ENT_SEARCH_DEFAULT_PASSWORD: {{some strong password}}\n```\n\n> :warning: The default Enterprise Search password can only be set during the initial boot. Once the password is\n> persisted in Elasticsearch, it can only be changed via the Elasticsearch API.\n\nFor more information, please refer to [User Management and Security][enterprisesearch-security].\n\n## Configuring Enterprise Search\n\nThe Enterprise Search configuration is stored in [`config/enterprise-search.yml`][config-enterprisesearch]. You can\nmodify this file using the [Default Enterprise Search configuration][enterprisesearch-config] as a reference.\n\nYou can also specify the options you want to override by setting environment variables inside the Compose file:\n\n```yaml\nenterprise-search:\n\n  environment:\n    ent_search.auth.source: standard\n    worker.threads: '6'\n```\n\nAny change to the Enterprise Search configuration requires a restart of the Enterprise Search container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml restart enterprise-search\n```\n\nPlease refer to the following documentation page for more details about how to configure Enterprise Search inside a\nDocker container: [Running Enterprise Search Using Docker][enterprisesearch-docker].\n\n## See also\n\n[Enterprise Search documentation][enterprisesearch-docs]\n\n[config-enterprisesearch]: ./config/enterprise-search.yml\n\n[enterprisesearch-encryption]: https://www.elastic.co/guide/en/enterprise-search/current/encryption-keys.html\n[enterprisesearch-security]: https://www.elastic.co/guide/en/workplace-search/current/workplace-search-security.html\n[enterprisesearch-config]: https://www.elastic.co/guide/en/enterprise-search/current/configuration.html\n[enterprisesearch-docker]: https://www.elastic.co/guide/en/enterprise-search/current/docker.html\n[enterprisesearch-docs]: https://www.elastic.co/guide/en/enterprise-search/current/index.html\n[enterprisesearch-ui]: https://www.elastic.co/guide/en/enterprise-search/current/user-interfaces.html\n\n[es-security]: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#api-key-service-settings\n[config-es]: ../../elasticsearch/config/elasticsearch.yml\n[config-kbn]: ../../kibana/config/kibana.yml\n","isInternal":false,"tokens":1197,"sizeBytes":5691},{"name":"README.md","path":"2022/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","title":"filebeat Documentation","category":"plugin-manifest","format":"markdown","content":"# Filebeat\n\nFilebeat is a lightweight shipper for forwarding and centralizing log data. Installed as an agent on your servers,\nFilebeat monitors the log files or locations that you specify, collects log events, and forwards them either to\nElasticsearch or Logstash for indexing.\n\n## Usage\n\nTo include Filebeat in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `filebeat-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/filebeat/filebeat-compose.yml up\n```\n\n## Configuring Filebeat\n\nThe Filebeat configuration is stored in [`config/filebeat.yml`](./config/filebeat.yml). You can modify this file with\nthe help of the [Configuration reference][filebeat-config].\n\nAny change to the Filebeat configuration requires a restart of the Filebeat container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/filebeat/filebeat-compose.yml restart filebeat\n```\n\nPlease refer to the following documentation page for more details about how to configure Filebeat inside a Docker\ncontainer: [Run Filebeat on Docker][filebeat-docker].\n\n## See also\n\n[Filebeat documentation][filebeat-doc]\n\n[filebeat-config]: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-reference-yml.html\n[filebeat-docker]: https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html\n[filebeat-doc]: https://www.elastic.co/guide/en/beats/filebeat/current/index.html\n","isInternal":false,"tokens":325,"sizeBytes":1475},{"name":"README.md","path":"2022/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","title":"logspout Documentation","category":"plugin-manifest","format":"markdown","content":"# Logspout extension\n\nLogspout collects all Docker logs using the Docker logs API, and forwards them to Logstash without any additional\nconfiguration.\n\n## Usage\n\nIf you want to include the Logspout extension, run Docker Compose from the root of the repository with an additional\ncommand line argument referencing the `logspout-compose.yml` file:\n\n```bash\n$ docker-compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml up\n```\n\nIn your Logstash pipeline configuration, enable the `udp` input and set the input codec to `json`:\n\n```logstash\ninput {\n  udp {\n    port  => 5000\n    codec => json\n  }\n}\n```\n\n## Documentation\n\n<https://github.com/looplab/logspout-logstash>\n","isInternal":false,"tokens":166,"sizeBytes":686},{"name":"README.md","path":"2022/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","title":"metricbeat Documentation","category":"plugin-manifest","format":"markdown","content":"# Metricbeat\n\nMetricbeat is a lightweight shipper that you can install on your servers to periodically collect metrics from the\noperating system and from services running on the server. Metricbeat takes the metrics and statistics that it collects\nand ships them to the output that you specify, such as Elasticsearch or Logstash.\n\n## Usage\n\nTo include Metricbeat in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `metricbeat-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml up\n```\n\n## Configuring Metricbeat\n\nThe Metricbeat configuration is stored in [`config/metricbeat.yml`](./config/metricbeat.yml). You can modify this file\nwith the help of the [Configuration reference][metricbeat-config].\n\nAny change to the Metricbeat configuration requires a restart of the Metricbeat container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml restart metricbeat\n```\n\nPlease refer to the following documentation page for more details about how to configure Metricbeat inside a\nDocker container: [Run Metricbeat on Docker][metricbeat-docker].\n\n## See also\n\n[Metricbeat documentation][metricbeat-doc]\n\n[metricbeat-config]: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-reference-yml.html\n[metricbeat-docker]: https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-docker.html\n[metricbeat-doc]: https://www.elastic.co/guide/en/beats/metricbeat/current/index.html\n","isInternal":false,"tokens":345,"sizeBytes":1577},{"name":"README.md","path":"2022/Days/Monitoring/Elastic Stack/extensions/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/Days/Monitoring/Elastic Stack/extensions/README.md","title":"extensions Documentation","category":"plugin-manifest","format":"markdown","content":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","isInternal":false,"tokens":16,"sizeBytes":92},{"name":"README.md","path":"2022/es/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","title":"apm-server Documentation","category":"plugin-manifest","format":"markdown","content":"# APM Server extension\n\nThe APM Server receives data from APM agents and transforms them into Elasticsearch documents that can be visualised in\nKibana.\n\n## Usage\n\nTo include APM Server in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `apm-server-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up\n```\n\nMeanwhile, you can navigate to the **APM** application in Kibana and follow the setup instructions to get started.\n\n## Connecting an agent to APM Server\n\nThe most basic configuration to send traces to APM server is to specify the `SERVICE_NAME` and `SERVICE_URL`. Here is an\nexample Python Flask configuration:\n\n```python\nimport elasticapm\nfrom elasticapm.contrib.flask import ElasticAPM\n\nfrom flask import Flask\n\napp = Flask(__name__)\napp.config['ELASTIC_APM'] = {\n    # Set required service name. Allowed characters:\n    # a-z, A-Z, 0-9, -, _, and space\n    'SERVICE_NAME': 'PYTHON_FLASK_TEST_APP',\n\n    # Set custom APM Server URL (default: http://localhost:8200)\n    'SERVER_URL': 'http://apm-server:8200',\n\n    'DEBUG': True,\n}\n```\n\nConfiguration settings for each supported language are available in the APM documentation: [APM Agents][apm-agents].\n\n## Checking connectivity and importing default APM dashboards\n\n1. On the Kibana home page, click `Add APM` under the _Observability_ panel.\n1. Click `Check APM Server status` to confirm the server is up and running.\n1. Click `Check agent status` to verify your agent has registered properly.\n1. Click `Load Kibana objects` to create an index pattern for APM.\n1. Click `Launch APM` to be taken to the APM dashboard.\n\n## See also\n\n[Running APM Server on Docker][apm-docker]\n\n[apm-agents]: https://www.elastic.co/guide/en/apm/guide/current/components.html\n[apm-docker]: https://www.elastic.co/guide/en/apm/guide/current/running-on-docker.html\n","isInternal":false,"tokens":487,"sizeBytes":1941},{"name":"README.md","path":"2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md","title":"curator Documentation","category":"plugin-manifest","format":"markdown","content":"# curator Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","tokens":300,"sizeBytes":263},{"name":"README.md","path":"2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","title":"enterprise-search Documentation","category":"plugin-manifest","format":"markdown","content":"# enterprise-search Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","tokens":300,"sizeBytes":293},{"name":"README.md","path":"2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","title":"filebeat Documentation","category":"plugin-manifest","format":"markdown","content":"# filebeat Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","tokens":300,"sizeBytes":266},{"name":"README.md","path":"2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","title":"logspout Documentation","category":"plugin-manifest","format":"markdown","content":"# logspout Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","tokens":300,"sizeBytes":266},{"name":"README.md","path":"2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","title":"metricbeat Documentation","category":"plugin-manifest","format":"markdown","content":"# metricbeat Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","tokens":300,"sizeBytes":272},{"name":"README.md","path":"2022/es/Days/Monitoring/Elastic Stack/extensions/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/README.md","title":"extensions Documentation","category":"plugin-manifest","format":"markdown","content":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","isInternal":false,"tokens":16,"sizeBytes":92},{"name":"README.md","path":"2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","title":"apm-server Documentation","category":"plugin-manifest","format":"markdown","content":"# apm-server Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)","tokens":300,"sizeBytes":272},{"name":"README.md","path":"2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md","title":"curator Documentation","category":"plugin-manifest","format":"markdown","content":"# curator Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","tokens":300,"sizeBytes":263},{"name":"README.md","path":"2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","title":"enterprise-search Documentation","category":"plugin-manifest","format":"markdown","content":"# enterprise-search Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","tokens":300,"sizeBytes":293},{"name":"README.md","path":"2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","title":"filebeat Documentation","category":"plugin-manifest","format":"markdown","content":"# filebeat Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","tokens":300,"sizeBytes":266},{"name":"README.md","path":"2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","title":"logspout Documentation","category":"plugin-manifest","format":"markdown","content":"# logspout Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","tokens":300,"sizeBytes":266},{"name":"README.md","path":"2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","title":"metricbeat Documentation","category":"plugin-manifest","format":"markdown","content":"# metricbeat Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","tokens":300,"sizeBytes":272},{"name":"README.md","path":"2022/ja/Days/Monitoring/Elastic Stack/extensions/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/README.md","title":"extensions Documentation","category":"plugin-manifest","format":"markdown","content":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","isInternal":false,"tokens":16,"sizeBytes":92},{"name":"README.md","path":"2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","title":"apm-server Documentation","category":"plugin-manifest","format":"markdown","content":"# apm-server Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)","tokens":300,"sizeBytes":272},{"name":"README.md","path":"2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md","title":"curator Documentation","category":"plugin-manifest","format":"markdown","content":"# curator Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","tokens":300,"sizeBytes":263},{"name":"README.md","path":"2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","title":"enterprise-search Documentation","category":"plugin-manifest","format":"markdown","content":"# enterprise-search Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","tokens":300,"sizeBytes":293},{"name":"README.md","path":"2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","title":"filebeat Documentation","category":"plugin-manifest","format":"markdown","content":"# filebeat Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","tokens":300,"sizeBytes":266},{"name":"README.md","path":"2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","title":"logspout Documentation","category":"plugin-manifest","format":"markdown","content":"# logspout Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","tokens":300,"sizeBytes":266},{"name":"README.md","path":"2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","title":"metricbeat Documentation","category":"plugin-manifest","format":"markdown","content":"# metricbeat Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","tokens":300,"sizeBytes":272},{"name":"README.md","path":"2022/tr/Days/Monitoring/Elastic Stack/extensions/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/README.md","title":"extensions Documentation","category":"plugin-manifest","format":"markdown","content":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","isInternal":false,"tokens":16,"sizeBytes":92},{"name":"README.md","path":"2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md","title":"apm-server Documentation","category":"plugin-manifest","format":"markdown","content":"# apm-server Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)","tokens":300,"sizeBytes":278},{"name":"README.md","path":"2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md","title":"curator Documentation","category":"plugin-manifest","format":"markdown","content":"# curator Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md)","tokens":300,"sizeBytes":269},{"name":"README.md","path":"2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md","title":"enterprise-search Documentation","category":"plugin-manifest","format":"markdown","content":"# enterprise-search Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)","tokens":300,"sizeBytes":299},{"name":"README.md","path":"2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md","title":"filebeat Documentation","category":"plugin-manifest","format":"markdown","content":"# filebeat Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)","tokens":300,"sizeBytes":272},{"name":"README.md","path":"2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md","title":"logspout Documentation","category":"plugin-manifest","format":"markdown","content":"# logspout Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)","tokens":300,"sizeBytes":272},{"name":"README.md","path":"2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md","title":"metricbeat Documentation","category":"plugin-manifest","format":"markdown","content":"# metricbeat Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)","tokens":300,"sizeBytes":278},{"name":"README.md","path":"2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/README.md","rawUrl":"https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/README.md","title":"extensions Documentation","category":"plugin-manifest","format":"markdown","content":"# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n","isInternal":false,"tokens":16,"sizeBytes":92}],"systemPromptSnippet":"<yakaai_skills repo=\"MichaelCade/90DaysOfDevOps\">\n<!-- File: 2022/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md (Tokens: ~487 | Category: plugin-manifest) -->\n# APM Server extension\n\nThe APM Server receives data from APM agents and transforms them into Elasticsearch documents that can be visualised in\nKibana.\n\n## Usage\n\nTo include APM Server in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `apm-server-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up\n```\n\nMeanwhile, you can navigate to the **APM** application in Kibana and follow the setup instructions to get started.\n\n## Connecting an agent to APM Server\n\nThe most basic configuration to send traces to APM server is to specify the `SERVICE_NAME` and `SERVICE_URL`. Here is an\nexample Python Flask configuration:\n\n```python\nimport elasticapm\nfrom elasticapm.contrib.flask import ElasticAPM\n\nfrom flask import Flask\n\napp = Flask(__name__)\napp.config['ELASTIC_APM'] = {\n    # Set required service name. Allowed characters:\n    # a-z, A-Z, 0-9, -, _, and space\n    'SERVICE_NAME': 'PYTHON_FLASK_TEST_APP',\n\n    # Set custom APM Server URL (default: http://localhost:8200)\n    'SERVER_URL': 'http://apm-server:8200',\n\n    'DEBUG': True,\n}\n```\n\nConfiguration settings for each supported language are available in the APM documentation: [APM Agents][apm-agents].\n\n## Checking connectivity and importing default APM dashboards\n\n1. On the Kibana home page, click `Add APM` under the _Observability_ panel.\n1. Click `Check APM Server status` to confirm the server is up and running.\n1. Click `Check agent status` to verify your agent has registered properly.\n1. Click `Load Kibana objects` to create an index pattern for APM.\n1. Click `Launch APM` to be taken to the APM dashboard.\n\n## See also\n\n[Running APM Server on Docker][apm-docker]\n\n[apm-agents]: https://www.elastic.co/guide/en/apm/guide/current/components.html\n[apm-docker]: https://www.elastic.co/guide/en/apm/guide/current/running-on-docker.html\n\n<!-- File: 2022/Days/Monitoring/Elastic Stack/extensions/curator/README.md (Tokens: ~141 | Category: plugin-manifest) -->\n# Curator\n\nElasticsearch Curator helps you curate or manage your indices.\n\n## Usage\n\nIf you want to include the Curator extension, run Docker Compose from the root of the repository with an additional\ncommand line argument referencing the `curator-compose.yml` file:\n\n```bash\n$ docker-compose -f docker-compose.yml -f extensions/curator/curator-compose.yml up\n```\n\nThis sample setup demonstrates how to run `curator` every minute using `cron`.\n\nAll configuration files are available in the `config/` directory.\n\n## Documentation\n\n[Curator Reference](https://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html)\n\n<!-- File: 2022/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md (Tokens: ~1197 | Category: plugin-manifest) -->\n# Enterprise Search extension\n\nElastic Enterprise Search is a suite of products for search applications backed by the Elastic Stack.\n\n## Requirements\n\n* 2 GB of free RAM, on top of the resources required by the other stack components and extensions.\n\nEnterprise Search exposes the TCP port `3002` for its Web UI and API.\n\n## Usage\n\n### Generate an encryption key\n\nEnterprise Search requires one or more [encryption keys][enterprisesearch-encryption] to be configured before the\ninitial startup. Failing to do so prevents the server from starting.\n\nEncryption keys can contain any series of characters. Elastic recommends using 256-bit keys for optimal security.\n\nThose encryption keys must be added manually to the [`config/enterprise-search.yml`][config-enterprisesearch] file. By\ndefault, the list of encryption keys is empty and must be populated using one of the following formats:\n\n```yaml\nsecret_management.encryption_keys:\n  - my_first_encryption_key\n  - my_second_encryption_key\n  - ...\n```\n\n```yaml\nsecret_management.encryption_keys: [my_first_encryption_key, my_second_encryption_key, ...]\n```\n\n> :information_source: To generate a strong encryption key, for example using the AES-256 cipher, you can use the\n> OpenSSL utility or any other online/offline tool of your choice:\n>\n> ```console\n> $ openssl enc -aes-256 -P\n>\n> enter aes-256-cbc encryption password: <a strong password>\n> Verifying - enter aes-256-cbc encryption password: <repeat your strong password>\n> ...\n>\n> key=<generated AES key>\n> ```\n\n### Enable Elasticsearch's API key service\n\nEnterprise Search requires Elasticsearch's built-in [API key service][es-security] to be enabled in order to start.\nUnless Elasticsearch is configured to enable TLS on the HTTP interface (disabled by default), this service is disabled\nby default.\n\nTo enable it, modify the Elasticsearch configuration file in [`elasticsearch/config/elasticsearch.yml`][config-es] and\nadd the following setting:\n\n```yaml\nxpack.security.authc.api_key.enabled: true\n```\n\n### Configure the Enterprise Search host in Kibana\n\nKibana acts as the [management interface][enterprisesearch-ui] to Enterprise Search.\n\nTo enable the management experience for Enterprise Search, modify the Kibana configuration file in\n[`kibana/config/kibana.yml`][config-kbn] and add the following setting:\n\n```yaml\nenterpriseSearch.host: http://enterprise-search:3002\n```\n\n### Start the server\n\nTo include Enterprise Search in the stack, run Docker Compose from the root of the repository with an additional command\nline argument referencing the `enterprise-search-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml up\n```\n\nAllow a few minutes for the stack to start, then open your web browser at the address <http://localhost:3002> to see the\nEnterprise Search home page.\n\nEnterprise Search is configured on first boot with the following default credentials:\n\n* user: *enterprise_search*\n* password: *changeme*\n\n## Security\n\nThe Enterprise Search password is defined inside the Compose file via the `ENT_SEARCH_DEFAULT_PASSWORD` environment\nvariable. We highly recommend choosing a more secure password than the default one for security reasons.\n\nTo do so, change the value `ENT_SEARCH_DEFAULT_PASSWORD` environment variable inside the Compose file **before the first\nboot**:\n\n```yaml\nenterprise-search:\n\n  environment:\n    ENT_SEARCH_DEFAULT_PASSWORD: {{some strong password}}\n```\n\n> :warning: The default Enterprise Search password can only be set during the initial boot. Once the password is\n> persisted in Elasticsearch, it can only be changed via the Elasticsearch API.\n\nFor more information, please refer to [User Management and Security][enterprisesearch-security].\n\n## Configuring Enterprise Search\n\nThe Enterprise Search configuration is stored in [`config/enterprise-search.yml`][config-enterprisesearch]. You can\nmodify this file using the [Default Enterprise Search configuration][enterprisesearch-config] as a reference.\n\nYou can also specify the options you want to override by setting environment variables inside the Compose file:\n\n```yaml\nenterprise-search:\n\n  environment:\n    ent_search.auth.source: standard\n    worker.threads: '6'\n```\n\nAny change to the Enterprise Search configuration requires a restart of the Enterprise Search container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/enterprise-search/enterprise-search-compose.yml restart enterprise-search\n```\n\nPlease refer to the following documentation page for more details about how to configure Enterprise Search inside a\nDocker container: [Running Enterprise Search Using Docker][enterprisesearch-docker].\n\n## See also\n\n[Enterprise Search documentation][enterprisesearch-docs]\n\n[config-enterprisesearch]: ./config/enterprise-search.yml\n\n[enterprisesearch-encryption]: https://www.elastic.co/guide/en/enterprise-search/current/encryption-keys.html\n[enterprisesearch-security]: https://www.elastic.co/guide/en/workplace-search/current/workplace-search-security.html\n[enterprisesearch-config]: https://www.elastic.co/guide/en/enterprise-search/current/configuration.html\n[enterprisesearch-docker]: https://www.elastic.co/guide/en/enterprise-search/current/docker.html\n[enterprisesearch-docs]: https://www.elastic.co/guide/en/enterprise-search/current/index.html\n[enterprisesearch-ui]: https://www.elastic.co/guide/en/enterprise-search/current/user-interfaces.html\n\n[es-security]: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-settings.html#api-key-service-settings\n[config-es]: ../../elasticsearch/config/elasticsearch.yml\n[config-kbn]: ../../kibana/config/kibana.yml\n\n<!-- File: 2022/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md (Tokens: ~325 | Category: plugin-manifest) -->\n# Filebeat\n\nFilebeat is a lightweight shipper for forwarding and centralizing log data. Installed as an agent on your servers,\nFilebeat monitors the log files or locations that you specify, collects log events, and forwards them either to\nElasticsearch or Logstash for indexing.\n\n## Usage\n\nTo include Filebeat in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `filebeat-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/filebeat/filebeat-compose.yml up\n```\n\n## Configuring Filebeat\n\nThe Filebeat configuration is stored in [`config/filebeat.yml`](./config/filebeat.yml). You can modify this file with\nthe help of the [Configuration reference][filebeat-config].\n\nAny change to the Filebeat configuration requires a restart of the Filebeat container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/filebeat/filebeat-compose.yml restart filebeat\n```\n\nPlease refer to the following documentation page for more details about how to configure Filebeat inside a Docker\ncontainer: [Run Filebeat on Docker][filebeat-docker].\n\n## See also\n\n[Filebeat documentation][filebeat-doc]\n\n[filebeat-config]: https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-reference-yml.html\n[filebeat-docker]: https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html\n[filebeat-doc]: https://www.elastic.co/guide/en/beats/filebeat/current/index.html\n\n<!-- File: 2022/Days/Monitoring/Elastic Stack/extensions/logspout/README.md (Tokens: ~166 | Category: plugin-manifest) -->\n# Logspout extension\n\nLogspout collects all Docker logs using the Docker logs API, and forwards them to Logstash without any additional\nconfiguration.\n\n## Usage\n\nIf you want to include the Logspout extension, run Docker Compose from the root of the repository with an additional\ncommand line argument referencing the `logspout-compose.yml` file:\n\n```bash\n$ docker-compose -f docker-compose.yml -f extensions/logspout/logspout-compose.yml up\n```\n\nIn your Logstash pipeline configuration, enable the `udp` input and set the input codec to `json`:\n\n```logstash\ninput {\n  udp {\n    port  => 5000\n    codec => json\n  }\n}\n```\n\n## Documentation\n\n<https://github.com/looplab/logspout-logstash>\n\n<!-- File: 2022/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md (Tokens: ~345 | Category: plugin-manifest) -->\n# Metricbeat\n\nMetricbeat is a lightweight shipper that you can install on your servers to periodically collect metrics from the\noperating system and from services running on the server. Metricbeat takes the metrics and statistics that it collects\nand ships them to the output that you specify, such as Elasticsearch or Logstash.\n\n## Usage\n\nTo include Metricbeat in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `metricbeat-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml up\n```\n\n## Configuring Metricbeat\n\nThe Metricbeat configuration is stored in [`config/metricbeat.yml`](./config/metricbeat.yml). You can modify this file\nwith the help of the [Configuration reference][metricbeat-config].\n\nAny change to the Metricbeat configuration requires a restart of the Metricbeat container:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/metricbeat/metricbeat-compose.yml restart metricbeat\n```\n\nPlease refer to the following documentation page for more details about how to configure Metricbeat inside a\nDocker container: [Run Metricbeat on Docker][metricbeat-docker].\n\n## See also\n\n[Metricbeat documentation][metricbeat-doc]\n\n[metricbeat-config]: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-reference-yml.html\n[metricbeat-docker]: https://www.elastic.co/guide/en/beats/metricbeat/current/running-on-docker.html\n[metricbeat-doc]: https://www.elastic.co/guide/en/beats/metricbeat/current/index.html\n\n<!-- File: 2022/Days/Monitoring/Elastic Stack/extensions/README.md (Tokens: ~16 | Category: plugin-manifest) -->\n# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n\n<!-- File: 2022/es/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md (Tokens: ~487 | Category: plugin-manifest) -->\n# APM Server extension\n\nThe APM Server receives data from APM agents and transforms them into Elasticsearch documents that can be visualised in\nKibana.\n\n## Usage\n\nTo include APM Server in the stack, run Docker Compose from the root of the repository with an additional command line\nargument referencing the `apm-server-compose.yml` file:\n\n```console\n$ docker-compose -f docker-compose.yml -f extensions/apm-server/apm-server-compose.yml up\n```\n\nMeanwhile, you can navigate to the **APM** application in Kibana and follow the setup instructions to get started.\n\n## Connecting an agent to APM Server\n\nThe most basic configuration to send traces to APM server is to specify the `SERVICE_NAME` and `SERVICE_URL`. Here is an\nexample Python Flask configuration:\n\n```python\nimport elasticapm\nfrom elasticapm.contrib.flask import ElasticAPM\n\nfrom flask import Flask\n\napp = Flask(__name__)\napp.config['ELASTIC_APM'] = {\n    # Set required service name. Allowed characters:\n    # a-z, A-Z, 0-9, -, _, and space\n    'SERVICE_NAME': 'PYTHON_FLASK_TEST_APP',\n\n    # Set custom APM Server URL (default: http://localhost:8200)\n    'SERVER_URL': 'http://apm-server:8200',\n\n    'DEBUG': True,\n}\n```\n\nConfiguration settings for each supported language are available in the APM documentation: [APM Agents][apm-agents].\n\n## Checking connectivity and importing default APM dashboards\n\n1. On the Kibana home page, click `Add APM` under the _Observability_ panel.\n1. Click `Check APM Server status` to confirm the server is up and running.\n1. Click `Check agent status` to verify your agent has registered properly.\n1. Click `Load Kibana objects` to create an index pattern for APM.\n1. Click `Launch APM` to be taken to the APM dashboard.\n\n## See also\n\n[Running APM Server on Docker][apm-docker]\n\n[apm-agents]: https://www.elastic.co/guide/en/apm/guide/current/components.html\n[apm-docker]: https://www.elastic.co/guide/en/apm/guide/current/running-on-docker.html\n\n<!-- File: 2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# curator Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/curator/README.md)\n\n<!-- File: 2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# enterprise-search Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)\n\n<!-- File: 2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# filebeat Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)\n\n<!-- File: 2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# logspout Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)\n\n<!-- File: 2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# metricbeat Documentation\n\nPath: `2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/es/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)\n\n<!-- File: 2022/es/Days/Monitoring/Elastic Stack/extensions/README.md (Tokens: ~16 | Category: plugin-manifest) -->\n# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n\n<!-- File: 2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# apm-server Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)\n\n<!-- File: 2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# curator Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/curator/README.md)\n\n<!-- File: 2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# enterprise-search Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)\n\n<!-- File: 2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# filebeat Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)\n\n<!-- File: 2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# logspout Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)\n\n<!-- File: 2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# metricbeat Documentation\n\nPath: `2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/ja/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)\n\n<!-- File: 2022/ja/Days/Monitoring/Elastic Stack/extensions/README.md (Tokens: ~16 | Category: plugin-manifest) -->\n# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n\n<!-- File: 2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# apm-server Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)\n\n<!-- File: 2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# curator Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/curator/README.md)\n\n<!-- File: 2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# enterprise-search Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/enterprise-search/README.md)\n\n<!-- File: 2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# filebeat Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/filebeat/README.md)\n\n<!-- File: 2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# logspout Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/logspout/README.md)\n\n<!-- File: 2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# metricbeat Documentation\n\nPath: `2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/tr/Days/Monitoring/Elastic Stack/extensions/metricbeat/README.md)\n\n<!-- File: 2022/tr/Days/Monitoring/Elastic Stack/extensions/README.md (Tokens: ~16 | Category: plugin-manifest) -->\n# Extensions\n\nThird-party extensions that enable extra integrations with the Elastic stack.\n\n<!-- File: 2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# apm-server Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/apm-server/README.md)\n\n<!-- File: 2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md (Tokens: ~300 | Category: plugin-manifest) -->\n# curator Documentation\n\nPath: `2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/MichaelCade/90DaysOfDevOps/HEAD/2022/zh_tw/Days/Monitoring/Elastic Stack/extensions/curator/README.md)\n\n<!-- ... +5 more modular skills available via /api/skills/MichaelCade/90DaysOfDevOps?path={path} -->\n</yakaai_skills>"}