Debian + PostgreSQL + SysLog + Zabbix

/ Просмотров: 2587
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']

Ответом должно быть число.

Оптимизация PGSQL от 1С

PS: Шаблон для zabbiz`а

Источник