Zabbix3.2监控工具Zabbix是一个基于WEB界面的提供的分布式系统监控以及网络监视功能的企业级的开源工具。
Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制让管理员迅速定位/解决存在的各种问题。
Zabbix由Zabbix_Server服务端和Zabbix_Agent客户端还有Zabbix_proxy代理三个部分组成。
Zabbix_Server:可以通过SNMP,Zabbix_Agent,Ping,SNMP等方法提供对远程服务器/网络状态的监视。
Zabbix_Agent:是用来采集客户端服务器数据来交给Zabbix_Server处理。
Zabbix_Proxy:缓存同步Agent监控数据。
Zabbix的主要功能:CPU负荷,内存使用,磁盘使用,网络状况,端口监视,日志监视。
Zabbix的监控架构:Zabbix部署步骤:环境需求:必须LNMP/LAMP环境的支持,需要PHP5.4以上版本支持才可以。
# systemctl stop firewalld #关闭firewalld防火墙# systemctl disable firewalld.service #禁止firewalld服务自启# sed -i -e 's|SELINUX=enforcing|SELINUX=disabled|' /etc/selinux/config #关闭SELINUX# sed -i -e 's|SELINUXTYPE=targeted|#SELINUXTYPE=targeted|' /etc/selinux/config# setenforce 0源码编译方式:❖安装相关依赖组件# yum -y install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel gcc gcc-c++ net-snmp net-snmp-devel perl-DBI httpd mariadb* #YUM部署LAMP环境❖解压安装包# tar xzvf zabbix-3.2.1.tar.gz# cd zabbix-3.2.1❖编译安装Zabbix➢安装Server和Agent,并支持将数据放入MYSQL数据库中:# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl➢仅安装Server,并支持将数据放入MYSQL数据库中:# ./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl➢仅安装Proxy代理,并支持将数据放入MYSQL数据库中:# ./configure --prefix=/usr/local/zabbix --enable-proxy --with-net-snmp --with-mysql --with-ssh2➢仅安装Agent客户端:# ./configure --enable-agent# make && make install注:--with-libcurl:监控WEB页面响应时间,下载速度。
❖授权Zabbix数据库用户# systemctl start mariadb #启动MYSQL# mysqladmin -u root password 123 #设置数据库ROOT用户密码# mysql -u root -p123 #登录数据库mysql> create database zabbix character set UTF8; #创建zabbix数据库并指定编码为UTF8 mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by '123' with grant option; mysql> flush privileges; #授权zabbix用户与刷新授权mysql> exit❖将Zabbix自带的SQL文件导入数据库# mysql -u zabbix -p123 zabbix < database/mysql/schema.sql #按顺序导入# mysql -u zabbix -p123 zabbix < database/mysql/images.sql# mysql -u zabbix -p123 zabbix < database/mysql/data.sql❖将Zabbix自带的PHP页面放入Nginx网页根目录# cp -r frontends/php /var/www/html/zabbix# chmod 777 /var/www/html/zabbix/conf❖将Zabbix添加到服务# cp -r misc/init.d/fedora/core/* /etc/init.d/# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_server# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_agentd❖修改Zabbix_server配置文件# sed -i -e 's|# DBPassword=|DBPassword=123|' /usr/local/zabbix/etc/zabbix_server.conf# sed -i -e 's|# DBSocket=/tmp/mysql.sock|DBSocket=/var/lib/mysql/mysql.sock|' /usr/local/zabbix/etc/zabbix_server.conf# sed -i -e 's|post_max_size = 8M|post_max_size = 16M|' /etc/php.ini# sed -i -e 's|max_execution_time = 30|max_execution_time = 300|' /etc/php.ini # sed -i -e 's|max_input_time = 60|max_input_time = 300|' /etc/php.ini# useradd zabbix❖启动服务# service start zabbix_server# systemctl start zabbix_agentd# systemctl start httpd# netstat -lnupt |grep 80# ps aux |grep zabbix❖通过网页验证访问Http://localhost/zabbix被监控主机配置❖环境需求:关闭防火墙,SELinux# systemctl stop firewalld# setenforce 0# iptables -F# yum -y install gcc gcc-c++❖解压zabbix包# tar xzvf zabbix-3.2.1.tar.gz# cd zabbix-3.2.1❖编译安装# ./configure --prefix=/usr/local/zabbix --enable-agent# make && make install❖创建运行用户# useradd zabbix# echo 123 | passwd zabbix --stdin❖添加到服务# cp -r misc/init.d/fedora/core/* /etc/init.d/# sed -i -e 's|BASEDIR=/usr/local|BASEDIR=/usr/local/zabbix|' /etc/init.d/zabbix_agentd❖修改Zabbix_agentd配置文件# sed -i -e 's|Server=127.0.0.1|Server=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf# sed -i -e 's|ServerActive=127.0.0.1|ServerActive=1.1.1.19|' /usr/local/zabbix/etc/zabbix_agentd.conf# service zabbix_agentd restart# netstat -lnupt |grep 10050YUM安装方式:环境需求:需要连接网络,关闭防火墙,SELinux# systemctl stop firewalld #关闭防火墙# setenforce 0❖安装Zabbix的YUM库# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm# yum makecache #重新生成缓存❖安装相关依赖组件# yum -y install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* #YUM部署LAMP环境❖安装Zabbix_server# yum -y install zabbix-server-mysql zabbix-web-mysql❖授权MYSQL数据库# systemctl start mariadb #启动数据库# mysqladmin -u root password 123# mysql -u root -p123> create database zabbix character set UTF8;> grant all on zabbix.* to 'zabbix'@'localhost' identified by '123' with grant option;> flush privileges;> exit❖导入Zabbix数据库文件# mysql -u zabbix -p123 zabbix < schema.sql# mysql -u zabbix -p123 zabbix < images.sql# mysql -u zabbix -p123 zabbix < data.sql❖修改配置文件# sed -i -e 's|# DBPassword=|DBPassword=123|' /etc/zabbix/zabbix_server.conf# sed -i -e 's|# DBSocket=/tmp/mysql.sock|DBSocket=/var/lib/mysql/mysql.sock|' /etc/zabbix/zabbix_server.conf# sed -i -e 's|;date.timezone =|date.timezone = PRC|' /etc/php.ini❖启动服务# zabbix_server# systemctl start httpd❖通过网页验证访问Http://localhost/zabbix❖环境需求:关闭防火墙,SELinux# systemctl stop firewalld# setenforce 0❖安装Zabbix_agentd服务# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm# yum makecache# yum -y install zabbix-agent❖修改Zabbix_agentd配置文件# sed -i -e 's|Server=127.0.0.1|Server=1.1.1.19|' /etc/zabbix/zabbix_agentd.conf# sed -i -e 's|ServerActive=127.0.0.1|ServerActive=1.1.1.19|' /etc/zabbix/zabbix_agentd.conf# sed -i -e 's|# Hostname=|Hostname=1.1.1.20|' /etc/zabbix/zabbix_agentd.conf❖启动Zabbix_agentd服务# zabbix_agentd# netstat -lnupt |grep zabbix安装故障排查故障一:MYSQL数据库版本过高问题; 解决方法:重新安装适用MYSQL数据库注:Current database version:当前版本Required mandatory version:强制版本号故障二:用户授权问题;解决方法:重新授权Zabbix数据库用户故障三:数据库问题解决方法:重新导入Zabbix对应数据库故障四:服务器进程过多问题解决方法:设置配置文件相关参数控制进程注:Too many processes on Zabbix server:在Zabbix服务器进程数太多故障五:Zabbix_server启动时线程数低导致轮询负载解决方法:StartPollers设置为5或10故障六:Zabbix_server在运行但是提示没在运行解决方法:关闭SELinux故障七:数据库密码错误解决方法:修改配置文件zabbix.conf.php。