В этой статье хочу продолжить делиться опытом по созданию Zabbix-сервера на хостинге Openshift.
О базовой установке и настройке я рассказывал в предыдущей статье Установка Zabbix 2.4 на RedHat Openshift.
В этой статье речь пойдёт о установке zabbix-agent на локальный хост (который будем мониторить) и настройку соединения его с zabbix-server через ssh-туннель.
Для начала надо создать новую пару ключей (для безопасности) и поместить публичный ключ в хранилище ключей OpenShift.
Проверяем,
% ssh 55e9bc400c1e66a589000029@zabbix-chinacoolhacker.rhcloud.com [zabbix-chinacoolhacker.rhcloud.com 55e9bc400c1e66a589000029]\>
Для проброса туннеля нужно знать свой локальный ip приложения OpenShift.
[zabbix-chinacoolhacker.rhcloud.com 55e9bc400c1e66a589000029]\> export | grep OPENSHIFT_PHP_IP declare -x OPENSHIFT_PHP_IP="127.13.151.129"
Теперь создадим скрипт, который будет поддерживать на локальном хосте ssh-туннель:
#!/bin/sh SSH_DAEMON="/usr/bin/ssh" SSH_DAEMON_OPTS="-2 -N -f -L" LOCAL_PREF="10051:<YOUR_LOCAL_OPENSHIFT_IP>:30051" REMOTE_PREF="<USER>@<YOUR_SERVER>.rhcloud.com" CONNECT=" $SSH_DAEMON $SSH_DAEMON_OPTS $LOCAL_PREF $REMOTE_PREF" # STAT=$(ps auxww | grep "$CONNECT" | grep -v grep | wc -l) if [ $STAT == 0 ]; then $CONNECT exit 0; else exit 0; fi
И поместим его в кронтаб непривилегированного пользователя (например, zabbix) на выполнение раз в минуту.
Проверяем:
user@localhost:~ % telnet localhost 10051 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. ^] telnet> quit
Устанавливаем на localhost агента, создаём примерно такой конфиг zabbix_agentd.conf:
LogFile=/tmp/zabbix_agentd.log LogFileSize=1 Server=127.0.0.1 StartAgents=0 ServerActive=127.0.0.1 Hostname=localhost RefreshActiveChecks=120 Timeout=10 User=zabbix
Теперь надо добавить localhost как ноду в zabbix
Сразу скажу что красный значок так и останется — работа агента в пассивном режиме не предполагается.
Берём нужный Вам темплейт (например встроенный Template OS Linux), и в настройках Items меняем(проще всего через mass update) тип на zabbix-agent(active).
Если есть сценарии дискаверинга — не забываем и там поставить zabbix-agent(active) тоже.
Через некоторое время данные начнут поступать на сервер.
Если по какой-то причине данные не поступают — смотрим в лог на предмет ошибок.
На этом всё, надеюсь кому-то это будет полезно.
Буду признателен за конструктивную критику.
ссылка на оригинал статьи http://habrahabr.ru/post/271843/
Добавить комментарий