TCP Keepalive ändern

echo 'tcp_keepalive_idle: 60' > /etc/salt/minion.d/tcp.conf
echo 'tcp_keepalive_cnt: 2' >> /etc/salt/minion.d/tcp.conf
echo 'tcp_keepalive_intvl: 60' >> /etc/salt/minion.d/tcp.conf

anschließend
systemctl restart salt-minion

Sie können die genannten Änderungen auch per Salt-State ausrollen.

#
# Fine-tune tcp setting of salt minion to keep the connection 
# alive even with low bandwidth and high latency
#
/etc/salt/minion.d/tcp.conf:
  file.managed:
    - contents: |
        tcp_keepalive_idle: 60
        tcp_keepalive_cnt: 2
        tcp_keepalive_intvl: 60

salt-minion:
  service.running:
    - enable: True
    - watch:
      - file: /etc/salt/minion.d/tcp.conf

Heartbeat vom Master senden

/etc/cron.d/salt-heartbeat

*/5 * * * * root salt -G 'kernel:linux' cmd.run "date +\%s>/tmp/salt.time"

Minion neu starten

#!/bin/bash
LOG=/var/log/salt-keepalive.log
if [ $(( $(date +%s) - $(cat /tmp/salt.time) )) -gt 900 ];then 
   echo "$(date) - Connection seems to be broken">$LOG
   service salt-minion stop
   service salt-minion start
else
   echo "$(date) - Connection seems to be OK">$LOG
fi

Heartbeat per Salt verteilen

/srv/salt/linux/heartbeat/init.sls

copy-script:
  file.managed:
    - name: /usr/local/sbin/minion-restart.sh
    - source: salt://linux/heartbeat/minion-restart.sh
    - user: root
    - mode: 700

create-cron:
  cron.present:
    - name: /usr/local/sbin/minion-restart.sh
    - user: root
    - minute: '*/5'
    - require:
      - copy-script

results matching ""

    No results matching ""