Zabbix架构体系
- Zabbix Server
- Zabbix Agent
- 数据库(独立)
安装
参考:https://www.zabbix.com/download?zabbix=3.0&os_distribution=centos&os_version=7&db=mysql
安装源:
1 | # rpm -Uvh https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm |
server需要安装zabbix-server, frontend, agent
1 | # yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent |
数据库需要事先安装好!
创建账号:
1 | # mysql -uroot -p |
导入基础数据
1 | # zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix |
修改zabbix-server连接数据库
1 | # vim /etc/zabbix/zabbix_server.conf |
修改 PHP配置
1 | # vim /etc/httpd/conf.d/zabbix.conf |
启动
1 | # systemctl start zabbix-server zabbix-agent httpd |
安装zabbix-web
浏览器打开:
按照提示配置完即可
注意问题:
- 目录写权限的问题
- 连接数据库信息
- web的配置文件路径:/etc/zabbix/web/zabbix.conf.php
配置文件路径
1 | # server |
如何监控一台主机
假设场景:
1 | server: 192.168.254.100 (zabbix server) |
host: 192.168.254.101 需要安装zabbix-agent客户端
1 | # rpm -Uvh https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm |
配置host的agent客户端允许server连接
1 | # vim /etc/zabbix/zabbix-agentd.conf |
登录zabbix-web添加host主机(登录密码默认:Admin zabbix)
操作路径:
1 | 配置 > 主机 > 添加主机 |
自定义监控项
自定义监控:
- 监控系统中的对象
- 如何增加监控项
假设需要监控iostat:
1 | avg-cpu: %user %nice %system %iowait %steal %idle |
其中 sda行的tps的列是我们需要监控的
如何获取:
1 | iostat | awk '/^sda/ {print $2}' |
给agent客户端添加配置(192.168.254.104)
1 | ### Option: UserParameter |
额外的配置在/etc/zabbix/zabbix_agentd.d/,添加一个conf配置文件
1 | # vim /etc/zabbix/zabbix_agentd.d/iotps.conf |
需要按装具体的io命令包: sysstat
1 | # yum install -y sysstat |
重启一下agent客户端
1 | # systemctl restart zabbix-agent |
检查一下是否添加成功
1 | # zabbix-agent -p | grep iotps |
在server端也检查一下
需要安装zabbix-get命令
1 | # yum install -y zabbox-get |
检查iotps是否已经获取到了:
1 | # zabbix-get -s 192.168.254.104 -p10050 -k iotps |
在web中添加监控项,操作路径
1 | 1. 配置 > 主机 > 192.168.254.104 > 监控项 > 创建监控项 # 重点是名称、键值、主机接口、信息类型和单位 |
总结
添加应用监控基本套路:
- 先看文档中有没有对应的脚本和xml模板(主要看看别人是怎么监控一个应用的)
- 在服务端导入模板,查看对应的监控项key
- 测试脚本是否能取到对应的值,并存放在/etc/zabbix/scripts目录下,一定要给执行权限
- 编写/etc/zabbix/zabbix-agentd.d/配置文件,添加监控项定义参数
- 最后重启zabbix-agent
- server校验对应的值是否取到: zabbix_get -s 192.168.254.104 -k xxx
- 去web做微调