Zabbix模板
1 模板概述
Zabbix为用户提供了很多开箱即用的模板,模板大概分类如下:
具体模板可通过配置 → 模板查看。
网络设备的标准化模板:对交换机和路由器等网络设备进行监控, 网络设备本身(基本上是机框)和网络接口
机框故障监控(电源,风扇和温度,总体状态)
机框性能监控(CPU和内存项)
机框资产收集(序列号,型号名称,固件版本)
使用IF-MIB和EtherLike-MIB进行网络接口监控(接口状态,接口流量负载,以太网的双工状态)
HTTP模板:用于对很多服务的HTTP状态(UP/DOWN)进行监控,例如:Apache、Nginx等。
IPMI模板: 用于监视服务器硬件,如温度电压、风扇工作状态、电源状态等。
JMX模板: 用于监控Java应用程序。
ODBC: 用于数据库(MySQL、Oracle、PostgreSQL)的监控模板。
Zabbix agent 2:用于Ceph存储、Docker容器、Memcached、Mysql、Oracle、PostgreSQL、Redis等应用监控。
Zabbix agent:用于对Apache、HAProxy、Nginx、PHP-FPM、RabbitMQ、等应用监控。
除了上述模板外,Zabbix社区还提供了大量模板供用户免费下载
社区地址:https://share.zabbix.com/(也可通过界面左侧配置栏的Share直达)
友情提示:大部分监控模板已经在zabbix中提供,并且能够满足大部分监控需求。
2 模板导出
要导出模板,按照如下的操作:
切换到:配置(Configuration) → 模板(Templates)
选中要导出模板的复选框
单击列表下面的 导出(Export) 按钮
选中的模板被导出到本地的XML文件里,默认的名称是 zabbix_export_templates.xml
3 模板导入
要导入模板,按照如下的操作:
切换到:配置(Configuration) → 模板(Templates)
单击右上角的 导入(Import) 按钮
选择要导入的文件
标记导入规则里要求的选项
单击 导入(Import) 按钮
所有必填输入字段都标有红色星号。
导入成功或者失败的消息都会在前端页面显示。
导入规则:
4 自定义模板概述
前边在通过zabbix监控nginx状态页面时,我们大概已经了解了自定义监控的重要性,接下来练习几个常用的自定义监控项。
5 自定义php-fpm监控模板
php-fpm 作为 PHP进程管理程序,我们也需要监控它的状态。
#安装php-fpm服务
[root@host-111 ~]# yum -y install php-fpm
#修改php-fpm配置文件开启状态页面功能(搜索:status)
[root@host-111 ~]# vim /etc/php-fpm.d/www.conf
...
121 pm.status_path = /php_status #取消注释(默认被注释)并改名为php_status
#启动php-fpm
[root@host-111 ~]# systemctl start php-fpm
[root@host-111 ~]# systemctl enable php-fpm
#修改nginx配置文件指定php配置
[root@host-111 ~]# vim /etc/nginx/conf.d/default.conf
...
location /php_status { #指定php页面名称
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
#重启nginx服务
[root@host-111 ~]# systemctl restart nginx
测测试访问php状态页面:http://192.168.0.111/php_status
php-fpm status状态值详解
pool:fpm池子名称,大多数为www
process manager:进程管理方式,值:static,dynamic or ondemand
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功能时,如果出现php-fpm慢请求这个计数器会增加,一般不当的Mysql查询会触发这个值
自定义phpfpm监控项
[root@host-111 script]# vim /etc/zabbix/zabbix_agentd.d/phpfpm_status.conf
UserParameter=phpfpm_status[*],/bin/bash /etc/zabbix/script/phpfpm_status.sh "$1"
上传脚本到/etc/zabbix/script路径并添加执行权限
[root@host-111 script]# chmod +x phpfpm_status.sh
重启zabbix agent服务监控项生效
[root@host-111 script]# systemctl restart zabbix-agent
zabbix server获取监控项数据
zabbix_get -s 192.168.0.111 -k phpfpm_status[start_since] #php-fpm运行时长
zabbix_get -s 192.168.0.111 -k phpfpm_status[accepted_conn] #当前接收的连接数
zabbix_get -s 192.168.0.111 -k phpfpm_status[listen_queue] #等待连接的请求数
zabbix_get -s 192.168.0.111 -k phpfpm_status[max_listen_queue] #请求等待队列最高的数量
zabbix_get -s 192.168.0.111 -k phpfpm_status[listen_queue_len] #socket等待队列长度
zabbix_get -s 192.168.0.111 -k phpfpm_status[idle_processes] #空闲进程数量
zabbix_get -s 192.168.0.111 -k phpfpm_status[active_processes] #活跃进程数量
zabbix_get -s 192.168.0.111 -k phpfpm_status[total_processes] #总进程数量
zabbix_get -s 192.168.0.111 -k phpfpm_status[max_active_processes] #最大的活跃进程数量
zabbix_get -s 192.168.0.111 -k phpfpm_status[max_children_reached] #进程最大数量限制的次数
zabbix_get -s 192.168.0.111 -k phpfpm_status[slow_requests] #php-fpm慢请求
创建监控模板,配置 → 模板 → 创建模板
模板名称:Custom Templates PHP
点击 添加 后为该模板配置应用集及监控项。
创建应用集
点击 添加
创建监控项
当完成后,点击 添加(Add),新的监控项将出现在监控项列表中。
按照上述方法在将其余的监控项添加至模板中。最终的效果如下图:
6 链接模板
链接是将模板应用于主机的过程,而取消链接将从主机中删除与模板的关联。
要将模板链接到主机,请执行以下操作:
转到配置→主机
单击所需的主机并切换到模板选项卡
点击 链接指示器 旁边的选择
在弹出窗口中选择一个或多个模板
单击主机属性窗体中的 添加 或 更新
更新后可通过 监测 → 最新数据 查看
评论区