diff --git a/ansible/roles/common/handlers/main.yml b/ansible/roles/common/handlers/main.yml
index 96a36d1926125fbfdce6903025768e342c6ebd15..0887c18b92941592ce5b4bc6ad17bfcfdd0242a9 100644
--- a/ansible/roles/common/handlers/main.yml
+++ b/ansible/roles/common/handlers/main.yml
@@ -19,6 +19,7 @@
     - service.enabled | bool
     - config_json.changed | bool
       or fluentd_input.changed | bool
+      or fluentd_input_custom.changed | bool
       or fluentd_output.changed | bool
       or fluentd_output_custom.changed | bool
       or fluentd_format.changed | bool
diff --git a/ansible/roles/common/tasks/config.yml b/ansible/roles/common/tasks/config.yml
index cc663e2755a838ac6cf50fe0cef6108f672d5411..e9934164dfc375b2c7203ff5f075b2ac1b25bce7 100644
--- a/ansible/roles/common/tasks/config.yml
+++ b/ansible/roles/common/tasks/config.yml
@@ -58,6 +58,27 @@
   notify:
     - Restart fluentd container
 
+- name: Find custom fluentd input config files
+  local_action:
+    module: find
+    path: "{{ node_custom_config }}/fluentd/input"
+    pattern: "*.conf"
+  run_once: True
+  register: find_custom_fluentd_inputs
+  when:
+    - enable_fluentd | bool
+
+- name: Copying over custom fluentd input config files
+  template:
+    src: "{{ item.path }}"
+    dest: "{{ node_config_directory }}/fluentd/input/{{ item.path | basename }}"
+  register: fluentd_input_custom
+  when:
+    - enable_fluentd | bool
+  with_items: "{{ find_custom_fluentd_inputs.files }}"
+  notify:
+    - Restart fluentd container
+
 - name: Copying over fluentd output config files
   template:
     src: "conf/output/{{ item.name }}.conf.j2"
diff --git a/ansible/roles/common/templates/fluentd.json.j2 b/ansible/roles/common/templates/fluentd.json.j2
index 55a3f37c0dbec454c6c006746156ae7bedad5244..b8d16f47da30741e7ad8590441227dd8b99d06fd 100644
--- a/ansible/roles/common/templates/fluentd.json.j2
+++ b/ansible/roles/common/templates/fluentd.json.j2
@@ -11,39 +11,11 @@
             "owner": "{{ fluentd_user }}",
             "perm": "0600"
         },
+        {# Copy all configuration files in input/ directory to include #}
+        {# custom input configs. #}
         {
-            "source": "{{ container_config_directory }}/input/00-global.conf",
-            "dest": "{{ fluentd_dir }}/input/00-global.conf",
-            "owner": "{{ fluentd_user }}",
-            "perm": "0600"
-        },
-        {
-            "source": "{{ container_config_directory }}/input/01-syslog.conf",
-            "dest": "{{ fluentd_dir }}/input/01-syslog.conf",
-            "owner": "{{ fluentd_user }}",
-            "perm": "0600"
-        },
-        {
-            "source": "{{ container_config_directory }}/input/02-mariadb.conf",
-            "dest": "{{ fluentd_dir }}/input/02-mariadb.conf",
-            "owner": "{{ fluentd_user }}",
-            "perm": "0600"
-        },
-        {
-            "source": "{{ container_config_directory }}/input/03-rabbitmq.conf",
-            "dest": "{{ fluentd_dir }}/input/03-rabbitmq.conf",
-            "owner": "{{ fluentd_user }}",
-            "perm": "0600"
-        },
-        {
-            "source": "{{ container_config_directory }}/input/04-openstack-wsgi.conf",
-            "dest": "{{ fluentd_dir }}/input/04-openstack-wsgi.conf",
-            "owner": "{{ fluentd_user }}",
-            "perm": "0600"
-        },
-        {
-            "source": "{{ container_config_directory }}/input/05-libvirt.conf",
-            "dest": "{{ fluentd_dir }}/input/05-libvirt.conf",
+            "source": "{{ container_config_directory }}/input/*.conf",
+            "dest": "{{ fluentd_dir }}/input/",
             "owner": "{{ fluentd_user }}",
             "perm": "0600"
         },
diff --git a/doc/source/reference/central-logging-guide.rst b/doc/source/reference/central-logging-guide.rst
index 4ec165817cb348f8e0583e1288c5643a3d3bfad5..540cd63436c1bebec9b05dee68c385743c4b81e8 100644
--- a/doc/source/reference/central-logging-guide.rst
+++ b/doc/source/reference/central-logging-guide.rst
@@ -164,8 +164,16 @@ can also be exported at once by choosing *export everything* option.
 In the same tab (Settings - Objects) one can also import saved items by
 choosing *import* option.
 
+Custom log rules
+~~~~~~~~~~~~~~~~
+
+Kolla-Ansible automatically deploys Fluentd for forwarding OpenStack logs
+from across the control plane to a central logging repository. The Fluentd
+configuration is split into four parts: Input, forwarding, filtering and
+formatting. The following can be customised:
+
 Custom log filtering
-====================
+--------------------
 
 In some scenarios it may be useful to apply custom filters to logs before
 forwarding them.  This may be useful to add additional tags to the messages
@@ -177,7 +185,7 @@ configuration files in ``/etc/kolla/config/fluentd/filter/*.conf`` on the
 control host.
 
 Custom log forwarding
-~~~~~~~~~~~~~~~~~~~~~
+---------------------
 
 In some scenarios it may be useful to forward logs to a logging service other
 than elasticsearch.  This can be done by configuring custom fluentd outputs.
@@ -185,3 +193,13 @@ than elasticsearch.  This can be done by configuring custom fluentd outputs.
 Configuration of custom fluentd outputs is possible by placing output
 configuration files in ``/etc/kolla/config/fluentd/output/*.conf`` on the
 control host.
+
+Custom log inputs
+-----------------
+
+In some scenarios it may be useful to input logs from other services, e.g.
+network equipment. This can be done by configuring custom fluentd inputs.
+
+Configuration of custom fluentd inputs is possible by placing input
+configuration files in ``/etc/kolla/config/fluentd/input/*.conf`` on the
+control host.
diff --git a/releasenotes/notes/fluentd-custom-input-config-db2675a1356717e6.yaml b/releasenotes/notes/fluentd-custom-input-config-db2675a1356717e6.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3323e8446376ab9c1cc3f50abec0945f8901b1ce
--- /dev/null
+++ b/releasenotes/notes/fluentd-custom-input-config-db2675a1356717e6.yaml
@@ -0,0 +1,7 @@
+---
+features:
+  - |
+    Adds ability to configure custom fluentd inputs.
+
+    Configuration of custom fluentd inputs is possible by placing
+    input configuration files in /etc/kolla/config/fluentd/input/\*.conf.