运行Zabbix须要LAMP环境,php
在centsos 6中安装lamp: yum install -y httpd httpd-devel php php-devel php-nysql php-commonhtml
在centsos 7 中安装lamp: yum install -y httpd httpd-devel php php-devel php-nysql php-common mariadb mariadb-server mariadb-devel前端
注意:centsos 7 中的数据库是mariadbmysql
常见监控软件:Nagios、Cacti、Mrtg、Ganglia、Zabbix、linux
Zabbix监控流程图ios
C/S模式:server端(Zabbix_server、DB、php WEB)、client端(安装Zabbix_Agent),c++
企业服务器对用户提供服务,做为运维工程师最重要的事情就是保证该网站正常稳定的运行,须要实时监控网站、服务器的运行状态,而且有故障及时去处理。web
监控网站无需人工时刻去访问WEB网站或者登录服务器去检查,能够借助开源监控软件例如Zabbix、Cacti、Nagios、Ganglia等来实现对网站的7x24小时的监控,而且作到有故障及时报警通知SA解决。sql
Zabbix分布式监控系统(微信报警实战)数据库
一个完整的ZABBIX平台包括:Zabbix-WEB、Database、Zabbix-Server、Agent客户端;
分布式特色:分散管理、分担压力、分开存储,缓解Zabbix_Server压力;
checking for mysql_config... no
configure: error: MySQL library not found
解决方法:yum install mysql-devel -y
yum install mariadb mariadb-server mariadb-devel -y
从0开始Zabbix监控平台实战
./configure --prefix=/usr/local/zabbix/ --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
yum install -y curl-devel net-snmp gcc gcc-c++ -
(1)、Zabbix监控平台部署,至少须要安装四个组件,分别是ZabbixServer,Zabbix Web,Databases,Zabbix Agent,以下为Zabbix监控平台安装配置详细步骤:
系统环境
Server端:192.168.168.163
Agent端:192.168.68.1
(2)、下载zabbix版本,各个版本之间安装方法相差不大,能够根据实际状况选择安装版本,本文版本为Zabbix-3.2.6.tar.gz
Zabbix server端安装配置,源代码包,官网下载稳定的版本3.2.6;
或者
连接:https://pan.baidu.com/s/1vwpBCUI3H3Y-5-w1dovNhQ 密码:hqey
tar xzf zabbix-3.2.6.tar.gz
安装插件
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI
cd zabbix-3.2.6
./configure --prefix=/usr/local/zabbix/ --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make
make install
groupadd zabbix
useradd -g zabbix zabbix
usermod -s /sbin/nologin zabbix
(3)、Zabbix Server端和Zabbix Agent执行以下代码:
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI groupadd zabbix useradd -g zabbix zabbix usermod -s /sbin/nologin zabbix |
Zabbix Server端配置
(4)、建立zabbix数据库,执行受权命令:
mysql > create database zabbix charaset=utf8;
mysql > create zabbix; #
mysql >grant all on zabbix.* to zabbix@localhost identified by '123456'
mysql >flush privileges;
解压zabbix软件包并将zabbix基础SQL文件导入数据至zabbix数据库:
tar -zxvf zabbix-3.2.6.tar.gz
cd zabbix-3.2.6
mysql -uzabbix -p 123456 zabbix <database/mysql/schema.sql
mysql -uzabbix -p 123456 zabbix <database/mysql/images.sql
mysql -uzabbix -p 123456 zabbix <database/mysql/data.sql
切换至Zabbix解压目录,执行以下代码,安装Zabbix_server:
./configure --prefix=/usr/local/zabbix/ --enable-agent --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
注意:--enable-server #开启服务端
make
make install
ln -s /usr/local/zabbix/sbin/zabbix* /usr/local/sbin/
Zabbix server安装完毕,cd /usr/local/zabbix/etc/目录,如图13-3所示:
备份Zabbix server配置文件,代码:
cp zabbix_server.conf zabbix_server.conf.bak
将zabbix_server.conf配置文件中代码设置为以下:
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUsr=zabbix
DBPassword=123456
同时cp zabbix_server启动脚本至/etc/init.d/目录,启动zabbix_server,Zabbix_server默认监控的端口为10051.
cd zabbix-3.2.6
cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
chmod o+x /etc/init.d/zabbix_server
配置Zabbix interface Web页面,安装HTTP WEB 服务器,将Zabbix WEB代码发布至Apache默认发布目录,因为Zabbix3.2+PHP版本须要使用PHP5.4.0版本,请将本机PHP版本升级至5.4.0+,PHP版本须要使用PHP5.4.0版本,请将本机PHP版本升级至5.4.0+,PHP5.3升级至PHP5.6,代码以下:
rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm yum remove php* yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 -y yum install httpd httpd-devel httpd-tools -y cp -a /root/zabbix-3.2.6/frontends/php/* /var/www/html/ sed -i '/date.timezone/i date.timezone = PRC' /etc/php.ini |
从新启动Zabbix Server、HTTP、MYSQL服务,代码以下:
/etc/init.d/zabbix_server restart /etc/init.d/httpd restart /etc/init.d/mysqld restart |
经过浏览器Zabbix_WEB验证,经过浏览器访问http://192.168.149.128/,如图13-4所示:
单击下一步,出现如图13-5所示,若是有错误提示,须要把错误依赖解决完,方可进行下一步操做。
如上异常错误解决方法代码以下,安装缺失的软包,并修改php.ini对应参数的值便可,如图13-6所示:
yum install php56w-mbstring php56w-bcmath php56w-gd php56w-xml -y yum install gd gd-devel -y sed -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/\;date.timezone.*/date.timezone \= PRC/g;s/\;always_populate_raw_post_data/always_populate_raw_post_data/g' /etc/php.ini /etc/init.d/httpd restart |
图13-6 Zabbix WEB测试安装环境
单击下一步,如图13-7所示,配置数据库链接,输入数据库名、用户、密码,单击Test connection,显示OK,单击下一步便可
图13-7 Zabbix WEB数据库配置
继续单击下一步出现如图13-8所示,填写Zabbix Title显示,能够为空,能够输入自定义的名称。
登陆Zabbix WEB界面,默认用户名和密码为:admin/zabbix,如图13-10(a)、13-10(b)所示:
单击下一步,如图13-9所示,需修建立zabbix.conf.php文件,执行以下命令,或者单击“Download the configuration file”下载zabbix.conf.php文件,并将该文件上传至/var/www/html/conf/,并设置可写权限,刷新WEB页面,zabbix.conf.php内容代码以下,最后单击Finish便可:
<?php // Zabbix GUI configuration file. global $DB; $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '0'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = '123456'; // Schema name. Used for IBM DB2 and PostgreSQL. $DB['SCHEMA'] = ''; $ZBX_SERVER = 'localhost'; $ZBX_SERVER_PORT = '10051'; $ZBX_SERVER_NAME = '京峰教育-分布式监控系统'; $IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG; |
图13-9 Zabbix WEB配置文件测试
登陆Zabbix WEB界面,默认用户名和密码为:admin/zabbix,如图13-10(a)、13-10(b)所示:
图13-10(a) Zabbix WEB登陆界面
图13-10(b) Zabbix WEB后台界面
解压zabbix-3.2.6.tar.gz源码文件,切换至解压目录,编译安装Zabbix,命令以下:
./configure --prefix=/usr/local/zabbix --enable-agent make make install ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/ |
修改zabbix_agentd.conf客户端配置文件,执行以下命令,zabbix_agentd.conf内容,指定server IP,同时设置本地Hostname为本地IP地址或者DNS名称:
CPU、内存、负载、网卡、磁盘、IO、应用服务、端口、登陆用户、
LogFile=/tmp/zabbix_agentd.log Server=192.168.149.128 ServerActive=192.168.149.128 Hostname = 192.168.149.129 |
同时cp zabbix_agentd启动脚本至/etc/init.d/目录,启动zabbix_agentd服务便可, Zabbix_agentd默认监听端口为10050。
cd zabbix-3.2.6 cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd chmod o+x /etc/init.d/zabbix_agentd /etc/init.d/zabbix_agentd start |
Zabbix服务端和客户端安装完毕以后,需经过Zabbix Server添加客户端监控,Zabbix WEB界面添加客户端监控的操做步骤以下,如图13-11所示:
Zabbix-WEB ---configuration ---hosts ---Create host ---Host name和Agent interfaces,同时选择添加templates模板 ---选择Add -------勾选Template OS Linux-选择Add提交; 注*此处Host name名称与Agentd.conf配置文件中Hostname保持一致,不然会报错。 |
图13-11 Zabbix 添加客户端监控
将客户端主机连接至“Template OS Linux”,启用模板完成主机默认监控,单击Add
,继续单击Update便可,如图13-12所示:
图13-12 Zabbix 为客户端监控添加模板
单击Zabbix WEB---Monitoring---Graphs----Group----Host---Graph,监控图像如图13-13(a)、13-13(b)所示:
图13-13(a) Zabbix客户端监控图像
图13-13(b) Zabbix客户端监控图像
若是没法监控到客户端,能够在Zabbix Server端,执行命令获取Agent的items KEY值是否有返回,例如system.uname为返回客户端的uname信息,监测命令以下:
/usr/local/zabbix/bin/zabbix_get -s 192.168.149.130 -k system.uname |
常见问题:
一、编译Zabbix,报错以下:
二、编译Zabbix,报错信息以下:
checking size of void *... 8
checking for mysql_config... no
configure: error: MySQL library not found
解决方法:yum install curl curl-devel net-snmp mysql-devel mariadb-devel -y
onfigure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
解决方法:yum install curl curl-devel net-snmp net-snmp-devel perl-DBI mysql-devel mariadb-devel -y
三、
预编译Zabbix报错信息一以下:
checking for mysql_config... no
configure: error: MySQL library not found
解决方法:
yum install mariadb-devel -y
预编译Zabbix报错信息二以下:
checking for curl-config... no
configure: error: Curl library not found
解决方法:
yum install curl-devel -y
四、
checking for the linux kernel version... unknown family (3.10.0-327.el7.x86_64)
checking size of void *... 8
checking for mysql_config... no
configure: error: MySQL library not found
解决方案:yum install mariadb mariadb-server mariadb-devel –y
MYSQL(商业版、社区版)、Mariadb(开源免费,彻底兼容MYSQL指令)都是属于SQL数据库、RDBMS关系型数据库。
checking for the linux kernel version... unknown family (3.10.0-327.el7.x86_64)
checking size of void *... 8
checking for mysql_config... no
configure: error: MySQL library not found
解决方案:yum install mariadb mariadb-server mariadb-devel –y
MYSQL(商业版、社区版)、Mariadb(开源免费,彻底兼容MYSQL指令)都是属于SQL数据库、RDBMS关系型数据库。