Zabbix监控nginx性能(113)

需要使用zabbix监控nginx,首先nginx需要配置ngx_status,如果开启请看凉白开之前的文章《启用nginx status状态详解

nginx status信息

以上为nginx性能计数,我们除了监控以上数据,还需要监控nginx进程状态,并且配置触发器!

zabbix客户端配置

编写客户端脚本ngx_status.sh

zabbix客户端配置

将自定义的UserParameter加入配置文件,然后重启agentd,如下:

zabbix_get获取数据

此步骤可以跳过,但是最好是测试一下,因为通过此命令我们可以检测配置是否正确

在zabbix server服务器上执行如上命令, 10.10.1.121为agentd机器

zabbix web端配置

导入Template App NGINX模板

模板我已经写好了,将会放到附件中。具体导入方式请看前面的文章《zabbix链接及解除模板链接(76)

Link NGINX模板

到了最后一个阶段,登陆zabbix管理端,link模板到nginx服务器:configuration->hosts->点击nginx所在服务器->点击template->Link new templates输入"Template App NGINX"->Add->最后点击update。

监控效果

nginx

zabbix-nginx-status

模板附件下载:zabbix_monitor_nginx_template_ttlsa_com

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:30   其中:访客  30   博主  0

  1. homu 4

    这个工具监控 nginx 比 zabbix 简单
    http://www.oneapm.com/ci/zabbix.html

    • 菊花侠 1

      @homu 要钱的

  2. 0

    nginx status server 这个graph下的数据显示为0,但graph type 是normal,另一个模板是有的
    nginx status server accepts
    nginx status server handled
    nginx status server requests

    • 一样 0

      @ 你有解决么

  3. lucas 1

    [root@blog bin]# cat /var/log/audit/audit.log
    type=AVC msg=audit(1460173064.477:2379): avc: denied { name_connect } for pid=14688 comm=”curl” dest=80 scontext=system_u:system_r:zabbix_agent_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket
    type=SYSCALL msg=audit(1460173064.477:2379): arch=c000003e syscall=42 success=no exit=-13 a0=3 a1=7ffe55e21bf0 a2=10 a3=7ffe55e21810 items=0 ppid=14687 pid=14688 auid=4294967295 uid=996 gid=994 euid=996 suid=996 fsuid=996 egid=994 sgid=994 fsgid=994 tty=(none) ses=4294967295 comm=”curl” exe=”/usr/bin/curl” subj=system_u:system_r:zabbix_agent_t:s0 key=(null)

    [root@blog bin]# setsebool -P nis_enabled 1

    如果是这个问题,可以这样解决

  4. lucas 1

    没有值 可能是setenforce的问题

  5. 匿名 5

    下载模板后 将3.0改为2.0 可以导入 ,但是在主机关联这个模板,保存的时候报了下面的错,
    Error in query [INSERT INTO applications (name,hostid,applicationid) VALUES (‘nginx’,’10107′,’468′)] [Duplicate entry ‘10105-nginx’ for key ‘applications_2’]
    SQL陈述式执行已失败: “INSERT INTO applications (name,hostid,applicationid) VALUES (‘nginx’,’10107′,’468′)”.

  6. stone 85757916 3

    谢谢分享..

  7. huningfei 2

    导入模板的时候报错 ERROR: Import failed 是版本原因吗?

    • 管理员 5

      @huningfei 打开xml文件,把里面的3.0改成2.0

      • huningfei 2

        @管理员 你好,改了之后,还是报错
        Created: Application “nginx” on “Template App NGINX”.
        Created: Item “nginx status connections active” on “Template App NGINX”.
        Created: Item “nginx status connections reading” on “Template App NGINX”.
        Created: Item “nginx status connections waiting” on “Template App NGINX”.
        Created: Item “nginx status connections writing” on “Template App NGINX”.
        Created: Item “nginx status PING” on “Template App NGINX”.
        Created: Item “nginx status server accepts” on “Template App NGINX”.
        Created: Item “nginx status server handled” on “Template App NGINX”.
        Created: Item “nginx status server requests” on “Template App NGINX”.
        Cannot implode expression “{Template App NGINX:nginx.status[ping].last()}=0”. Incorrect trigger function “last” provided in expression. Parameter sec or #num or user macro expected, “” given.

        Import

  8. 风吻过的伤口 5

    请教个问题 centos 7 安装zabbix-agentd
    /usr/local/zabbix/bin/zabbix_get -s 10.0.0.11 -p 10050 -k ‘system.uptime’

    值为空

  9. 错误 5

    Starting Zabbix agent: zabbix_agentd [2646]: unknown parameter [HOST] in config file [/etc/zabbix/zabbix_agentd.d/ngx_status.sh], line 3

  10. qzuser 5

    下载模板后 将3.0改为2.0 可以导入 ,但是在主机关联这个模板,保存的时候报了下面的错,
    Error in query [INSERT INTO applications (name,hostid,applicationid) VALUES (‘nginx’,’10105′,’525′)] [Duplicate entry ‘10105-nginx’ for key ‘applications_2’]
    SQL陈述式执行已失败: “INSERT INTO applications (name,hostid,applicationid) VALUES (‘nginx’,’10105′,’525′)”.

    • qzuser 5

      @qzuser 已经解决了 3q

      • riyuedm 0

        @qzuser 我也遇到这个问题额 请问你是怎么解决的呢

      • 匿名 5

        @qzuser 我也遇到这个问题了,请问你是如何解决的呢

  11. 4

    我的zabbix是2.4 的,导入到时候报错。说不支持。求教版主

    • 多看zabbix官方手册 5

      @ 找什么鸡巴module 自己写监控脚本就行了 无非就是采集一些阈值 然后传递给zabbix server 然后zabbix server收集 设置item action 出图

  12. Roach 5

    我貌似也遇到同样的问题了,部署了两台一台有数据获取到,另外一台没有获取到,你们是怎么解决的

  13. longdechuanren517 4

    我想请问下nginx的模版怎么创建。主要监控nginx的什么版本

  14. 戴俊杰 5

    我试了下,模板导入失败,我用的是zabbix 2.4,是不是这个模板只支持其他版本的,求2.4版本的模板

    • 凉白开 5

      @戴俊杰 编辑xml文件,把3.0改为2.0试试

      • 戴俊杰 5

        @凉白开 模板导进去了,谢谢。

        但是我碰到其他奇怪问题了,请教下。
        是这样我按照你教程步骤配置好了agent,然后在agent本机使用
        zabbix_get -s 127.0.0.1 -k ‘nginx.status[accepts]’,不管获取什么都是空,也不报任何错误。
        检查脚本,有执行权限,试着执行脚本里curl语句有数据
        检查http://x.x.x.x/ngx_status,也没问题有数据

        不知道还有哪里不对了

        • 运维生存时间 5

          @戴俊杰 需要在zabbix server上执行get命令

          • 戴俊杰 5

            @运维生存时间 ok,明白了,多谢

          • 王增辉 5

            @运维生存时间 我这也是没有数据 , zabbix server 端执行zabbix_get -s 10.15.117.83 -k ‘nginx.status[accepts]’ 也是空的 不知道是啥原因 谢谢 (zabbix版本为2.4 已将3.0 改为2.0,模板能够正常导入)

        • 4

          @戴俊杰 看下的值有没有设置对

      • 123321 5

        @凉白开 您好,我已经通过zabbix自带的jvm generic模板监控了jvm,但是为什么gc和memory的部分指标监控不到,我对java的语言不了解,请问是否需要在java上进行配置?