{
  "name": "haproxy",
  "title": "HAProxy",
  "version": "1.19.0",
  "release": "ga",
  "description": "Collect logs and metrics from HAProxy servers with Elastic Agent.",
  "type": "integration",
  "download": "/epr/haproxy/haproxy-1.19.0.zip",
  "path": "/package/haproxy/1.19.0",
  "icons": [
    {
      "src": "/img/logo_haproxy.svg",
      "path": "/package/haproxy/1.19.0/img/logo_haproxy.svg",
      "title": "logo HAProxy",
      "size": "32x32",
      "type": "image/svg+xml"
    }
  ],
  "conditions": {
    "kibana": {
      "version": "^8.13.0 || ^9.0.0"
    }
  },
  "owner": {
    "type": "elastic",
    "github": "elastic/obs-infraobs-integrations"
  },
  "categories": [
    "load_balancer",
    "observability"
  ],
  "signature_path": "/epr/haproxy/haproxy-1.19.0.zip.sig",
  "format_version": "3.0.2",
  "readme": "/package/haproxy/1.19.0/docs/README.md",
  "license": "basic",
  "screenshots": [
    {
      "src": "/img/kibana-haproxy-overview.png",
      "path": "/package/haproxy/1.19.0/img/kibana-haproxy-overview.png",
      "title": "Kibana HAProxy overview",
      "size": "1725x780",
      "type": "image/png"
    },
    {
      "src": "/img/haproxy-logs-overview.png",
      "path": "/package/haproxy/1.19.0/img/haproxy-logs-overview.png",
      "title": "HAProxy overview",
      "size": "1725x780",
      "type": "image/png"
    },
    {
      "src": "/img/haproxy-metrics-backend.png",
      "path": "/package/haproxy/1.19.0/img/haproxy-metrics-backend.png",
      "title": "HAProxy Backend",
      "size": "1725x780",
      "type": "image/png"
    },
    {
      "src": "/img/haproxy-metrics-frontend.png",
      "path": "/package/haproxy/1.19.0/img/haproxy-metrics-frontend.png",
      "title": "HAProxy Frontend",
      "size": "1725x780",
      "type": "image/png"
    },
    {
      "src": "/img/haproxy-metrics-http-backend.png",
      "path": "/package/haproxy/1.19.0/img/haproxy-metrics-http-backend.png",
      "title": "HAProxy HTTP Backend",
      "size": "1725x780",
      "type": "image/png"
    },
    {
      "src": "/img/haproxy-metrics-http-frontend.png",
      "path": "/package/haproxy/1.19.0/img/haproxy-metrics-http-frontend.png",
      "title": "HAProxy HTTP Frontend",
      "size": "1725x780",
      "type": "image/png"
    },
    {
      "src": "/img/haproxy-metrics-http-server.png",
      "path": "/package/haproxy/1.19.0/img/haproxy-metrics-http-server.png",
      "title": "HAProxy HTTP Server",
      "size": "1725x780",
      "type": "image/png"
    },
    {
      "src": "/img/haproxy-metrics-overview.png",
      "path": "/package/haproxy/1.19.0/img/haproxy-metrics-overview.png",
      "title": "HAProxy Metrics overview",
      "size": "1725x780",
      "type": "image/png"
    }
  ],
  "assets": [
    "/package/haproxy/1.19.0/LICENSE.txt",
    "/package/haproxy/1.19.0/changelog.yml",
    "/package/haproxy/1.19.0/manifest.yml",
    "/package/haproxy/1.19.0/docs/README.md",
    "/package/haproxy/1.19.0/img/haproxy-logs-overview.png",
    "/package/haproxy/1.19.0/img/haproxy-metrics-backend.png",
    "/package/haproxy/1.19.0/img/haproxy-metrics-frontend.png",
    "/package/haproxy/1.19.0/img/haproxy-metrics-http-backend.png",
    "/package/haproxy/1.19.0/img/haproxy-metrics-http-frontend.png",
    "/package/haproxy/1.19.0/img/haproxy-metrics-http-server.png",
    "/package/haproxy/1.19.0/img/haproxy-metrics-overview.png",
    "/package/haproxy/1.19.0/img/kibana-haproxy-overview.png",
    "/package/haproxy/1.19.0/img/logo_haproxy.svg",
    "/package/haproxy/1.19.0/data_stream/info/manifest.yml",
    "/package/haproxy/1.19.0/data_stream/info/sample_event.json",
    "/package/haproxy/1.19.0/data_stream/log/manifest.yml",
    "/package/haproxy/1.19.0/data_stream/log/sample_event.json",
    "/package/haproxy/1.19.0/data_stream/stat/manifest.yml",
    "/package/haproxy/1.19.0/data_stream/stat/sample_event.json",
    "/package/haproxy/1.19.0/kibana/dashboard/haproxy-0836a4b0-47bd-11e8-bc13-1397384faad3.json",
    "/package/haproxy/1.19.0/kibana/dashboard/haproxy-3560d580-aa34-11e8-9c06-877f0445e3e0.json",
    "/package/haproxy/1.19.0/kibana/dashboard/haproxy-4b555c30-47dd-11e8-bc13-1397384faad3.json",
    "/package/haproxy/1.19.0/kibana/dashboard/haproxy-8cc50a50-47e0-11e8-bc13-1397384faad3.json",
    "/package/haproxy/1.19.0/kibana/dashboard/haproxy-9151c900-471d-11e8-bc13-1397384faad3.json",
    "/package/haproxy/1.19.0/kibana/dashboard/haproxy-d5878d00-47c5-11e8-bc13-1397384faad3.json",
    "/package/haproxy/1.19.0/kibana/dashboard/haproxy-e9057ae0-47c5-11e8-bc13-1397384faad3.json",
    "/package/haproxy/1.19.0/data_stream/info/fields/agent.yml",
    "/package/haproxy/1.19.0/data_stream/info/fields/base-fields.yml",
    "/package/haproxy/1.19.0/data_stream/info/fields/ecs.yml",
    "/package/haproxy/1.19.0/data_stream/info/fields/fields.yml",
    "/package/haproxy/1.19.0/data_stream/log/fields/agent.yml",
    "/package/haproxy/1.19.0/data_stream/log/fields/base-fields.yml",
    "/package/haproxy/1.19.0/data_stream/log/fields/fields.yml",
    "/package/haproxy/1.19.0/data_stream/log/fields/package-fields.yml",
    "/package/haproxy/1.19.0/data_stream/stat/fields/agent.yml",
    "/package/haproxy/1.19.0/data_stream/stat/fields/base-fields.yml",
    "/package/haproxy/1.19.0/data_stream/stat/fields/ecs.yml",
    "/package/haproxy/1.19.0/data_stream/stat/fields/fields.yml",
    "/package/haproxy/1.19.0/data_stream/info/agent/stream/stream.yml.hbs",
    "/package/haproxy/1.19.0/data_stream/log/agent/stream/log.yml.hbs",
    "/package/haproxy/1.19.0/data_stream/log/agent/stream/syslog.yml.hbs",
    "/package/haproxy/1.19.0/data_stream/log/elasticsearch/ingest_pipeline/default.yml",
    "/package/haproxy/1.19.0/data_stream/stat/agent/stream/stream.yml.hbs"
  ],
  "policy_templates": [
    {
      "name": "haproxy",
      "title": "HAProxy logs and metrics",
      "description": "Collect logs and metrics from HAProxy instances",
      "inputs": [
        {
          "type": "logfile",
          "title": "Collect HAProxy application logs",
          "description": "Collecting application logs from HAProxy instances using the logfile input"
        },
        {
          "type": "syslog",
          "title": "Collect HAProxy application logs over syslog",
          "description": "Collecting application logs from HAProxy instances using the syslog input"
        },
        {
          "type": "haproxy/metrics",
          "vars": [
            {
              "name": "hosts",
              "type": "text",
              "title": "Hosts",
              "multi": true,
              "required": true,
              "show_user": true,
              "default": [
                "tcp://127.0.0.1:14567"
              ]
            },
            {
              "name": "username",
              "type": "text",
              "title": "Username",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "admin"
            },
            {
              "name": "password",
              "type": "password",
              "title": "Password",
              "multi": false,
              "required": false,
              "show_user": false,
              "default": "admin"
            },
            {
              "name": "condition",
              "type": "text",
              "title": "Condition",
              "description": "Condition to filter when to collect this input. See [Dynamic Input Configuration](https://www.elastic.co/guide/en/fleet/current/dynamic-input-configuration.html) for details.",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "title": "Collect HAProxy info and stat metrics",
          "description": "Collecting info and stat metrics from HAProxy instances"
        }
      ],
      "multiple": true
    }
  ],
  "data_streams": [
    {
      "type": "metrics",
      "dataset": "haproxy.info",
      "title": "HAProxy info metrics",
      "release": "ga",
      "streams": [
        {
          "input": "haproxy/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "10s"
            },
            {
              "name": "processors",
              "type": "yaml",
              "title": "Processors",
              "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the events are shipped. See [Processors](https://www.elastic.co/guide/en/fleet/current/elastic-agent-processor-configuration.html) for details.\n",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "HAProxy info metrics",
          "description": "Collect HAProxy info metrics",
          "enabled": true,
          "ingestion_method": "API"
        }
      ],
      "package": "haproxy",
      "elasticsearch": {},
      "path": "info"
    },
    {
      "type": "logs",
      "dataset": "haproxy.log",
      "title": "HAProxy logs",
      "release": "ga",
      "ingest_pipeline": "default",
      "streams": [
        {
          "input": "logfile",
          "vars": [
            {
              "name": "paths",
              "type": "text",
              "title": "Paths",
              "multi": true,
              "required": true,
              "show_user": true,
              "default": [
                "/var/log/haproxy.log"
              ]
            },
            {
              "name": "tags",
              "type": "text",
              "title": "Tags",
              "multi": true,
              "required": true,
              "show_user": false,
              "default": [
                "haproxy-log"
              ]
            },
            {
              "name": "preserve_original_event",
              "type": "bool",
              "title": "Preserve original event",
              "description": "Preserves a raw copy of the original event, added to the field `event.original`",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": false
            },
            {
              "name": "tz_offset",
              "type": "text",
              "title": "Timezone",
              "description": "IANA time zone or time offset (e.g. `+0200`) to use when interpreting syslog timestamps without a time zone. Can also be set to `local` to use the agent's local time zone which is the default.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "processors",
              "type": "yaml",
              "title": "Processors",
              "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details.\n",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "log.yml.hbs",
          "title": "HAProxy application logs",
          "description": "Collect HAProxy application logs from files",
          "enabled": true,
          "ingestion_method": "File"
        },
        {
          "input": "syslog",
          "vars": [
            {
              "name": "syslog_host",
              "type": "text",
              "title": "Syslog Host",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "localhost"
            },
            {
              "name": "syslog_port",
              "type": "integer",
              "title": "Syslog Port",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": 9001
            },
            {
              "name": "tags",
              "type": "text",
              "title": "Tags",
              "multi": true,
              "required": true,
              "show_user": false,
              "default": [
                "forwarded",
                "haproxy-log"
              ]
            },
            {
              "name": "preserve_original_event",
              "type": "bool",
              "title": "Preserve original event",
              "description": "Preserves a raw copy of the original event, added to the field `event.original`",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": false
            },
            {
              "name": "tz_offset",
              "type": "text",
              "title": "Timezone",
              "description": "IANA time zone or time offset (e.g. `+0200`) to use when interpreting syslog timestamps without a time zone. Can also be set to `local` to use the agent's local time zone which is the default.",
              "multi": false,
              "required": false,
              "show_user": false
            },
            {
              "name": "processors",
              "type": "yaml",
              "title": "Processors",
              "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the logs are parsed. See [Processors](https://www.elastic.co/guide/en/beats/filebeat/current/filtering-and-enhancing-data.html) for details.\n",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "syslog.yml.hbs",
          "title": "HAProxy application logs over syslog",
          "description": "Collect HAProxy application logs using syslog input",
          "enabled": true,
          "ingestion_method": "Network Protocol"
        }
      ],
      "package": "haproxy",
      "path": "log"
    },
    {
      "type": "metrics",
      "dataset": "haproxy.stat",
      "title": "HAProxy stat metrics",
      "release": "ga",
      "streams": [
        {
          "input": "haproxy/metrics",
          "vars": [
            {
              "name": "period",
              "type": "text",
              "title": "Period",
              "multi": false,
              "required": true,
              "show_user": true,
              "default": "10s"
            },
            {
              "name": "processors",
              "type": "yaml",
              "title": "Processors",
              "description": "Processors are used to reduce the number of fields in the exported event or to enhance the event with metadata. This executes in the agent before the events are shipped. See [Processors](https://www.elastic.co/guide/en/fleet/current/elastic-agent-processor-configuration.html) for details.  \n",
              "multi": false,
              "required": false,
              "show_user": false
            }
          ],
          "template_path": "stream.yml.hbs",
          "title": "HAProxy stat metrics",
          "description": "Collect HAProxy stat metrics",
          "enabled": true,
          "ingestion_method": "API"
        }
      ],
      "package": "haproxy",
      "elasticsearch": {},
      "path": "stat"
    }
  ]
}
