1、目的:nginx
Tnginx實現基於uri的健康狀態檢查,當uri對應的服務器故障時,自動剔除此IP,恢復時自動加入集羣。web
Zabbix實現自動發現Tengin集羣結點,自動加入監控列表,當服務器故障時,自動發送告警信息。Tengine官網:http://tengine.taobao.orgjson
2、Tengine編譯參數 dom
--prefix=/data/program/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/run/nginx.lock \ --http-client-body-temp-path=/var/cache/nginx/client_temp \ --http-proxy-temp-path=/var/cache/nginx/proxy_temp\ --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \ --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp\ --http-scgi-temp-path=/var/cache/nginx/scgi_temp \ --user=nginx --group=nginx --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_stub_status_module \ --with-http_auth_request_module \ --with-mail \ --with-mail_ssl_module \ --with-file-aio --with-ipv6
3、配置nginx.conf,開啓健康狀態檢查curl
location /healt { allow all; check_status json; access_log off; }
4、因爲zabbix自動發現的規則不是以上格式,須要進行修改測試
curl -s http://dev-sz.valueonline.cn/healt | sed '1,3c\{' | sed 's@}}@}@g' | sed 's/server/data/g' | sed 's@name@{#NAME}@g' | sed 's@upstream@{#UPSTREAM}@g'
5、編寫zabbix配置文件,從新zabbix-agent服務(以後使用zabbix-get測試是否能獲取值)url
6、在zabbix web端編寫自動發現規則code