zoukankan      html  css  js  c++  java
  • zabbix3监控php-fpm的状态

    php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助
    
    1. 启用php-fpm状态功能
    
    [root@node1:~]# vim /usr/local/php-7.0.12_fpm/etc/php-fpm.conf
    pm.status_path = /status
    [root@node1:~]# cat /usr/local/php-7.0.12_fpm/etc/php-fpm.conf |grep status_path
    pm.status_path = /status
    
    默认情况下为/status,当然也可以改成其他的,例如/chinasoft_status等等。
    
    2. nginx配置
    
    在默认主机里面加上location或者你希望能访问到的主机里面。
    
    # 使用socket的方式进行通讯(推荐)
    server {
        listen  80 default_server;
        server_name 10.11.0.210;
        location ~ ^/(status|ping)$ {
            include fastcgi_params;
            fastcgi_pass unix:/tmp/php-cgi.sock;
            fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
        }
    }
    
    对应php-fpm.conf配置
    listen = /tmp/php-cgi.sock
    
    # 使用fastcgi的方式进行通讯
    server {
        listen  80 default_server;
        server_name 10.11.0.210;
        location ~ ^/(status|ping)$
        {
            include fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    
        }
    }
    对应php-fpm.conf配置
    listen = 127.0.0.1:9000
    
    3. 重启nginx/php-fpm
    请依照你的环境重启你的nginx和php-fpm
    # service nginx restart
    # service php-fpm restart
    
    启动php-7.0.12_fpm报错
    [root@node1:/usr/local/tengine-2.2.0/conf]# /etc/init.d/php-fpm restart
    Gracefully shutting down php-fpm /etc/init.d/php-fpm: line 82: kill: (9316) - No such process
    ................................... failed. Use force-quit
    Starting php-fpm /usr/local/php/sbin/php-fpm: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
     failed
    解决办法:
    [root@node1:/usr/local/tengine-2.2.0/conf]# yum install -y libpng
    
    
    4. 打开status页面
    
    [root@node1:/usr/local/php/etc]# curl http://10.11.0.210/status
    pool:                 www
    process manager:      dynamic
    start time:           13/Jun/2018:10:17:39 +0800
    start since:          482
    accepted conn:        2
    listen queue:         0
    max listen queue:     0
    listen queue len:     0
    idle processes:       63
    active processes:     1
    total processes:      64
    max active processes: 1
    max children reached: 0
    slow requests:        0
    
    5. php-fpm status详解
    
    pool – fpm池子名称,大多数为www
    process manager – 进程管理方式,值:static, dynamic or ondemand. dynamic
    start time – 启动日期,如果reload了php-fpm,时间会更新
    start since – 运行时长
    accepted conn – 当前池子接受的请求数
    listen queue – 请求等待队列,如果这个值不为0,那么要增加FPM的进程数量
    max listen queue – 请求等待队列最高的数量
    listen queue len – socket等待队列长度
    idle processes – 空闲进程数量
    active processes – 活跃进程数量
    total processes – 总进程数量
    max active processes – 最大的活跃进程数量(FPM启动开始算)
    max children reached - 大道进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。
    slow requests – 启用了php-fpm slow-log,缓慢请求的数量
    
    6. php-fpm其他参数
    
    php-fpm状态页比较个性化的一个地方是它可以带参数,可以带参数json、xml、html并且前面三个参数可以分别和full做一个组合。
    
    json
    [root@node1:/usr/local/php/etc]# curl http://10.11.0.210/status?json
    {"pool":"www","process manager":"dynamic","start time":1528856259,"start since":566,"accepted conn":3,"listen queue":0,"max listen queue":0,"listen queue len":0,"idle processes":63,"active processes":1,"total processes":64,"max active processes":1,"max children reached":0,"slow requests":0}
    
    xml
    # curl http://127.0.0.1/status?xml
    
    html
    # curl http://127.0.0.1/status?html
    
    full
    # curl http://127.0.0.1/status?full
    pool:                 www
    process manager:      dynamic
    start time:           13/Jun/2018:10:39:54 +0800
    start since:          43
    accepted conn:        46
    listen queue:         0
    max listen queue:     0
    listen queue len:     0
    idle processes:       15
    active processes:     1
    total processes:      16
    max active processes: 1
    max children reached: 0
    slow requests:        0
    
    ************************
    pid:                  5262
    state:                Idle
    start time:           13/Jun/2018:10:39:54 +0800
    start since:          43
    requests:             3
    request duration:     203
    request method:       GET
    request URI:          /status
    content length:       0
    user:                 -
    script:               -
    last request cpu:     0.00
    last request memory:  2097152
    
    ************************
    pid:                  5263
    state:                Idle
    start time:           13/Jun/2018:10:39:54 +0800
    start since:          43
    requests:             3
    request duration:     130
    request method:       GET
    request URI:          /status
    content length:       0
    user:                 -
    script:               -
    last request cpu:     0.00
    last request memory:  2097152
    
    ************************
    pid:                  5264
    state:                Idle
    start time:           13/Jun/2018:10:39:54 +0800
    start since:          43
    requests:             3
    request duration:     129
    request method:       GET
    request URI:          /status
    content length:       0
    user:                 -
    script:               -
    last request cpu:     0.00
    last request memory:  2097152
    
    ************************
    pid:                  5265
    state:                Idle
    start time:           13/Jun/2018:10:39:54 +0800
    start since:          43
    requests:             3
    request duration:     154
    request method:       GET
    request URI:          /status
    content length:       0
    user:                 -
    script:               -
    last request cpu:     0.00
    last request memory:  2097152
    ......
    
    6.5 full详解
    pid – 进程PID,可以单独kill这个进程. You can use this PID to kill a long running process.
    state – 当前进程的状态 (Idle, Running, …)
    start time – 进程启动的日期
    start since – 当前进程运行时长
    requests – 当前进程处理了多少个请求
    request duration – 请求时长(微妙)
    request method – 请求方法 (GET, POST, …)
    request URI – 请求URI
    content length – 请求内容长度 (仅用于 POST)
    user – 用户 (PHP_AUTH_USER) (or ‘-’ 如果没设置)
    script – PHP脚本 (or ‘-’ if not set)
    last request cpu – 最后一个请求CPU使用率。
    last request memorythe - 上一个请求使用的内存
    
    
    二、服务端的操作
    导入php-fpm的监控模板
    template php-fpm
    
    1.添加监控脚本
    
    vim /usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh
    
    #!/bin/bash
    
    listenqueue(){
            curl -m 10 -s http://127.0.0.1:80/status?auto |grep "listen queue:"|grep -vE "len|max"|awk '{print$3}'
    }
    
    listenqueuelen(){
           curl -m 10 -s http://127.0.0.1:80/status?auto |grep "listen queue len" |awk '{print$4}'
    }
    
    idle(){
            curl -m 10 -s http://127.0.0.1:80/status?auto |grep "idle processes" |awk '{print$3}'
    }
    active(){
            curl -m 10 -s http://127.0.0.1:80/status?auto |grep "active" |awk '{print$3}'|grep -v "process"
    }
    total(){
            curl -m 10 -s http://127.0.0.1:80/status?auto |grep "total processes" |awk '{print$3}'
    }
    
    mactive(){
    
            curl -m 10 -s http://127.0.0.1:80/status?auto |grep "max active processes:" |awk '{print$4}'
    }
    
    since(){
            curl -m 10 -s http://127.0.0.1:80/status?auto |grep "start since: " |awk '{print$3}'
    }
    
    conn(){
            curl -m 10 -s http://127.0.0.1:80/status?auto |grep "accepted conn" |awk '{print$3}'
    }
    
    reached(){
            curl -m 10 -s http://127.0.0.1:80/status?auto |grep "max children reached" |awk '{print$4}'
    }
    requests(){
           curl -m 10 -s http://127.0.0.1:80/status?auto |grep "slow requests" |awk '{print$3}'
    }

    http_code(){
    curl -s --connect-timeout 8 -m 4 -o /dev/null -w %{http_code} "http://127.0.0.1/status"
    }

    up(){
    ps -ef|grep "php-fpm: master process"|grep -v grep|wc -l
    }

    
    $1
    
    
    # 给脚本添加执行权限
    chmod +x /usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh
    
    2.增加配置文件
    [root@node1:/usr/local/php/etc]# vim /usr/local/zabbix_agents_3.2.0/conf/zabbix_agentd/php-fpm_status.conf
    
    UserParameter=idle.processe,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh idle
    UserParameter=total.processes,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh total
    UserParameter=active.processes,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh active
    UserParameter=max.active.processes,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh mactive
    UserParameter=listen.queue.len,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh listenqueuelen
    UserParameter=listen.queue,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh listenqueue
    UserParameter=start.since,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh since
    UserParameter=accepted.conn,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh conn
    UserParameter=max.children.reached,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh reached
    UserParameter=slow.requests,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh requests
    UserParameter=up,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh up
    UserParameter=http_code,/usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh http_code
     
    3.重启客户端,并测试 [root@node1:~]# /usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh idle 15 [root@node1:~]# /usr/local/zabbix_agents_3.2.0/scripts/php-fpm_status.sh total 16 # 服务端测试 [root@node5 ~]# zabbix_get -s 10.11.0.210 -p 10050 -k "active.processes" 1 [root@node5 ~]# zabbix_get -s 10.11.0.210 -p 10050 -k "slow.requests" 0 [root@node5 ~]# zabbix_get -s 10.11.0.210 -p 10050 -k "total.processes" 16

     zabbix监控php-fpm模板

    <?xml version="1.0" encoding="UTF-8"?>
    <zabbix_export>
        <version>3.2</version>
        <date>2019-07-09T03:30:42Z</date>
        <groups>
            <group>
                <name>Templates</name>
            </group>
        </groups>
        <templates>
            <template>
                <template>Template php-fpm</template>
                <name>Template php-fpm</name>
                <description/>
                <groups>
                    <group>
                        <name>Templates</name>
                    </group>
                </groups>
                <applications>
                    <application>
                        <name>php-fpm</name>
                    </application>
                </applications>
                <items>
                    <item>
                        <name>accepted conn</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>accepted.conn</key>
                        <delay>60</delay>
                        <history>90</history>
                        <trends>365</trends>
                        <status>0</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units>k</units>
                        <delta>1</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>0</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>active processes</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>active.processes</key>
                        <delay>60</delay>
                        <history>90</history>
                        <trends>365</trends>
                        <status>0</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>0</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>0</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>http_code</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>http_code</key>
                        <delay>300</delay>
                        <history>90</history>
                        <trends>180</trends>
                        <status>0</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>0</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex>300/1-7,00:00-24:00</delay_flex>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>0</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications/>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>php-fpm_idle_processes</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>idle.processe</key>
                        <delay>60</delay>
                        <history>90</history>
                        <trends>365</trends>
                        <status>0</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>0</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>0</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>listen queue</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>listen.queue</key>
                        <delay>60</delay>
                        <history>90</history>
                        <trends>365</trends>
                        <status>0</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>0</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>0</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>listen queue len</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>listen.queue.len</key>
                        <delay>60</delay>
                        <history>90</history>
                        <trends>365</trends>
                        <status>1</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>0</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>0</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>max active processes</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>max.active.processes</key>
                        <delay>90</delay>
                        <history>10</history>
                        <trends>90</trends>
                        <status>0</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>0</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>0</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>max children reached</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>max.children.reached</key>
                        <delay>60</delay>
                        <history>90</history>
                        <trends>365</trends>
                        <status>0</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>1</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>2</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>slow requests</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>slow.requests</key>
                        <delay>60</delay>
                        <history>90</history>
                        <trends>365</trends>
                        <status>0</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>1</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>2</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>start since</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>start.since</key>
                        <delay>60</delay>
                        <history>90</history>
                        <trends>365</trends>
                        <status>1</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>1</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>2</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>total processes</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>total.processes</key>
                        <delay>60</delay>
                        <history>90</history>
                        <trends>365</trends>
                        <status>1</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>0</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>0</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                    <item>
                        <name>up</name>
                        <type>0</type>
                        <snmp_community/>
                        <multiplier>0</multiplier>
                        <snmp_oid/>
                        <key>up</key>
                        <delay>90</delay>
                        <history>10</history>
                        <trends>90</trends>
                        <status>0</status>
                        <value_type>3</value_type>
                        <allowed_hosts/>
                        <units/>
                        <delta>0</delta>
                        <snmpv3_contextname/>
                        <snmpv3_securityname/>
                        <snmpv3_securitylevel>0</snmpv3_securitylevel>
                        <snmpv3_authprotocol>0</snmpv3_authprotocol>
                        <snmpv3_authpassphrase/>
                        <snmpv3_privprotocol>0</snmpv3_privprotocol>
                        <snmpv3_privpassphrase/>
                        <formula>1</formula>
                        <delay_flex/>
                        <params/>
                        <ipmi_sensor/>
                        <data_type>0</data_type>
                        <authtype>0</authtype>
                        <username/>
                        <password/>
                        <publickey/>
                        <privatekey/>
                        <port/>
                        <description/>
                        <inventory_link>0</inventory_link>
                        <applications>
                            <application>
                                <name>php-fpm</name>
                            </application>
                        </applications>
                        <valuemap/>
                        <logtimefmt/>
                    </item>
                </items>
                <discovery_rules/>
                <httptests/>
                <macros>
                    <macro>
                        <macro>{$PHP_FPM_STATUS_URL}</macro>
                        <value>http://127.0.0.1:10061/php-fpm_status</value>
                    </macro>
                </macros>
                <templates/>
                <screens/>
            </template>
        </templates>
        <triggers>
            <trigger>
                <expression>{Template php-fpm:http_code.max(#2)}&lt;&gt;200</expression>
                <recovery_mode>0</recovery_mode>
                <recovery_expression/>
                <name>php-fpm http status code not 200</name>
                <correlation_mode>0</correlation_mode>
                <correlation_tag/>
                <url/>
                <status>0</status>
                <priority>2</priority>
                <description/>
                <type>0</type>
                <manual_close>0</manual_close>
                <dependencies/>
                <tags/>
            </trigger>
            <trigger>
                <expression>{Template php-fpm:up.last()}=0</expression>
                <recovery_mode>0</recovery_mode>
                <recovery_expression/>
                <name>php-fpm was down</name>
                <correlation_mode>0</correlation_mode>
                <correlation_tag/>
                <url/>
                <status>0</status>
                <priority>0</priority>
                <description/>
                <type>0</type>
                <manual_close>0</manual_close>
                <dependencies/>
                <tags/>
            </trigger>
        </triggers>
        <graphs>
            <graph>
                <name>php-fpm_status</name>
                <width>900</width>
                <height>200</height>
                <yaxismin>0.0000</yaxismin>
                <yaxismax>100.0000</yaxismax>
                <show_work_period>1</show_work_period>
                <show_triggers>1</show_triggers>
                <type>0</type>
                <show_legend>1</show_legend>
                <show_3d>0</show_3d>
                <percent_left>0.0000</percent_left>
                <percent_right>0.0000</percent_right>
                <ymin_type_1>0</ymin_type_1>
                <ymax_type_1>0</ymax_type_1>
                <ymin_item_1>0</ymin_item_1>
                <ymax_item_1>0</ymax_item_1>
                <graph_items>
                    <graph_item>
                        <sortorder>0</sortorder>
                        <drawtype>0</drawtype>
                        <color>C800C8</color>
                        <yaxisside>0</yaxisside>
                        <calc_fnc>2</calc_fnc>
                        <type>0</type>
                        <item>
                            <host>Template php-fpm</host>
                            <key>active.processes</key>
                        </item>
                    </graph_item>
                    <graph_item>
                        <sortorder>1</sortorder>
                        <drawtype>0</drawtype>
                        <color>00C8C8</color>
                        <yaxisside>0</yaxisside>
                        <calc_fnc>2</calc_fnc>
                        <type>0</type>
                        <item>
                            <host>Template php-fpm</host>
                            <key>listen.queue</key>
                        </item>
                    </graph_item>
                    <graph_item>
                        <sortorder>2</sortorder>
                        <drawtype>0</drawtype>
                        <color>C8C800</color>
                        <yaxisside>0</yaxisside>
                        <calc_fnc>2</calc_fnc>
                        <type>0</type>
                        <item>
                            <host>Template php-fpm</host>
                            <key>listen.queue.len</key>
                        </item>
                    </graph_item>
                    <graph_item>
                        <sortorder>3</sortorder>
                        <drawtype>0</drawtype>
                        <color>C8C8C8</color>
                        <yaxisside>0</yaxisside>
                        <calc_fnc>2</calc_fnc>
                        <type>0</type>
                        <item>
                            <host>Template php-fpm</host>
                            <key>max.active.processes</key>
                        </item>
                    </graph_item>
                    <graph_item>
                        <sortorder>4</sortorder>
                        <drawtype>0</drawtype>
                        <color>960000</color>
                        <yaxisside>0</yaxisside>
                        <calc_fnc>2</calc_fnc>
                        <type>0</type>
                        <item>
                            <host>Template php-fpm</host>
                            <key>idle.processe</key>
                        </item>
                    </graph_item>
                    <graph_item>
                        <sortorder>5</sortorder>
                        <drawtype>0</drawtype>
                        <color>000096</color>
                        <yaxisside>0</yaxisside>
                        <calc_fnc>2</calc_fnc>
                        <type>0</type>
                        <item>
                            <host>Template php-fpm</host>
                            <key>total.processes</key>
                        </item>
                    </graph_item>
                </graph_items>
            </graph>
        </graphs>
    </zabbix_export>

     监控一台服务器运行多个php程序状态码

    # 对应的php-fpm.conf修改
    php5.6.30
    pm.status_path = /php5_status

    php7.0.30
    pm.status_path = /php7_status


    # nginx的配置
    location ~ ^/(php5_status|php5_ping)$ {
    include fastcgi_params;
    fastcgi_pass unix:/tmp/php5.6.30.sock;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }


    location ~ ^/(php7_status|php7_ping)$ {
    include fastcgi_params;
    fastcgi_pass unix:/tmp/php7.0.30.sock;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }


    # 监控项
    UserParameter=php5_status,curl -s -k --connect-timeout 10 -m 4 -o /dev/null -w %{http_code} "http://127.0.0.1/php5_status"
    UserParameter=php7_status,curl -s -k --connect-timeout 10 -m 4 -o /dev/null -w %{http_code} "http://127.0.0.1/php7_status"

  • 相关阅读:
    链路追踪
    Zuul网关
    MyBatis批量插入
    自定义组件使用v-model
    正则表达式入门
    博客园主题1【备份】
    关于我
    input输入框内容规范正则总结
    实例003:完全平方数
    python基础day5dict
  • 原文地址:https://www.cnblogs.com/reblue520/p/9247588.html
Copyright © 2011-2022 走看看