zabbix是采用C/P/S客户端、代理端、服务器端架构的分布式、开源的监控软件,提供监控数据采集、存储、分析、告警、展示功能,是运维的好帮手。 支持多种监控方式: 1,zabbix agent客户端,部署到被监控主机上。 2,snmp协议通讯,大部分网络设备支持该协议。 3,IPMI,通过IPMI硬件结构监控物理特征,像电压、温度等。 4,JMX,即Java扩展插件(Java Management Extensions)
zabbix server监控数据可存储多种数据库:MySQL、Oracle、PostgreSQL、SQLite、IBM DB2。
通过zabbix frontend展示,可理解为zabbix webGUI,分布式扩展是通过zabbix proxy代理实现的。
zabbix各组件: zabbix server:接收监控数据并分析统计 zabbix agent:收集监控数据并发送给zabbix server zabbix database:存储监控配置信息和数据 zabbix web:前端展示监控统计信息 zabbix proxy:用于分布式环境代收局部监控信息并推送给zabbix server
zabbix部署依赖于lamp/lnmp环境,要求详见官网 https://www.zabbix.com/documentation/3.2/manual/installation/requirements
简单yum安装:这里是阿里云centos 7.2 x86_64,安装最新版本3.2.7,以mysql作为数据库 zabbix server端安装: yum install -y epel-release rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-get zabbix-agent zabbix-sender zabbix-get:zabbix的一个工具,用来检查是否可以获取服务器信息(一般服务端要安装 zabbix-sender:用于发送数据给server或者proxy(一般客户端要安装,用于主动发送数据 systemctl start mysqld mysql -u root -pxiaoqiaochujiale mysql>create database zabbix character set utf8 collate utf8_bin; mysql>grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'databasemima'; mysql>flush privileges; mysql>exit导入zabbix数据结构,如下: cd /usr/share/doc/zabbix-server-mysql-3.2.7/ zcat create.sql.gz | mysql -uroot -pxiaoqiaochujiale zabbix
修改服务端配置文件 vi /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=databasemima DBSocket=/var/lib/mysql/mysql.sock MySQL和zabbix server在同一台服务器上,socket连接要比tcp连接快一些
启动服务: systemctl enable zabbix-server systemctl start zabbix-server
ss -tnl | grep 10051
修改PHP参数 sed -i 's/post_max_size = 8M/post_max_size = 16M/g' /etc/php.ini sed -i 's/max_input_time = 60/max_input_time = 300/g' /etc/php.ini sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php.ini sed -i 's/;date.timezone =/date.timezone = PRC/g' /etc/php.ini
修改/etc/httpd/conf.d/zabbix.conf文件,修改时区为上海
<IfModule mod_php5.c> php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Asia/Shanghai //改为亚洲/上海 </IfModule>
systemctl restart httpd.service
客户端独立安装 rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm yum install -y zabbix-agent zabbix-sender
修改配置文件 vi /usr/local/etc/zabbix_agentd.conf Server=服务端IP ServerActive=127.0.0.1 Hostname=uniquename 设置为单独的主机名 在配置文件里可看到Passive checks related和Active checks related,即agent检测的被动模式和主动模式,都是相对于agent来说的: 主动:agent请求server获取主动的监控项列表,并主动将监控项内检测的数据提交给server/proxy 被动:server向agent请求获取监控项的数据,agent返回数据给server
systemctl enable zabbix-agent systemctl start zabbix-agent ss -tnl | grep 10050
代理独立安装(也需安装数据库) yum install -y zabbix-proxy-mysql
注意:所有客户端和服务器须保持时间同步