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-serverss -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
注意:所有客户端和服务器须保持时间同步