{"id":749,"date":"2018-04-04T15:08:36","date_gmt":"2018-04-04T07:08:36","guid":{"rendered":"https:\/\/blog.jsjs.org\/?p=749"},"modified":"2018-04-04T15:08:36","modified_gmt":"2018-04-04T07:08:36","slug":"zabbix-%e7%9b%91%e6%8e%a7-nginx-status-%e6%80%a7%e8%83%bd","status":"publish","type":"post","link":"https:\/\/blog.jsjs.org\/?p=749","title":{"rendered":"Zabbix \u76d1\u63a7 Nginx status \u6027\u80fd"},"content":{"rendered":"<p>\u5176\u5b9ezabbix\u5bf9nginx\u7684\u670d\u52a1\u72b6\u6001\u76d1\u63a7\uff0c\u7f51\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6a21\u677f\u4ee5\u53ca\u8bbe\u7f6e\u65b9\u6cd5\uff0c\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u4fee\u6539\u5373\u53ef\uff0c\u540e\u671f\u6211\u4f1a\u5199\u4e00\u4e9b\u6bd4\u8f83\u8be6\u7ec6\u7528\u4e8e\u751f\u4ea7\u73af\u5883\u4e2d\u7684\u4e00\u4e9b\u6559\u7a0b\u3002<\/p>\n<p><strong>\u90e8\u7f72\u73af\u5883\uff1a<\/strong><\/p>\n<blockquote><p>OS\uff1aCentOS 7.4<br \/>\nWEB\uff1a Nginx 1.3<br \/>\n\u76d1\u63a7\uff1aZabbix 3.4<\/p><\/blockquote>\n<p><strong>\u5148\u51b3\u6761\u4ef6\uff1a<\/strong><\/p>\n<p>\u300a<a href=\"https:\/\/renwole.com\/archives\/39\">Centos 7 \u6e90\u7801\u7f16\u8bd1\u5b89\u88c5 Nginx<\/a>\u300b<\/p>\n<blockquote><p>\u6ce8\u610f\uff1a\u4e3b\u8981\u662f \u2013with-http_stub_status_module \u6a21\u5757\u3002<\/p><\/blockquote>\n<p><strong>1.\u4fee\u6539 nginx.conf<\/strong><\/p>\n<blockquote><p>\u5728 server \u6bb5 \u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n<pre>$ vim \/usr\/local\/nginx\/conf\/nginx.conf\n\nlocation \/stub_status {\nstub_status on;\naccess_log off;\nallow 127.0.0.1;\ndeny all;\n}<\/pre>\n<\/blockquote>\n<p><strong>2.\u91cd\u542fNginx\u670d\u52a1\u5e76\u6d4b\u8bd5\u8bbf\u95ee<\/strong><\/p>\n<blockquote>\n<pre>$ systemctl restart nginx.service\n$ curl http:\/\/127.0.0.1\/stub_status\nActive connections: 1\nserver accepts handled requests\n304 304 304\nReading: 0 Writing: 1 Waiting: 0<\/pre>\n<p>\u8bbf\u95ee\u8fd4\u56de\u6570\u636e\u8bf4\u660eNginx\u914d\u7f6e\u6b63\u5e38.<\/p><\/blockquote>\n<p><strong>3.\u521b\u5efa Nginx \u76d1\u63a7\u811a\u672c<\/strong><\/p>\n<blockquote><p>\u5c06\u4ee5\u4e0b\u4ee3\u7801\u590d\u5236\u4fdd\u5b58\u4e3a nginx.sh<\/p>\n<pre>$ cd \/usr\/local\/zabbix\/bin\n$ vim nginx.sh<\/pre>\n<pre>#!\/bin\/bash\n\nHOST=\"127.0.0.1\"\nPORT=\"80\"\nstub_status=stub_status\nfunction check() {\n\/sbin\/pidof nginx | wc -l\n}\nfunction active() {\n\/usr\/bin\/curl -s \"http:\/\/$HOST:$PORT\/${stub_status}\/\" 2&gt;\/dev\/null| grep 'Active' | awk '{print $NF}'\n}\nfunction accepts() {\n\/usr\/bin\/curl -s \"http:\/\/$HOST:$PORT\/${stub_status}\/\" 2&gt;\/dev\/null| awk NR==3 | awk '{print $1}'\n}\nfunction handled() {\n\/usr\/bin\/curl -s \"http:\/\/$HOST:$PORT\/${stub_status}\/\" 2&gt;\/dev\/null| awk NR==3 | awk '{print $2}'\n}\nfunction requests() {\n\/usr\/bin\/curl -s \"http:\/\/$HOST:$PORT\/${stub_status}\/\" 2&gt;\/dev\/null| awk NR==3 | awk '{print $3}'\n}\nfunction reading() {\n\/usr\/bin\/curl -s \"http:\/\/$HOST:$PORT\/${stub_status}\/\" 2&gt;\/dev\/null| grep 'Reading' | awk '{print $2}'\n}\nfunction writing() {\n\/usr\/bin\/curl -s \"http:\/\/$HOST:$PORT\/${stub_status}\/\" 2&gt;\/dev\/null| grep 'Writing' | awk '{print $4}'\n}\nfunction waiting() {\n\/usr\/bin\/curl -s \"http:\/\/$HOST:$PORT\/${stub_status}\/\" 2&gt;\/dev\/null| grep 'Waiting' | awk '{print $6}'\n}\n\ncase \"$1\" in\ncheck)\ncheck\n;;\nactive)\nactive\n;;\naccepts)\naccepts\n;;\nhandled)\nhandled\n;;\nrequests)\nrequests\n;;\nreading)\nreading\n;;\nwriting)\nwriting\n;;\nwaiting)\nwaiting\n;;\n\n*)\necho $\"Usage $0 {check|active|accepts|handled|requests|reading|writing|waiting}\"\nexit\nesac<\/pre>\n<\/blockquote>\n<p><strong>4.\u7ed9\u8be5\u811a\u672c\u6267\u884c\u6743\u9650<\/strong><\/p>\n<blockquote>\n<pre>$ chmod 755 nginx.sh<\/pre>\n<\/blockquote>\n<p><strong>5.\u521b\u5efa userparameter_nginx.conf \u914d\u7f6e\u6587\u4ef6<\/strong><\/p>\n<blockquote>\n<pre>$ cd \/usr\/local\/zabbix\/etc\/zabbix_agentd.conf.d<\/pre>\n<p>\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n<pre>$ vim userparameter_nginx.conf<\/pre>\n<pre>UserParameter=nginx.status[*],\/usr\/local\/zabbix\/bin\/nginx.sh $1<\/pre>\n<\/blockquote>\n<p><strong>6.\u91cd\u542f zabbix<\/strong><\/p>\n<blockquote>\n<pre>$ systemctl restart zabbix-agent.service<\/pre>\n<\/blockquote>\n<p><strong>7.\u5bfc\u5165 zbx_nginx_templates.xml \u6a21\u677f<\/strong><\/p>\n<blockquote><p><strong><a href=\"https:\/\/renwole.com\/zabbix\/nginx\/zbx_nginx_templates.xml\">\u70b9\u6b64\u4e0b\u8f7d\u6a21\u677f<\/a><\/strong><\/p><\/blockquote>\n<p>\u5bfc\u5165\u6a21\u677f\u6dfb\u52a0\u4e3b\u673a\u94fe\u63a5\u5230 Template App Nginx \u6a21\u677f\u5373\u53ef\u3002<\/p>\n<p><strong>\u7248\u6743\u58f0\u660e\uff1a<\/strong>\u672c\u7ad9\u539f\u521b\u6587\u7ae0\uff0c\u6b22\u8fce\u4efb\u4f55\u5f62\u5f0f\u7684\u8f6c\u8f7d\u3002<br \/>\n<strong>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<\/strong><a href=\"https:\/\/renwole.com\/archives\/574\">Zabbix \u76d1\u63a7 Nginx status \u6027\u80fd | \u4efb\u6211\u4e50<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5176\u5b9ezabbix\u5bf9nginx\u7684\u670d\u52a1\u72b6\u6001\u76d1\u63a7\uff0c\u7f51\u4e0a\u6709\u5f88\u591a\u76f8\u5173\u6a21\u677f\u4ee5\u53ca\u8bbe\u7f6e\u65b9\u6cd5\uff0c\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u4fee\u6539\u5373\u53ef\uff0c\u540e\u671f\u6211\u4f1a\u5199\u4e00\u4e9b\u6bd4\u8f83\u8be6\u7ec6\u7528\u4e8e\u751f\u4ea7\u73af\u5883\u4e2d\u7684\u4e00\u4e9b\u6559\u7a0b\u3002 \u90e8\u7f72\u73af\u5883\uff1a OS\uff1aCentOS 7.4 WEB\uff1a Nginx 1.3 \u76d1\u63a7\uff1aZabbix 3.4 \u5148\u51b3\u6761\u4ef6\uff1a \u300aCentos 7 \u6e90\u7801\u7f16\u8bd1\u5b89\u88c5 Nginx\u300b \u6ce8\u610f\uff1a\u4e3b\u8981\u662f \u2013with-http_stub_status_module \u6a21\u5757\u3002 1.\u4fee\u6539 nginx.conf \u5728 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-749","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=749"}],"version-history":[{"count":0,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=\/wp\/v2\/posts\/749\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jsjs.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}