diff --git a/ansible_user.yml b/ansible_user.yml index 2afd2c2..449abd8 100644 --- a/ansible_user.yml +++ b/ansible_user.yml @@ -3,7 +3,7 @@ - hosts: managed # remote_user: anansibsible - gather_facts: yes + gather_facts: no become: true vars: @@ -20,6 +20,11 @@ - sudo - users_groups: + # prepare python for ansible + pre_tasks: + - raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal) + - setup: # aka gather_facts + roles: - novuso.users diff --git a/home02.xai-corp.net.yml b/home02.xai-corp.net.yml index 64ee8eb..7cc2d10 100644 --- a/home02.xai-corp.net.yml +++ b/home02.xai-corp.net.yml @@ -28,8 +28,8 @@ roles: - - Datadog.datadog - - ns.xai-corp.net +# - Datadog.datadog +# - ns.xai-corp.net - td-agent-bit post_tasks: diff --git a/requirements.yml b/requirements.yml index 8a6ee14..1261722 100644 --- a/requirements.yml +++ b/requirements.yml @@ -13,3 +13,7 @@ - src: resmo.bind path: roles/vendor/ +- src: bennojoy.ntp + path: roles/vendor/ + + diff --git a/roles/td-agent-bit/files/td.conf b/roles/td-agent-bit/files/td.conf new file mode 100644 index 0000000..c7c9178 --- /dev/null +++ b/roles/td-agent-bit/files/td.conf @@ -0,0 +1,16 @@ +[SERVICE] + Flush 5 + Daemon Off + Log_Level info + HTTP_Monitor Off + HTTP_Port 2020 + +[INPUT] +# Name cpu +# Tag cpu.home02 + +[OUTPUT] + Name Forward + Host 192.168.2.24 + Port 24224 + Match ** diff --git a/roles/td-agent-bit/tasks/config.yml b/roles/td-agent-bit/tasks/config.yml new file mode 100644 index 0000000..670a25b --- /dev/null +++ b/roles/td-agent-bit/tasks/config.yml @@ -0,0 +1,9 @@ +--- +# config for td-agent + +- name: copy td-agent-bit config + copy: + src: td.conf + dest: /etc/td-agent-bit/td-agent-bit.conf + notify: + - restart td-agent-bit diff --git a/roles/td-agent-bit/tasks/install.yml b/roles/td-agent-bit/tasks/install.yml new file mode 100644 index 0000000..5b10a4e --- /dev/null +++ b/roles/td-agent-bit/tasks/install.yml @@ -0,0 +1,24 @@ +--- +# install fluentd td-agent bit log forwarder + + +- name: install GPG key + apt_key: + state: present + url: http://packages.fluentbit.io/fluentbit.key + +- name: install repo + apt_repository: + state: present + repo: deb http://packages.fluentbit.io/ubuntu xenial main + + +- name: update database + apt: + update_cache: true + +- name: install package + apt: + state: present + name: td-agent-bit + notify: restart td-agent-bit diff --git a/roles/td-agent-bit/tasks/main.yml b/roles/td-agent-bit/tasks/main.yml index 5b10a4e..e63ebf8 100644 --- a/roles/td-agent-bit/tasks/main.yml +++ b/roles/td-agent-bit/tasks/main.yml @@ -1,24 +1,7 @@ --- -# install fluentd td-agent bit log forwarder +# tasks to setup td-agent -- name: install GPG key - apt_key: - state: present - url: http://packages.fluentbit.io/fluentbit.key +- include: install.yml -- name: install repo - apt_repository: - state: present - repo: deb http://packages.fluentbit.io/ubuntu xenial main - - -- name: update database - apt: - update_cache: true - -- name: install package - apt: - state: present - name: td-agent-bit - notify: restart td-agent-bit +- include: config.yml diff --git a/roles/td-agent/files/td.conf b/roles/td-agent/files/td.conf new file mode 100644 index 0000000..46ddffa --- /dev/null +++ b/roles/td-agent/files/td.conf @@ -0,0 +1,48 @@ + + @type stdout + + + + @type stdout + + + + @type stdout + + + # sources + + @type forward + port 24224 + + + + @type http + port 8888 + bind 0.0.0.0 + body_size_limit 32m + keepalive_timeout 10s + # tag is part of the URL, e.g., + # curl -X POST -d 'json={"action":"login","user":2}' http://localhost:8888/tag.here + + + + @type debug_agent + bind 127.0.0.1 + port 24230 + + +# +# @type tail +# path /var/log/httpd-access.log #...or where you placed your Apache access log +# pos_file /var/log/td-agent/httpd-access.log.pos # This is where you record file position +# tag nginx.access #fluentd tag! +# format nginx # Do you have a custom format? You can write your own regex. +# + + + @type syslog + port 5140 + bind 0.0.0.0 + tag system.local + diff --git a/roles/td-agent/handlers/main.yml b/roles/td-agent/handlers/main.yml new file mode 100644 index 0000000..1a17d8c --- /dev/null +++ b/roles/td-agent/handlers/main.yml @@ -0,0 +1,6 @@ +--- +# handlers for td-agent-bit + + +- name: restart td-agent + service: name=td-agent state=restarted diff --git a/roles/td-agent/tasks/config.yml b/roles/td-agent/tasks/config.yml new file mode 100644 index 0000000..6968e5e --- /dev/null +++ b/roles/td-agent/tasks/config.yml @@ -0,0 +1,9 @@ +--- +# config for td-agent + +- name: copy td-agent config + copy: + src: td.conf + dest: /etc/td-agent/td-agent.conf + notify: + - restart td-agent diff --git a/roles/td-agent/tasks/install.yml b/roles/td-agent/tasks/install.yml new file mode 100644 index 0000000..db3f94d --- /dev/null +++ b/roles/td-agent/tasks/install.yml @@ -0,0 +1,12 @@ +--- +# tasks to install fluentd td-agent on ubuntu + + +- debug: var=ansible_distribution_release + +- name: install to ubuntu + shell: curl -L https://toolbelt.treasuredata.com/sh/install-ubuntu-{{ ansible_distribution_release }}-td-agent2.sh | sh + args: + creates: "/usr/sbin/td-agent" + notify: + - restart td-agent diff --git a/roles/td-agent/tasks/main.yml b/roles/td-agent/tasks/main.yml new file mode 100644 index 0000000..e63ebf8 --- /dev/null +++ b/roles/td-agent/tasks/main.yml @@ -0,0 +1,7 @@ +--- +# tasks to setup td-agent + + +- include: install.yml + +- include: config.yml diff --git a/test01.xai-corp.net.yml b/test01.xai-corp.net.yml new file mode 100644 index 0000000..03bc6ab --- /dev/null +++ b/test01.xai-corp.net.yml @@ -0,0 +1,37 @@ +--- +# playbook for home02 + + +- hosts: test1 + remote_user: ansible + gather_facts: yes + become: true + + vars: + datadog_api_key: ca0faf176c4aedd4f547ed7cf85615eb + datadog_checks: + system: + init_config: [] + instances: [] + disk: + init_config: + instances: + - use_mount: yes + excluded_filesystems: + - sysfs + - cgroup + - tracefs + - debugfs + - proc + - securityfs + excluded_mountpoint_re: /[media/richard|run/user].* + + + roles: +# - Datadog.datadog +# - bennojoy.ntp + - td-agent + + post_tasks: +# - name: check service is up +# service: name={{ bind.service }} state=started