1. 简介
zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。具备常见的商业监控软件所有的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)
官方地址:
https://www.zabbix.com/
https://www.zabbix.com/documentation/3.4/manual/installation/install
软件包地址:
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-server-mysql-3.4.10-1.el7.x86_64.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-web-3.4.10-1.el7.noarch.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-get-3.4.10-1.el7.x86_64.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-web-mysql-3.4.10-1.el7.noarch.rpm
https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm【yum源】
1.1. Zabbix特点
Cacti:适用于对监控时效性要求较低的SNMP监控环境,自定义监控困难。
Nagios: 适合机器较少的公司。
Zabbix:适合机器较多不同地域的分布式监控。
l Zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
1.2. Zabbix功能
l Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
1.3. 硬件要求
l 标准配置:
CPU: 8核心2.0GHz
内存: 16GB
硬盘: 300GB
网卡: 1*1000Mbps
l 最低配置:
CPU: 4核心2.0GHz
内存: 4GB
硬盘: 50GB
网卡: 100Mbps
1.4. 系统要求
Linux
l CentOS 6.9
l CentOS 7.4
1.5. 网络要求
l 准备一个块网卡支持千兆
2. Zabbix架构
2.1. 部署拓扑
2.2. 基本数据流
2.3. zabbix监控流程
2.4. Zabbix系统架构
l Zabbix两种工作模式
server 【服务端】
agent 【代理端】
被监控端:通过安装agent方式采集数据,网络设备通过SNMP方式采集数据。
Server端:通过收集SNMP和agent发送的数据再通过web前端展示。
3. Zabbix安装
3.1. 准备环境
l 下载
zabbix-agent-3.4.10-1.el7.x86_64.rpm 【监控主机客户端】
zabbix-get-3.4.10-1.el7.x86_64.rpm 【提供zabbix_get测试命令】
zabbix-server-mysql-3.4.10-1.el7.x86_64.rpm 【zabbix 主程序包】
zabbix-web-3.4.10-1.el7.noarch.rpm 【提供一个基于PHP开发的WEB平台】
zabbix-web-mysql-3.4.10-1.el7.noarch.rpm【zabbix 版本的mysql客户端】
l 安装LAMP(Linux+Apache+Mysql+PHP)
# yum -y install httpd mariadb-server php php-mysql
l 安装Zabbix YUM源
# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
3.2. 安装Zabbix
方法1:RPM包yum安装
# yum -y localinstall /u01/pkg/*
zabbix-agent-3.4.10-1.el7.x86_64.rpm
zabbix-get-3.4.10-1.el7.x86_64.rpm
zabbix-server-mysql-3.4.10-1.el7.x86_64.rpm
zabbix-web-3.4.10-1.el7.noarch.rpm
zabbix-web-mysql-3.4.10-1.el7.noarch.rpm
设置zabbix 数据库,并导入数据库数据
# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by
'123456';
mysql> quit;
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 zabbix
编辑zabbix server 配置文件,对数据库选项进行设置
# vim /etc/zabbix/zabbix_server.conf
DBPassword=123456
设置apache,发布zabbix web
# vim /etc/httpd/conf.d/zabbix.conf 【取消注释并设置时区】
php_value date.timezone Asia/Shanghai
方法2:源码包安装 【推荐安装】
下载最新的Zabbix安装包(https://www.zabbix.com/download_sources)到本地,解压
# tar zxvf zabbix-3.4.14.tar.gz
l 安装编译依赖包
yum install gcc mysql-devel libxml2-devel net-snmp-devel libevent-devel curl-devel php-bcmath php-gd php-mbstring php-xml php-ldap
创建zabbix用户和用户组
# groupadd zabbix
# useradd –g zabbix zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
启动MySQL数据库
# systemctl start mariadb
修改MySQL root用户密码(默认密码为空)
# mysqladmin -u root -p password 123456
测试能否正常登陆数据库
# mysql –uroot –p123456
创建Zabbix数据库
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* TO zabbix@'localhost' identified by '123456';
mysql> flush privileges;
导入数据库sql 【注:导入请按以下顺序导入,否则会出现错误情况】
# cd zabbix-3.4.14/database/mysql/
# mysql -h localhost -uroot -p123456 zabbix # mysql -h localhost -uroot -p123456 zabbix # mysql -h localhost -uroot -p123456 zabbix
l 编译安装
./configure --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --prefix=/usr/local/zabbix# make# make install
l web前端安装配置
查看服务端口
# grep zabbix /etc/services
修改Server配置文件
# vim /usr/local/zabbix/etc/zabbix_server.conf 【基本不用修改,默认即可】DBPassword=123456
添加web前端php文件
# cd zabbix-3.4.14/frontends/# cp -rf php /var/×××w/html/# cd /var/×××w/html# mv php zabbix# chown -R apache:apache zabbix
修改php相关参数
# vi /etc/php.ini 修改下面的值,前面有;号的要删掉
max_execution_time = 300memory_limit = 128Mpost_max_size = 16Mmax_input_time = 300date.timezone = Asia/Shanghai
l 重启apache
# systemctl restart httpd
l 在浏览器中,打开Zabbix URL: http://
/zabbix http://192.168.200.16/zabbix/setup.php
点击【Next step】
确保PHP所有OK,然后点击【Next step】
配置连接mysql,请按照前面安装时的配置填写,然后点击【Next step】
Name处可以填写网站的名称,然后点击【Next step】
点击【Next step】
提示图形界面的操作都写到/etc/zabbix/web/zabbix.conf.php 配置文件中,确认后点击【Finish】
登陆zabbix前端,默认账号为 Admin,默认密码为zabbix
3.3. 服务启动
l 启动服务并设置开机启动
# systemctl restart zabbix-server zabbix-agent httpd# systemctl enable zabbix-server zabbix-agent httpd mariadb
l 启动zabbix_server 和 zabiix_agent服务
# /usr/local/zabbix/sbin/zabbix_server# /usr/local/zabbix/sbin/zabbix_agent
l zabbix服务启动脚本
# cp zabbix-3.4.14/misc/init.d/fedora/core/zabbix_server /etc/init.d/
修改启动脚本的路径
# vim /etc/init.d/zabbix_serverBASEDIR=/usr/local/zabbix
zabbix安装目录授权
# chown -R zabbix.zabbix /usr/local/zabbix
l 开机启动
# chkconfig --add zabbix_server# chkconfig zabbix_server on# systemctl enable httpd.service# systemctl enable mariadb.service# systemctl start httpd.service# /etc/init.d/zabbix_server restart
4. Zabbix添加监控主机
4.1. 监控Linux主机
l 安装zabbix-agent
zabbix-agent for linux #下载# wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm# yum -y localinstall zabbix-agent-3.4.10-1.el7.x86_64.rpm
l 配置zabbix-agent
# vim /etc/zabbix/zabbix_agentd.conf #修改agent配置文件Server=192.168.200.16 #zabbix服务端内网IP,被动监控ServerActive=192.168.200.16 #zabbix服务端内网IP,Active表示agent主动推送# sed -i.bak '/^Server=/c\Server=192.168.200.16' /etc/zabbix/zabbix_agentd.conf sed修改
4.2. 监控windows主机
l 安装zabbix-agent
zabbix-agent for windows #下载https://www.zabbix.com/download_agents
浏览器访问zabbix官网:选择windows对应的版本下载
l 安装配置zabbix-agent
解压zabbix_agents_3.4.6.win.zip
修改配置文件 指定server=ip
Server=192.168.2.205安装zabbix-agent,以管理员方式运行CMD,执行安装程序
D:\zabbix_agents_3.4.6.win\bin\win64\zabbix_agentd.exe -c D:\zabbix_agents_3.4.6.win\conf\zabbix_agentd.win.conf -i#加载配置文件D:\zabbix_agents_3.4.6.win\bin\win64\zabbix_agentd.exe -c D:\zabbix_agents_3.4.6.win\conf\zabbix_agentd.win.conf -s#添加windows自启动服务
l Web端添加主机
配置-主机-创建主机,按下图配置好后点击【更新】
选择监控主机对应的模板,设置好点击【添加】完成
确认图标显示绿色为正常
l 监控效果图
l 监控测试方法
在zabbix server上创建监控项前可以先使用zabbix_get来判断脚本是否正确
# zabbix_get -s 192.168.200.8 -p 10050 -k "system.cpu.load[all,avg1]"5. Zabbix常见问题
问题1:Zabbix web页面登录帐号密码
解决方法:
zabbix web default account password
account: Admin
pw: zabbix
问题2:解决中文字体乱码问题
解决方法:
#yum -y install wqy-microhei-fonts
#cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
问题3:使用源代码安装之后, 在zabbix的网页上不能使用MySQL数据库。
解决方法:
zabbix需要php支持mysqli;使用源码安装php时需要加上–with-mysqli=mysqlnd参数之后在网页可以显示。
问题4:
./configure时,提示configure: error: Invalid Net-SNMP directory – unable to find net-snmp-config
解决方法:
# yum install -y net-snmp-devel libxml2-devel libcurl-devel
问题5:网页安装zabbix提示要下载配置文件:Unable to create the configuration file.
解决方法:
安装前一定要关闭,防火墙、Selinux;设置目录具有写权限,配置文件会自动保存。
[root@localhost conf]# ll -d /var/www/html/zabbix/conf
drwxr-xr-x. 2 apache apache 104 11月 2 14:36 /var/www/html/zabbix/conf
问题5:Zabbix监控在发生告警时不论是恢复还是异常,报警页面始终没有声音
解决方法:
请使用谷歌浏览器尝试