{"id":690,"date":"2026-07-21T02:02:17","date_gmt":"2026-07-21T02:02:17","guid":{"rendered":"https:\/\/virtualserversvps.com\/blog\/?p=690"},"modified":"2026-07-21T02:02:17","modified_gmt":"2026-07-21T02:02:17","slug":"vps-log-aggregation-opensearch-fluentd-pipeline","status":"publish","type":"post","link":"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/","title":{"rendered":"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">When you manage multiple VPS instances, application logs spread across every server \u2014 making troubleshooting, security auditing, and performance analysis a manual nightmare. A centralized log aggregation pipeline solves this by collecting logs from all your VPS nodes into a single searchable platform. This guide walks through setting up a production-grade log pipeline using OpenSearch (the open-source fork of Elasticsearch) for storage and search, Fluentd for log collection and forwarding, and OpenSearch Dashboards for visualization. All components run on your own VPS infrastructure with no external SaaS dependency. For a VPS with the RAM and storage to run this pipeline effectively, <a href=\"https:\/\/virtualserversvps.com\/\">find the right VPS for your logging infrastructure<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Architecture Overview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The pipeline has three layers:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Agent layer (Fluentd on each VPS):<\/strong> Tail log files, apply parsing and filtering, and forward to the aggregator.<\/li>\n<li><strong>Aggregator layer (Fluentd on a central VPS):<\/strong> Receive logs from all agents, buffer them, and write to OpenSearch.<\/li>\n<li><strong>Storage and search layer (OpenSearch on a central VPS):<\/strong> Index and store logs, serve search queries, and power dashboards.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites and VPS Sizing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For a setup aggregating logs from 5\u201310 VPS instances at ~1 GB of logs per day each:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Component<\/th><th>vCPU<\/th><th>RAM<\/th><th>Storage<\/th><th>OS<\/th><\/tr><\/thead><tbody><tr><td>Aggregator VPS (Fluentd)<\/td><td>2<\/td><td>4 GB<\/td><td>50 GB NVMe<\/td><td>Ubuntu 24.04<\/td><\/tr><tr><td>OpenSearch VPS<\/td><td>4<\/td><td>8 GB (min 50% heap)<\/td><td>200 GB NVMe<\/td><td>Ubuntu 24.04<\/td><\/tr><tr><td>Agent VPS (per node)<\/td><td>1<\/td><td>512 MB<\/td><td>10 GB<\/td><td>Any modern Linux<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">OpenSearch is memory-hungry \u2014 allocate at least 4 GB of your VPS RAM to the JVM heap (-Xms4g -Xmx4g). The remaining RAM handles OS cache for indexing. For higher volumes, scale the OpenSearch VPS vertically or add data nodes in a cluster.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Install and Configure OpenSearch<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OpenSearch 2.x is available from the official OpenSearch project repository. Install on the central VPS:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Install OpenSearch 2.x\ncurl -fsSL https:\/\/artifacts.opensearch.org\/releases\/bundle\/opensearch\/2.x\/opensearch-2.x.list | sudo tee \/etc\/apt\/sources.list.d\/opensearch-2.x.list\nsudo apt-get update\nsudo apt-get install opensearch -y<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Configure heap size and security. Edit \/etc\/opensearch\/opensearch.yml:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/opensearch\/opensearch.yml\ncluster.name: vps-logs\nnode.name: node-1\npath.data: \/var\/lib\/opensearch\npath.logs: \/var\/log\/opensearch\nnetwork.host: 0.0.0.0\nhttp.port: 9200\ndiscovery.type: single-node\n\n# Security plugin settings\nplugins.security.disabled: false\nplugins.security.ssl.http.enabled: true\nplugins.security.allow_default_init_securityindex: true<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Set heap in \/etc\/opensearch\/jvm.options:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-Xms4g\n-Xmx4g<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Start and enable OpenSearch:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload\nsudo systemctl enable opensearch\nsudo systemctl start opensearch\n# Verify: curl -k -u admin:admin https:\/\/localhost:9200<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Change the default admin password immediately:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -k -X PUT \"https:\/\/localhost:9200\/_plugins\/_security\/api\/internalusers\/admin\" \\\n  -H \"Content-Type: application\/json\" \\\n  -u admin:admin \\\n  -d '{\"password\": \"your-new-strong-password\"}'<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Install and Configure Fluentd (Aggregator)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Install Fluentd via the official td-agent package on the aggregator VPS:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Install td-agent (Fluentd)\ncurl -fsSL https:\/\/toolbelt.treasuredata.com\/sh\/install-ubuntu-jammy-td-agent4.sh | sh\nsudo systemctl enable td-agent\nsudo systemctl start td-agent<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Configure \/etc\/td-agent\/td-agent.conf to receive logs from agents and forward to OpenSearch:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/td-agent\/td-agent.conf\n## Source: receive logs from agents via forward protocol\n\n  @type forward\n  port 24224\n  bind 0.0.0.0\n  \n    self_hostname aggregator.vps.local\n    shared_key your_shared_secret_key\n  \n\n\n## Parse and transform: add host tag, normalize fields\n\n  @type record_transformer\n  \n    hostname ${hostname}\n    @timestamp ${time.asctime}\n  \n\n\n## Output: send to OpenSearch\n\n  @type opensearch\n  host localhost\n  port 9200\n  scheme https\n  user admin\n  password your-new-strong-password\n  ssl_verify false\n  logstash_format true\n  logstash_prefix vps-logs\n  flush_interval 5s\n  \n    @type file\n    path \/var\/log\/td-agent\/buffer\n    flush_mode interval\n    retry_max_times 5\n    chunk_limit_size 8m\n  \n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Install the OpenSearch output plugin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo td-agent-gem install fluent-plugin-opensearch<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Restart td-agent: sudo systemctl restart td-agent<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Configure Fluentd Agents on Each VPS Node<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On each VPS that generates logs, install td-agent and configure it to forward logs to the aggregator:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \/etc\/td-agent\/td-agent.conf\n## Source: tail Nginx access logs\n\n  @type tail\n  path \/var\/log\/nginx\/access.log\n  pos_file \/var\/log\/td-agent\/nginx-access.pos\n  tag nginx.access\n  \n    @type nginx\n  \n\n\n## Source: tail Nginx error logs\n\n  @type tail\n  path \/var\/log\/nginx\/error.log\n  pos_file \/var\/log\/td-agent\/nginx-error.pos\n  tag nginx.error\n  \n    @type none\n  \n\n\n## Source: tail system auth logs\n\n  @type tail\n  path \/var\/log\/auth.log\n  pos_file \/var\/log\/td-agent\/auth.pos\n  tag system.auth\n  \n    @type syslog\n  \n\n\n## Source: tail syslog\n\n  @type tail\n  path \/var\/log\/syslog\n  pos_file \/var\/log\/td-agent\/syslog.pos\n  tag system.syslog\n  \n    @type syslog\n  \n\n\n## Source: Docker container logs (if Docker is running)\n\n  @type tail\n  path \/var\/lib\/docker\/containers\/*\/*-json.log\n  pos_file \/var\/log\/td-agent\/docker.pos\n  tag docker.*\n  \n    @type json\n  \n\n\n## Filter: drop noisy debug logs\n\n  @type grep\n  \n    key level\n    pattern ^debug\n  \n\n\n## Output: forward to aggregator\n\n  @type forward\n  \n    host AGGREGATOR_VPS_IP\n    port 24224\n  \n  \n    self_hostname agent-${hostname}\n    shared_key your_shared_secret_key\n  \n  \n    @type file\n    path \/var\/log\/td-agent\/buffer\n    flush_interval 10s\n    retry_max_times 3\n  \n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Restart td-agent on each agent: sudo systemctl restart td-agent. Logs will begin flowing to the aggregator and into OpenSearch within seconds.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Install OpenSearch Dashboards<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On the same VPS as OpenSearch (or a dedicated one for larger deployments):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get install opensearch-dashboards -y<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Edit \/etc\/opensearch-dashboards\/opensearch_dashboards.yml:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server.host: 0.0.0.0\nserver.port: 5601\nopensearch.hosts: [\"https:\/\/localhost:9200\"]\nopensearch.ssl.verificationMode: none\nopensearch.username: admin\nopensearch.password: your-new-strong-password<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Enable and start:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable opensearch-dashboards\nsudo systemctl start opensearch-dashboards<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Access Dashboards at https:\/\/your-vps-ip:5601. Create an index pattern matching vps-logs-* and start exploring your aggregated logs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Configure Index Lifecycle Management<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Without lifecycle management, OpenSearch will fill your disk until it stops accepting writes. Create an ILM policy that rolls over indices daily and deletes data older than 30 days:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -k -X PUT \"https:\/\/localhost:9200\/_plugins\/_ism\/policies\/log_retention\" \\\n  -u admin:your-new-strong-password \\\n  -H \"Content-Type: application\/json\" \\\n  -d '{\n    \"policy\": {\n      \"description\": \"Rotate logs daily, delete after 30 days\",\n      \"default_state\": \"hot\",\n      \"states\": [\n        {\n          \"name\": \"hot\",\n          \"actions\": [\n            { \"rollover\": { \"min_size\": \"50gb\", \"min_index_age\": \"1d\" } }\n          ],\n          \"transitions\": [{ \"state_name\": \"warm\" }]\n        },\n        {\n          \"name\": \"warm\",\n          \"actions\": [],\n          \"transitions\": [{ \"state_name\": \"delete\", \"conditions\": { \"min_index_age\": \"30d\" } }]\n        },\n        {\n          \"name\": \"delete\",\n          \"actions\": [{ \"delete\": {} }]\n        }\n      ],\n      \"ism_template\": { \"index_patterns\": [\"vps-logs-*\"], \"priority\": 100 }\n    }\n  }'<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Security Considerations<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Encrypt Fluentd forward traffic<\/strong>: The shared_key in the forward plugin authenticates agents, but traffic is not encrypted by default. Tunnel Fluentd traffic through WireGuard or use the fluent-plugin-forward-encrypt plugin for TLS.<\/li>\n<li><strong>Restrict OpenSearch access<\/strong>: Do not expose port 9200 to the internet. If you need remote access, use an SSH tunnel or place OpenSearch behind a reverse proxy with HTTP Basic Auth.<\/li>\n<li><strong>Log sanitization<\/strong>: Use Fluentd filter plugins to redact sensitive fields (passwords, API keys, PII) before forwarding. The fluent-plugin-record-modifier plugin can mask patterns.<\/li>\n<li><strong>Disk space monitoring<\/strong>: Set up a Fluentd monitor or cron job that alerts when OpenSearch disk usage exceeds 80%. ILM policies prevent runaway growth but do not replace capacity planning.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting Common Issues<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fluentd cannot connect to OpenSearch<\/strong>: Verify OpenSearch is running, check TLS settings, and confirm the password. Test with curl -k -u admin:password https:\/\/localhost:9200.<\/li>\n<li><strong>Logs not appearing in Dashboards<\/strong>: Check Fluentd agent logs (\/var\/log\/td-agent\/td-agent.log) for forwarding errors. Verify the index pattern matches the logstash_prefix you configured.<\/li>\n<li><strong>High memory usage on OpenSearch VPS<\/strong>: Reduce the JVM heap size proportionally (max 50% of VPS RAM), or add more RAM to the VPS. Also check if you&#8217;re indexing too many fields \u2014 disable dynamic:true mapping for verbose logs.<\/li>\n<li><strong>Buffer overflow on Fluentd aggregator<\/strong>: If log volume spikes exceed OpenSearch&#8217;s indexing capacity, Fluentd&#8217;s file buffer prevents data loss. Increase chunk_limit_size and flush_interval to smooth out bursts.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">With this pipeline running, you gain centralized search across all your VPS logs, real-time dashboards for monitoring, and the ability to correlate events across servers during incident response. Start with a single aggregator VPS and scale horizontally as your log volume grows. For a VPS with enough RAM and NVMe storage to run OpenSearch and Fluentd comfortably, <a href=\"https:\/\/virtualserversvps.com\/\">find the right VPS for your logging infrastructure<\/a>.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>When you manage multiple VPS instances, application logs spread across every server \u2014 making troubleshooting, security auditing, and performance analysis a manual nightmare. A centralized log aggregation pipeline solves this&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":0,"footnotes":""},"categories":[4,1],"tags":[],"class_list":["post-690","post","type-post","status-publish","format-standard","hentry","category-security-compliance","category-vps-guides-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd - Virtual Servers VPS Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd\" \/>\n<meta property=\"og:description\" content=\"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual Servers VPS Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-21T02:02:17+00:00\" \/>\n<meta name=\"author\" content=\"Virtual-Servers-Vps-Editor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Virtual-Servers-Vps-Editor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/\",\"url\":\"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/\",\"name\":\"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd - Virtual Servers VPS Blog\",\"isPartOf\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#website\"},\"datePublished\":\"2026-07-21T02:02:17+00:00\",\"author\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0\"},\"breadcrumb\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/virtualserversvps.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#website\",\"url\":\"https:\/\/virtualserversvps.com\/blog\/\",\"name\":\"Virtual Servers VPS Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/virtualserversvps.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0\",\"name\":\"Virtual-Servers-Vps-Editor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g\",\"caption\":\"Virtual-Servers-Vps-Editor\"},\"sameAs\":[\"https:\/\/virtualserversvps.com\/blog\"],\"url\":\"https:\/\/virtualserversvps.com\/blog\/author\/virtualserversvps\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd - Virtual Servers VPS Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/","og_locale":"en_US","og_type":"article","og_title":"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd","og_description":"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd","og_url":"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/","og_site_name":"Virtual Servers VPS Blog","article_published_time":"2026-07-21T02:02:17+00:00","author":"Virtual-Servers-Vps-Editor","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Virtual-Servers-Vps-Editor","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/","url":"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/","name":"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd - Virtual Servers VPS Blog","isPartOf":{"@id":"https:\/\/virtualserversvps.com\/blog\/#website"},"datePublished":"2026-07-21T02:02:17+00:00","author":{"@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0"},"breadcrumb":{"@id":"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/virtualserversvps.com\/blog\/vps-log-aggregation-opensearch-fluentd-pipeline\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtualserversvps.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Set Up a VPS-Based Log Aggregation Pipeline with OpenSearch and Fluentd"}]},{"@type":"WebSite","@id":"https:\/\/virtualserversvps.com\/blog\/#website","url":"https:\/\/virtualserversvps.com\/blog\/","name":"Virtual Servers VPS Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtualserversvps.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0","name":"Virtual-Servers-Vps-Editor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g","caption":"Virtual-Servers-Vps-Editor"},"sameAs":["https:\/\/virtualserversvps.com\/blog"],"url":"https:\/\/virtualserversvps.com\/blog\/author\/virtualserversvps\/"}]}},"_links":{"self":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/comments?post=690"}],"version-history":[{"count":1,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/690\/revisions"}],"predecessor-version":[{"id":691,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/690\/revisions\/691"}],"wp:attachment":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/media?parent=690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/categories?post=690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/tags?post=690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}