Админим с Буквой
5.35K subscribers
302 photos
8 videos
59 files
1.15K links
Канал о системном администрировании, DevOps и немного Инфобеза.

По всем вопросам обращаться к @bykva. Рекламу не размещаю.
Download Telegram
Puppet tips and tricks

Run puppet in trace mode
puppet agent --evaltrace -td
#puppet
Обслуживание puppet

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
puppet don't update user password

при запуске 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
#!/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}"

#puppet #prometheus

З.Ы. если кто ткнет носом как сделать поиск для центоси проще - тому большой лайк.