Zabbix + Curl = Socks5
С одной стороны Zabbix это мощная система с большими возможностями уведомления, но иногда они не работают как надо. Встала задача научить Curl работать через прокси сервер — Socks5.
Самое просто научить Curl работать с socks5, это отредактировать файл:
nano ~/.curlrc
1 2 3 |
socks5 = ip-адрес:порт proxy-user = Пользователь:Пароль user-agent = "Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1" |
После этого Curl начинает работать через прокси сервер.
Несколько вариантов с возможностью проверить работу прокси сразу:
1 2 3 4 5 |
curl —proxy ip-адрес:порт check-host.net/ip curl —proxy ip-адрес:порт -U username:password check-host.net/ip curl —socks4 ip-адрес:порт check-host.net/ip curl —socks5 ip-адрес:порт check-host.net/ip curl —socks5-hostname ip-адрес:порт check-host.net/ip |
Но в любом случае zabbix не будет знать про прокси. Увы!
Проблему решил по другому, создал рядом с файлом скрипта curlrc и сделал ссылку на него.
И так сам скрипт оповещения:
/usr/lib/zabbix/alertscripts/zbxtg.sh
Рядом лежит:
/usr/lib/zabbix/alertscripts/.curlrc
Пример использования Curl:
1 |
curl -K "/usr/lib/zabbix/alertscripts/.curlrc" -s --max-time $TIMEOUT -d "chat_id=$USERID&disable_web_page_preview=1&parse_mode=$PARSEMODE&text=$TEXT" $URL > /dev/null |
В итоге Curl берет настройки из файла и продолжает работать.