Skip to content
Snippets Groups Projects
configure.yml 2.09 KiB
Newer Older
  • Learn to ignore specific revisions
  • jurgenhaas's avatar
    jurgenhaas committed
    ---
    # file: roles/netdata/tasks/configure.yml
    
    
    - name: Add User to Admins
    
    jurgenhaas's avatar
    jurgenhaas committed
      user:
    
        name: netdata
        groups: adm
    
    jurgenhaas's avatar
    jurgenhaas committed
        append: yes
    
    
    - name: Configure Registry
    
    jurgenhaas's avatar
    jurgenhaas committed
      ini_file:
    
        dest: /etc/netdata/netdata.conf
    
    jurgenhaas's avatar
    jurgenhaas committed
        create: yes
    
        section: registry
    
    jurgenhaas's avatar
    jurgenhaas committed
        option: '{{ item.option }}'
        value: '{{ item.value }}'
      with_items:
    
        - option: enabled
    
    jurgenhaas's avatar
    jurgenhaas committed
          value: '{{ (netdata_registry|default("pmon1") == inventory_hostname)|ternary("yes", "no") }}'
    
        - option: registry to announce
    
          value: 'http://{{ netdata_registry|default("pmon1") }}:19999'
    
    jurgenhaas's avatar
    jurgenhaas committed
      notify:
    
        - Restart NetData
    
    jurgenhaas's avatar
    jurgenhaas committed
    
    
    - name: Configure NetData
    
    jurgenhaas's avatar
    jurgenhaas committed
      template:
        src: '{{ item }}'
    
        dest: /etc/netdata/{{ item }}
        owner: netdata
        group: netdata
    
    jurgenhaas's avatar
    jurgenhaas committed
        backup: yes
      with_items:
    
        - health_alarm_notify.conf
        - python.d.conf
    
    jurgenhaas's avatar
    jurgenhaas committed
        - go.d.conf
    
    jurgenhaas's avatar
    jurgenhaas committed
      notify:
    
        - Restart NetData
    
    jurgenhaas's avatar
    jurgenhaas committed
    
    
    - name: Configure Python Plugins
    
    jurgenhaas's avatar
    jurgenhaas committed
      template:
        src: '{{ item }}'
    
        dest: /etc/netdata/python.d/{{ item }}
        owner: netdata
        group: netdata
    
    jurgenhaas's avatar
    jurgenhaas committed
        backup: yes
      with_items:
    
        - httpcheck.conf
    
    jurgenhaas's avatar
    jurgenhaas committed
      notify:
    
        - Restart NetData
    
    - name: Get a list of all health config files
      shell: ls /usr/lib/netdata/conf.d/health.d/*.conf -1
    
      register: health_list
    
    
    - name: Remove all options that prevent clear notifications
    
      lineinfile:
        path: '{{ item }}'
        state: absent
    
        regexp: no-clear-notification
    
      with_items: '{{ health_list.stdout_lines }}'
    
        - Restart NetData
    
    - name: Patch Startup Script
    
    jurgenhaas's avatar
    jurgenhaas committed
      lineinfile:
    
        dest: /etc/init.d/netdata
    
        regexp: 'killproc -p \$\{PIDFILE\} \$DAEMON_PATH/\$DAEMON'
        line: '        killproc -p ${PIDFILE} $DAEMON_PATH/$DAEMON && sleep 3'
    
    jurgenhaas's avatar
    jurgenhaas committed
      when: ansible_lsb.major_release == '12'
    
    
    - name: Check if KSM is available
    
      stat:
        path: /sys/kernel/mm/ksm
    
    jurgenhaas's avatar
    jurgenhaas committed
      register: ksm
    
    # Note: copy module doesn't work here because parent directory /sys
    # is not writable, not even by root
    
    - name: Configure KSM
    
    jurgenhaas's avatar
    jurgenhaas committed
      shell: echo {{ item.value }} >/sys/kernel/mm/ksm/{{ item.file }}
      with_items:
    
        - file: run
          value: 1
        - file: sleep_millisecs
          value: 1000
    
    jurgenhaas's avatar
    jurgenhaas committed
      when: ksm.stat.exists
      notify:
    
        - Restart NetData