diff --git a/tasks/log_ingestor.yaml b/tasks/log_ingestor.yaml new file mode 100644 index 0000000..3b7db34 --- /dev/null +++ b/tasks/log_ingestor.yaml @@ -0,0 +1,11 @@ +--- +- name: Add log ingestor config + ansible.builtin.template: + src: bec_log_ingestor.toml.j2 + dest: /etc/bec_log_ingestor.toml + mode: "0755" + +- name: Add log ingestor systemd service + ansible.builtin.template: + src: bec_log_ingestor.service.j2 + dest: /etc/systemd/system/bec_log_ingestor.service \ No newline at end of file diff --git a/tasks/main.yaml b/tasks/main.yaml index df00b4e..c5583cc 100644 --- a/tasks/main.yaml +++ b/tasks/main.yaml @@ -368,3 +368,6 @@ src: bec.j2 dest: /usr/local/bin/bec mode: "0755" + +- name: Log ingestor setup + include_tasks: log_ingestor.yaml \ No newline at end of file diff --git a/templates/bec_log_ingestor.service.j2 b/templates/bec_log_ingestor.service.j2 new file mode 100644 index 0000000..2ee6f1a --- /dev/null +++ b/templates/bec_log_ingestor.service.j2 @@ -0,0 +1,17 @@ +[Unit] +Description=bec-log-ingestor service +Requires=redis.service + +[Service] +Type=oneshot +RemainAfterExit=yes +User={{ service_user }} +WorkingDirectory={{ deployment_path }} +ExecStart=/usr/local/bin/bec_log_ingestor -c /etc/bec_log_ingestor.toml +Restart=on-failure +RestartSec=5 +StartLimitBurst=3 +StartLimitIntervalSec=120 + +[Install] +WantedBy=multi-user.target diff --git a/templates/bec_log_ingestor.toml.j2 b/templates/bec_log_ingestor.toml.j2 new file mode 100644 index 0000000..e9da4e9 --- /dev/null +++ b/templates/bec_log_ingestor.toml.j2 @@ -0,0 +1,20 @@ +[redis] +chunk_size = 10 +blocktime_millis = 1000 +consumer_group = "log-ingestor" +consumer_id = "log-ingestor" + +[redis.url] +url = "redis://127.0.0.1" +port = 6379 + +[elastic] +username = "" +password = "" +chunk_size = 100 +index = "logstash-bec_{{ deployment_name }}" +beamline_name = "{{ deployment_name }}" + +[elastic.url] +url = "https://esprdw01.psi.ch" +port = 9200