From b64d5c06292e7474a3eb60604927d050f2daeff6 Mon Sep 17 00:00:00 2001 From: AndreasNefeli Date: Tue, 15 Jun 2021 03:26:24 +0000 Subject: [PATCH] Upload files to 'fluentd' --- fluentd/fluentd-test-mongo.yml | 44 +++++++ fluentd/fluentd-test-mongo.yml.sh | 15 +++ fluentd/fluentd.yml | 199 ++++++++++++++++++++++++++++++ 3 files changed, 258 insertions(+) create mode 100644 fluentd/fluentd-test-mongo.yml create mode 100644 fluentd/fluentd-test-mongo.yml.sh create mode 100644 fluentd/fluentd.yml diff --git a/fluentd/fluentd-test-mongo.yml b/fluentd/fluentd-test-mongo.yml new file mode 100644 index 0000000..7d04fcb --- /dev/null +++ b/fluentd/fluentd-test-mongo.yml @@ -0,0 +1,44 @@ +--- +- hosts: service + remote_user: docker + gather_facts: no + vars: + user: "docker" + + tasks: + +# -------------------------------------------------------------------------------------- +# --------------------- create test dir +# -------------------------------------------------------------------------------------- + + # ------------------------ + # test dir + # ------------------------- + - name: make dir for test + become: true + file: + path: "/var/log-in/test" + state: directory + owner: docker + group: docker + mode: '0755' + +# -------------------------------------------------------------------------------------- +# --------------------- kill and save ps tp tmp +# -------------------------------------------------------------------------------------- + + - name: find fluentd + #shell: df -h >> /var/log-in/test/test + shell: df -h + #shell: "ps efw -opid,cmd -Cfluentd | pgrep -o fluentd" + register: fluentddate + + - name: ls fluentddate + debug: var=fluentddate.stdout_lines + + - name: write to /var/log-in/test/test2 + shell: "echo {{ item }} >> /var/log-in/test/test2" + with_items: "{{ fluentddate.stdout_lines }}" + + + diff --git a/fluentd/fluentd-test-mongo.yml.sh b/fluentd/fluentd-test-mongo.yml.sh new file mode 100644 index 0000000..323902e --- /dev/null +++ b/fluentd/fluentd-test-mongo.yml.sh @@ -0,0 +1,15 @@ +#!/bin/sh + + +ip4=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1) +ip6=$(/sbin/ip -o -6 addr list eth0 | awk '{print $4}' | cut -d/ -f1) + +echo "[service]" > /project/courses/fluentd/inventory.yml +/project/bin/swarmlab-nmap >> /project/courses/fluentd/inventory.yml + + +# include master or not +echo $ip4 >> /project/courses/fluentd/inventory.yml + + +ansible-playbook -u docker -i inventory.yml fluentd-test-mongo.yml -f 5 --ask-pass --ask-become-pass diff --git a/fluentd/fluentd.yml b/fluentd/fluentd.yml new file mode 100644 index 0000000..97f4f57 --- /dev/null +++ b/fluentd/fluentd.yml @@ -0,0 +1,199 @@ +--- +- hosts: service + remote_user: docker + gather_facts: no + vars: + user: "docker" + + tasks: + + # ------------------------ + # apt update + # ------------------------- + - name: apt update packages + become: true + apt: + update_cache: 'yes' + force_apt_get: 'yes' + upgrade: 'dist' + cache_valid_time: 3600 + install_recommends: true + autoremove: true + + # ------------------------ + # apt install packages + # ------------------------- + - name: apt install packages + become: true + apt: + update_cache: 'yes' + force_apt_get: 'yes' + install_recommends: true + autoremove: true + name: "{{ packages }}" + vars: + packages: + - build-essential + - git + - flex + - bison + - traceroute + - curl + - lynx + - ruby + - ruby-dev + + # ------------------------ + # directory4example fluentd + # ------------------------- + - name: make /var/log-in + become: true + file: + path: "/var/log-in" + state: directory + owner: docker + group: docker + mode: '0777' + + # ------------------------ + # gem begin + # ------------------------- + - name: make dir for gem + become: true + file: + path: "/home/docker/.gem" + state: directory + owner: docker + group: docker + mode: '0755' + + - name: gem install fluentd + #become: true + gem: + name: fluentd + version: 1.12.0 + state: present + environment: + CONFIGURE_OPTS: '--disable-install-doc' + PATH: '/home/docker/.gem/ruby/2.5.0/bin:{{ ansible_env.PATH }}' + + - name: gem install fluent-plugin-mongo + #become: true + gem: + name: fluent-plugin-mongo + state: present + + - name: gem install oj + #become: true + gem: + name: oj + state: present + + - name: gem install json + #become: true + gem: + name: json + state: present + + - name: gem install async-http + #become: true + gem: + name: async-http + version: 0.54.0 + state: present + + - name: gem install ext-monitor + #become: true + gem: + name: ext_monitor + version: 0.1.2 + state: present + + # ------------------------ + # gem end + # ------------------------- + + # ------------------------ + # add group + # ------------------------- +# - name: add group fluent +# become: true +# group: +# name: fluent +# state: present +# + # ------------------------ + # add user + # ------------------------- +# - name: add user gem +# become: true +# user: +# name: fluent +# group: fluent + + # ------------------------ + # mkdir directory4 fluent + # ------------------------- + - name: make dir fluentd + become: true + file: + path: "/fluentd/etc" + state: directory + owner: docker + group: docker + mode: '0755' + + - name: make dir fluentd + become: true + file: + path: "/fluentd/plugins" + state: directory + owner: docker + group: docker + mode: '0755' + + # ------------------------ + # cp fluentd.conf + # ------------------------- + - name: cp fluentd.conf + become: true + copy: + src: "./files/fluent.conf" + dest: /fluentd/etc/fluent.conf + owner: docker + group: docker + mode: 0755 + + # ------------------------ + # start fluentd + # ------------------------- + - name: start fluentd background + shell: nohup /home/docker/.gem/ruby/2.5.0/bin/fluentd -c /fluentd/etc/fluent.conf -vv /dev/null 2>&1 & + + # ------------------------ + # example4net tcpdump example + # ------------------------- +# - name: google.com +# become: yes +# become_user: "{{ user }}" +# command: curl http://www.google.com +# ignore_errors: yes +# register: configwww +# +# - name: ls configwww +# debug: var=configwww.stdout_lines +# +# - name: ls -al /var/lab/playground/playground-readmongo/ +# become: yes +# become_user: "{{ user }}" +# #command: ls -al /var/lab/playground/playground-readmongo +# command: netstat -antlupe +# ignore_errors: yes +# register: config +# +# - name: ls config +# debug: var=config.stdout_lines +# +# - name: Refresh connection +# meta: clear_host_errors +#