Debian + PostgreSQL + SysLog + Zabbix

Задача: установить PostgreSQL на Debian, настроить syslog и мониторинг через zabbix.
1. Ставим debian-8.3.0-amd64-netinst.iso (Все по умолчанию)
2. Ставим SSH:
apt-get install ssh
3. Ставим mc:
apt-get install mc
4. Устанавливаем часовой пояс:
dpkg-reconfigure tzdata
проверяем:
date
5. Настраиваем локаль:
dpkg-reconfigure locales
добавляем звездочки напротив
[*] en_US ISO-8859-1 [*] en_US.UTF-8 [*] ru_RU.UTF-8
жмем ОК, в следующем окне выбираем "ru_RU.UTF-8"
6. Перезагружаемся:
reboot
7. Ставим пакет ssl-cert
apt-get install libxslt1.1 ssl-cert
8. Скачиваем и ставим библиотеки libxslt и libicu:
wget http://security.debian.org/debian-security/pool/updates/main/i/icu/libicu48_4.8.1.1-12+deb7u5_amd64.deb dpkg -i libicu48_4.8.1.1-12+deb7u5_amd64.deb
9. Скачиваем 1С редакцию PostgreSQL postgresql-9.4.2-1.1C_amd64_deb.tar.bz2:
10. Распаковываем архив:
tar -xvf postgresql-9.4.2-1.1C_amd64_deb.tar.bz2
11. Устанавливаем libldap:
apt-get install libldap-2.4-2
12. Устанавливаем сам PostgreSQL. Важна последовательность:
dpkg -i libpq5_9.4.2-1.1C_amd64.deb dpkg -i postgresql-client-common_154.1.1C_all.deb dpkg -i postgresql-common_154.1.1C_all.deb dpkg -i postgresql-client-9.4_9.4.2-1.1C_amd64.deb dpkg -i postgresql-9.4_9.4.2-1.1C_amd64.deb dpkg -i postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb
12.1 Если возникает проблема с libssl1.0.0, то добавляем в /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ jessie main deb-src http://ftp.us.debian.org/debian/ jessie main deb http://security.debian.org/debian-security jessie/updates main deb-src http://security.debian.org/debian-security jessie/updates main
apt-get update apt-get install libssl1.0.0
13. Разрешаем любые подключения к PostgreSQL с локального хоста:
nano /etc/postgresql/9.4/main/pg_hba.conf local all postgres peer => local all postgres trust
14. Рестартуем PostgreSQL:
service postgresql restart
15. Задаем пароль пользователя "postgre":
psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"
16. Направляем все системные сообщения на syslog-сервер:
nano /etc/rsyslog.d/aktm.conf *.* @192.168.0.221
17. Рестартуем syslog:
service syslog restart
18. Проверяем syslog:
logger test
На syslog-сервере должно появиться сообщение "test".
19. Настраиваем логи PostgreSQL сервера:
nano /etc/postgresql/9.4/main/postgresql.conf #log_destination = 'stderr' => log_destination = 'stderr, syslog'
События будут отправляться как на syslog-сервер, так и в log-файл.
20. Применяем изменеия в конфигурации PostgreSQL:
Выясняем номер процесса:
ps axu | grep sql
Перечитываем конфигурацию без перезагрузки самого PostgreSQL:
kill -SIGHUP XXX
где XXX номер процесса.
Для просмотра текущих параметров конфигурации можно послать SQL запрос "SHOW ALL"
21. Устанавливаем zabbix-агента:
wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+jessie_all.deb dpkg -i zabbix-release_3.0-1+jessie_all.deb apt-get update apt-get install zabbix-agent
22. Настраиваем zabbix-агента:
# nano /etc/zabbix/zabbix_agentd.conf LogType=system Server=192.168.0.231,127.0.0.1 ServerActive=192.168.0.231 Hostname=srvvsa-016
23. Выясняем имя сервиса zabbix-агента и рестартуем его:
service --status-all service zabbix-agent restart
24. Изменяем настройки аутентификации PostgreSQL:
nano /etc/postgresql/9.4/main/pg_hba.conf local all postgres trust => local all postgres peer host all all 127.0.0.1/32 md5 kill -SIGHUP XXX
25. Копируем конфигурацию zabbix-агента для PostgreSQL:
cp postgresql.conf /etc/zabbix/zabbix_agentd.d/postgresql.conf
26. Копируем утилиту получения информации от zabbix-агента и делаем файл исполняемым:
cp zabbix_get /bin/zabbix_get chown root /bin/zabbix_get chmod 755 /bin/zabbix_get
27. Настраиваем возможность zabbix-агента авторизоваться (или аутентифицироваться) в PostgreSQL:
27.1. Выясняем домашний каталог пользователя "zabbix":
cat /ets/passwd
27.2. В домашнем каталоге создаем файл с параметрами аутентификации и присваиваем ему необходимые атрибуты:
cd /var/lib/ mkdir zabbix chown zabbix zabbix nano /var/lib/zabbix/.pgpass *:*:*:postgres:password
chown zabbix /var/lib/zabbix/.pgpass chmod 600 /var/lib/zabbix/.pgpass
27.3. Проверяем:
zabbix_get -s 127.0.0.1 -k pgsql.ping['-h 127.0.0.1 -p 5432 -U postgres']
Ответом должно быть число.