84 lines
3.0 KiB
YAML
84 lines
3.0 KiB
YAML
---
|
|
|
|
- name: install fprobe from packages
|
|
package: name={{ fprobe_pkg }} state=present
|
|
register: pkg_result
|
|
until: pkg_result is success
|
|
|
|
- name: Debian | update fprobe config
|
|
replace: "dest=/etc/default/fprobe regexp={{ item.re }} replace={{ item.rep }} backup=yes"
|
|
with_items:
|
|
- { re: '^INTERFACE=.*', rep: "INTERFACE=\"{{ fprobe_if }}\"" }
|
|
- { re: '^FLOW_COLLECTOR=.*', rep: "FLOW_COLLECTOR=\"{{ fprobe_flow_collector }}\"" }
|
|
- { re: '^OTHER_ARGS=.*', rep: "OTHER_ARGS=\"{{ fprobe_args }}\"" }
|
|
when: ansible_os_family == 'Debian'
|
|
notify:
|
|
- restart fprobe
|
|
- name: RedHat | update fprobe config
|
|
lineinfile: "dest=/etc/sysconfig/fprobe regexp={{ item.re }} line={{ item.rep }} backup=yes create=yes"
|
|
with_items:
|
|
- { re: '^FLOW_COLLECTOR=.*', rep: "FLOW_COLLECTOR=\"{{ fprobe_flow_collector }}\"" }
|
|
# - { re: '^OTHER_ARGS=.*', rep: "OTHER_ARGS=\"{{ fprobe_args }}\"" }
|
|
when: ansible_os_family == 'RedHat'
|
|
notify:
|
|
|
|
#- block:
|
|
# - name: RedHat | check if fprobe is running
|
|
# shell: "ps axu |grep fprobe-ulog"
|
|
# register: ps
|
|
# changed_when: false
|
|
# - name: RedHat | start fprobe manually
|
|
# command: "fprobe-ulog -c /var/tmp {{ fprobe_flow_collector }}"
|
|
# when: >
|
|
# ansible_os_family == 'RedHat' and ps is defined and ps.stdout is defined and
|
|
# ps.stdout.find(" fprobe-ulog ") == -1
|
|
|
|
- block:
|
|
- name: install fprobe systemd configuration
|
|
template:
|
|
src: "systemd-fprobe-ulog.service.j2"
|
|
dest: "/lib/systemd/system/{{ fprobe_svc }}.service"
|
|
mode: '0644'
|
|
backup: yes
|
|
register: systemdconf
|
|
ignore_errors: true
|
|
- block:
|
|
- include: "immutable.yml target_dir=/lib/systemd/system state=pre"
|
|
- name: install fprobe systemd configuration
|
|
template:
|
|
src: "systemd-fprobe-ulog.service.j2"
|
|
dest: "/lib/systemd/system/{{ fprobe_svc }}.service"
|
|
mode: '0644'
|
|
backup: yes
|
|
- include: "immutable.yml target_dir=/lib/systemd/system state=post"
|
|
when: systemdconf is failed
|
|
when: ansible_service_mgr == 'systemd'
|
|
- block:
|
|
- name: add fprobe init.d script
|
|
template:
|
|
src: init.d-fprobe.j2
|
|
dest: /etc/rc.d/init.d/fprobe-ulog
|
|
mode: '0755'
|
|
backup: yes
|
|
register: initdconf
|
|
ignore_errors: true
|
|
- block:
|
|
- include: "immutable.yml target_dir=/etc/rc.d/init.d state=pre"
|
|
- name: install fprobe systemd configuration
|
|
template:
|
|
src: init.d-fprobe.j2
|
|
dest: /etc/rc.d/init.d/fprobe-ulog
|
|
mode: '0755'
|
|
backup: yes
|
|
- include: "immutable.yml target_dir=/etc/rc.d/init.d state=post"
|
|
when: initdconf is failed
|
|
when: ansible_os_family == 'RedHat' and ansible_service_mgr != 'systemd'
|
|
|
|
- name: ensure service is enabled and started
|
|
service: name={{ fprobe_svc }} state=started enabled=yes
|
|
## fail on trusty and centos7 but works in cli
|
|
ignore_errors: true
|
|
|
|
- name: ensure service is started - again
|
|
service: name={{ fprobe_svc }} state=started
|