zabbix介绍
zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
搭建Zabbix监控环境
要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,当然,也可以安装在不同的主机上,看自己适用的情况。 Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。下图Zabbix 的架构图
Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据均由其组织进行;
Database Storage:专用于存储所有配置信息,以及由Zabbix收集的数据。
Web interface:zabbix的GUI接口,通常与Server运行在同一台主机上;
Proxy:可选组件,常用语分布式监控环境中,代理Server收集部分被监控端的监控数据并统一发往server端;
Agent:部署在被监控主机上,负责收集本地数据并发往Server端或Proxy端;
搭建zabbix
这里不再啰嗦,下面开始具体的搭建步骤。
一、环境准备:centos系统、yum源、 关闭防火墙与SElinux
如果不能连接外网的话,请到zabbix官网下载所需的rpm包
下载地址:
http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/
这是需要的软件包
zabbix-agent-3.4.4-2.el7.x86_64.rpm
zabbix-get-3.4.4-2.el7.x86_64.rpm
zabbix-sender-3.4.4-2.el7.x86_64.rpm
zabbix-server-mysql-3.4.4-2.el7.x86_64.rpm
zabbix-web-3.4.4-2.el7.noarch.rpm
zabbix-web-mysql-3.4.4-2.el7.noarch.rpm
如果可以连接外网的话:可以直接到官网下载zabbix-release-3.4-2.el7.noarch.rpm这个包,可以安装zabbix的yum 源
rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm
需要两台Linux主机
一台监控主机:安装httpd、安装mysql数据库、安装zabbix server
一台被监测主机:安装zabbix agent
zabbix server:
hostnamectl set-hostname zbx1.magedu.com
vim /etc/my.cnf.d/server.cnf
[server]
skip_name_resolve = ON
innodb_file_per_table = ON
innodb_buffer_pool_size =256M
max_connections = 2000
mysql_secure_installation
systemctl start mariadb
这是需要安装的软件包
zabbix-agent-3.4.4-2.el7.x86_64.rpm
zabbix-get-3.4.4-2.el7.x86_64.rpm
zabbix-sender-3.4.4-2.el7.x86_64.rpm
zabbix-server-mysql-3.4.4-2.el7.x86_64.rpm
zabbix-web-3.4.4-2.el7.noarch.rpm
zabbix-web-mysql-3.4.4-2.el7.noarch.rpm
最好用yum 安装,因为这些包还有一些依赖包需要安装
yum install zabbix-agent-3.4.4-2.el7.x86_64.rpm zabbix-get-3.4.4-2.el7.x86_64.rpm zabbix-sender-3.4.4-2.el7.x86_64.rpm zabbix-server-mysql-3.4.4-2.el7.x86_64.rpm zabbix-web-3.4.4-2.el7.noarch.rpm zabbix-web-mysql-3.4.4-2.el7.noarch.rpm -y
mysql
create database zbxdb character set 'utf8';
grant all on zbxdb.* to 'zbxuser'@'172.17.%.%' identified by 'zbxpass';
flush privileges;
quit
rpm -ql zabbix-server-mysql
/usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz
cp /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz ./
gzip -d create.sql.gz
head -20 create.sql #看一下表头
mysql -uzbxuser -h172.17.111.137 -pzbxpass zbxdb < create.sql
MariaDB [zbxdb]> show databases;
use zbxdb;
show tables;
cd /etc/zabbix/
cp zabbix_server.conf{,.bak} 先备份一下
查看有四大部分
grep -i "^####" zabbix_server.conf
############ GENERAL PARAMETERS #################
############ ADVANCED PARAMETERS ################
####### LOADABLE MODULES #######
####### TLS-RELATED PARAMETERS #######
配置项
grep -i "^###" zabbix_server.conf
############ GENERAL PARAMETERS #################
### Option: ListenPort
### Option: SourceIP
### Option: LogType
### Option: LogFile
vim /etc/zabbix/zabbix_server.conf
ListenPort=10051
DBHost=172.17.111.137
DBName=zbxdb
DBUser=zbxuser
DBPassword=zbxpass
DBPort=3306
systemctl start zabbix-server.service
rpm -ql zabbix-web 页面文件
设定时区
在 vim /etc/httpd/conf.d/zabbix.conf
# php_value date.timezone Asia/Shanghai
或者在/etc/pho.ini中设置,二者择一即可
date.timezone =Asia/Shanghai
systemctl restart zabbix-server.service
systemctl start httpd
node1:
hostnamectl set-hostname node1.magedu.com
yum install zabbix-agent-3.4.4-2.el7.x86_64.rpm zabbix-sender-3.4.4-2.el7.x86_64.rpm -y
vim /etc/zabbix/zabbix_agentd.conf
Server=172.17.111.137
ListenPort=10050
ListenIP=0.0.0.0
StartAgents=3
ServerActive=172.17.111.137
Hostname=node1.magedu.com 监控端能识别的主机名,主机名不能识别的话,ip地址也行
systemctl start zabbix-agent.service
Zabbix web GUI:
首先打开浏览器,做一些初始化设置
http://172.17.111.137/zabbix/setup.php
点击"nest step"
检查都显示"OK",点击"nest step"
输入数据库的ip地址,数据库用户名和密码,点击"nest step"
下图选填,如果你的主机只有一个zabbix server,可以不填,如果超过一个,填写Port和Name可以区分不同的zabbix server,之后,点击"Next step"
检查有没有问题,没问题的话,点击"Next step"就开始安装了
下图表示安装成功,如果想要修改数据库密码等参数,可以在"/etc/zabbix/web/zabbix.conf.php"中修改,点击"Finish"就可以登录了。
默认用户名:admin,密码:zabbix,登陆过后请立即更改密码
登录成功,可以看到下图,这是zabbix的仪表盘,不同版本的zabbix,仪表盘可能不同
配置被监控的主机:
成功添加主机组后,点击二级菜单hosts
添加items监控项
数据预处理一下,取速率,即每秒CPU终端的次数
下图代表zabbix server监控到了node1主机的agent客户端接口
查看图形界面监控结果,看到这个图,就代表zabbix已经初步搭建成功了,当然,zabbix监控还有 trigger和action,这里鉴于篇幅,就不再一一介绍。