Обслуживание puppet
Puppet хавает inode достаточно активно. со временем (месяц-два-три) их накапливается достаточное количество, которое забивает весь диск. Для очистки можно воспользоваться следующей командой:
которая найдет файлы, к которым не обращались более недели и удалит их. Проблема основана на том, что на каждый чих папет хранит diff файла который был изменен агентом. дифф - это еще один новый файл. новый файл - новая inode..
#puppet #troubleshooting
Puppet хавает inode достаточно активно. со временем (месяц-два-три) их накапливается достаточное количество, которое забивает весь диск. Для очистки можно воспользоваться следующей командой:
find /var/lib/puppet/clientbucket/ -type f -mtime +7 -atime +7 -delete
которая найдет файлы, к которым не обращались более недели и удалит их. Проблема основана на том, что на каждый чих папет хранит diff файла который был изменен агентом. дифф - это еще один новый файл. новый файл - новая inode..
#puppet #troubleshooting
Список тегов, используемых в канале:
—-------------------------------
Лекции и материалы
—-------------------------------
#Занятие
#Лекции
Лекция
#junior
—---------
Linux
—---------
#ssh
#bash
#bash_tips_and_tricks
#awk
#tmux
#console
#utils
#troubleshooting
#nmap
#apt
#bind
#sound
#power_management
—----------
DevOps
—----------
#jenkins
#ansible
#git
#kubernetes
#deploy
#ceph
#docker
#puppet
—------------------
Virtualization
—------------------
#vmware
vagrant
—------------------
Networking
—---------------—
#networking
#proxy
#socks
—---------
InfoSec
—---------
#vulns
#security
#ctf
—-------------
Windows
—-------------
#RDTS
#windows_server2012
#RDP
—------------
Datacenters
—---------—
#ovh
#hetzner
—-------
Other
—-------
#android
#jira
—------------------------------------------------
Ссылки и сторонние материалы
—------------------------------------------------
#read
#thirdparty
Updated: 29.05.18
—-------------------------------
Лекции и материалы
—-------------------------------
#Занятие
#Лекции
Лекция
#junior
—---------
Linux
—---------
#ssh
#bash
#bash_tips_and_tricks
#awk
#tmux
#console
#utils
#troubleshooting
#nmap
#apt
#bind
#sound
#power_management
—----------
DevOps
—----------
#jenkins
#ansible
#git
#kubernetes
#deploy
#ceph
#docker
#puppet
—------------------
Virtualization
—------------------
#vmware
vagrant
—------------------
Networking
—---------------—
#networking
#proxy
#socks
—---------
InfoSec
—---------
#vulns
#security
#ctf
—-------------
Windows
—-------------
#RDTS
#windows_server2012
#RDP
—------------
Datacenters
—---------—
#ovh
#hetzner
—-------
Other
—-------
#android
#jira
—------------------------------------------------
Ссылки и сторонние материалы
—------------------------------------------------
#read
#thirdparty
Updated: 29.05.18
puppet don't update user password
при запуске puppet agent с debug увидел такую проблему:
проблема, как пишут на форумах, действительно с пакетом ruby-shadow, но есть нюанс. Если у вас стоит устаревшая версия puppet, а сервер обновлен до stretch, то у вас проявится проблема с этим ruby-гемом. ruby стоит старый, а пакет приносит gem более свежий и такая комбинация как раз приводит к ошибке. В качестве решения - просто ставить более старую версию пакета.
#puppet #troubleshooting
при запуске puppet agent с debug увидел такую проблему:
Provider useradd does not support features manages_passwords; not managing attribute password
проблема, как пишут на форумах, действительно с пакетом ruby-shadow, но есть нюанс. Если у вас стоит устаревшая версия puppet, а сервер обновлен до stretch, то у вас проявится проблема с этим ruby-гемом. ruby стоит старый, а пакет приносит gem более свежий и такая комбинация как раз приводит к ошибке. В качестве решения - просто ставить более старую версию пакета.
echo "deb http://ftp.debian.org/debian jessie main contrib non-free" >> /etc/apt/sources.list.d/debian.list
apt update
apt install -y --force-yes ruby-shadow=2.3.4-2
puppet agent -t
#puppet #troubleshooting
snippet erb-скрипта подсчета числа обновлений для prometheus.
З.Ы. если кто ткнет носом как сделать поиск для центоси проще - тому большой лайк.
### MANAGED BY PUPPET#puppet #prometheus
#!/bin/sh
prom_file="/var/prometheus/textfile_exporter/available_upgrades.prom"
current_id="$$"
updates="0"
echo '# HELP available_upgrades Number of available upgrades' >> "${prom_file}${current_id}"
echo '# TYPE available_upgrades gauge' >> "${prom_file}${current_id}"
<% if @facts['os']['name'] == "Debian" or @facts['os']['name'] == "Ubuntu" -%>
updates=$(apt list --upgradeable | grep -v 'Listing' | wc -l)
<% elsif @facts['os']['name'] == "CentOS" or @facts['os']['name'] == "RedHat" -%>
fuck_centos=$(yum list updates)
if echo ${fuck_centos}|grep -q 'Available Upgrades'; then
updates=$($fuck_centos | awk '/Available Upgrades/{x=NR};{y=NR} END{printf y-x}')
fi
<% end -%>
echo "available_upgrades ${updates}" >> "${prom_file}${current_id}"
mv "${prom_file}${current_id}" "${prom_file}"
З.Ы. если кто ткнет носом как сделать поиск для центоси проще - тому большой лайк.