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等平台上。php
zabbix agent须要安装在被监视的目标服务器上,它主要完成对硬件信息或与操做系统有关的内存,CPU等信息的收集。zabbix agent能够运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。
zabbix server能够单独监视远程服务器的服务状态;同时也能够与zabbix agent配合,能够轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),能够与SNMP软件(例如:net-snmp)等配合使用。html
要想搭建一个Zabbix的工做环境,须要从服务器入手。与服务器通讯,管理员须要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通讯。三个关键(界面、服务器和数据库)能够安装在同一台服务器上,可是若是你拥有一个更大更复杂的环境,将它们安装在不一样的主机上也是一个选项。Zabbix服务器可以直接监控到同一网络中的设备,若是其余网络的设备也须要被监控,那还须要一台Zabbix代理服务器。前端
实验环境(能够经过DNS服务或修改hosts文件)mysql
NAME | HOST | OSVersions | PROGRESS |
---|---|---|---|
ZABBIX-server | zabbix.example.com | CentOS7.2 | zabbix-server |
WEB-Server | www.example.com | CentOS7.2 | LAMP,zabbix-web,zabbix-agent |
WINDOWS-Server | win.example.com | Windows 2008 R2 | zabbix-agent |
Client6 | client.example.com | CentOS6.7 | zabbix-agent |
[extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
全部LINUX系统配置系统基本环境linux
hostnamectl set-hostname zabbix.example.com #设置主机名称 yum install epel-release -y #安装EPEL源 配置SELINUX环境 setenforce 0 vim /etc/sysconfig/selinux SELINUX=permissive 关闭iptables相关防火墙 for PROGRESS in iptables ip6tables ebtables ;do systemctl mask $PROGESS ;done
安装zabbix仓库的并安装zabbix服务web
yum install http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm yum install zabbix-server -y
修改server配置文件sql
vim /etc/zibbix/zabbix-server.conf DBHost=www.example.com #数据库主机 DBName=zabbix #数据库名称 DBUser=zabbix #数据库链接用户 DBPassword=zabbixpass #数据库用户密码
将Server中的数据库文件拷贝至web服务器数据库
scp /usr/share/doc/zabbix-server-mysql-3.2.6/create.sql.gz root@www.example.com:/root
配置防火墙开启响应端口vim
firewall-cmd --permanent --add-port=1051/tcp firewall-cmd --permanent --add-port=1051/udp firewall-cmd --reload
启动zabbix服务windows
systemctl start zabbix-server
安装zabbix客户端程序监控本机
yum install zabbix-agent zabbix-sender
修改客户端程序配置文件
vim /etc/zabbix/zabbix_agentd-conf Server=zabbix.example.com #zabbix服务器地址 Hostname=client.example.com #本机主机名(要求全局惟一)
打开客户端程序所需的端口
firewall-cmd --permanent --add-port=1050/tcp firewall-cmd --permanent --add-port=1050/udp firewall-cmd --reload
启动客户端程序
systemctl start zabbix-agent
1、配置LAMP环境,也能够使用LNMP
yum install httpd mariadb mariadb-server php php-mysql
(1)配置httpd配置文件,使能处理动态界面
vim /etc/httpd/conf/httpd.conf ServerName www.example.com <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
(2)配置优化php配置文件
vim /etc/php.ini max_execution_time = 600 max_input_time = 600 memory_limit = 256M post_max_size = 32M upload_max_filesize = 16M date.timezone = Asia/Shanghai
(3)拷贝mysql示例配置文件
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 优化配置文件 vim /etc/my.cnf [mysqld] innodb_file_per_table=on
(4)启动服务
systemctl start mariadb
(5)数据库安全初始化
mysql_secure_installation
(6)建立数据库设置字符集,设置相应的用户权限并刷新权限
MariaDB [(none)]> create database zabbix character set utf8; MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%.example.com' identified by 'zabbixpass'; MariaDB [(none)]> flush privileges;
(7)将从zabbix拷贝过来的sql脚本导入至zabbix数据库
zcat create.sql.gz |mysql -p zabbix
(8)编辑动态测试文件,测试php与数据库的链接
vim /var/www/http/index.php <?php $link=mysql_connect("localhost","zabbix","zabbixpass"); if(!$link) { echo "mysql connnect error!"; } else { echo "mysql connect succeed!"; mysql_close(); } ?>
(9)配置防火墙
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=mysql firewall-cmd --reload
(10)测试没问题
2、安装zabbix仓库rpm包,并安装zabbix-web程序
yum install http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm yum install zabbix-web zabbix-web-mysql -y
(1)安装后会在httpd配置文件下生成zabbix的虚拟目录配置文件
ls /etc/httpd/conf.d/zabbix.conf /etc/httpd/conf.d/zabbix.conf
(2)重启httpd服务,加载新生成的配置文件
systemctl restart httpd
(3)安装zabbix客户端使能监控本机
yum install zabbix-agent
(4)修改配置文件如下内容
vim /etc/zabbix/zabbix_agentd-conf Server=zabbix.example.com Hostname=www.example.com
(5)开启客户端所需端口
firewall-cmd --permanent --add-port=1050/tcp firewall-cmd --permanent --add-port=1050/udp firewall-cmd --reload
(6)启动客户端程序
systemctl start zabbix-agent
1、下载zabbix客户端
地址:http://www.zabbix.com/downloads/3.2.0/zabbix_agents_3.2.0.win.zip
进入到目标主机的c:\zabbix目录下,执行以下命令完成客户端的安装:
(1)确保网络连通
(2)修改在conf下的zabbix_agentd.conf文件,写入以下基本内容:
切记!不要使用记事本修改此文件,会有换行格式问题,最好使用sablime text编辑
LogFile=c:\zabbix\zabbix_agentd.log Server=zabbix.example.com Hostname=win.example.com<客户端主机名>
(3)启动命令提示符,切换至C:\zabbix\bin目录,执行如下命令
zabbix_agentd.exe –c c:\zabbix\zabbix_agentd.win.conf -i zabbix_agentd.exe –c c:\zabbix\zabbix_agentd.win.conf –s 参数含义: -c #制定配置文件所在位置 -I #是安装客户端 -s #启动客户端 -x #中止客户端 -d #卸载客户端
(4)查看相应端口是否开启
安装ZABBIX客户端程序包
yum install http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm yum install zabbix-agent zabbix-sender
(1)编辑客户端文件
vim /etc/zabbix/zabbix_agentd-conf Server=zabbix.example.com Hostname=client.example.com
(2)清空iptables防火墙规则
iptables -F
(3)启动客户端程序
service zabbix-agent restart
建立主机
建立主机详解
①主机地址,或者主机名称
②显示的名称,可随意
③将建立的主机添加到分组
④输入主机地址或名称
⑤选择IP或者DNS
⑥点击模板,选择主机的检测模板
①点击选择
②更新主机类型选择不一样的模板
③更新主机类型选择不一样的模板
④点击添加至链接
⑤点击添加完成新增主机配置
windows主机没法链接,经排查后,是用windows的记事本编辑配置文件致使文件格式错误,修改重启后问题解决
所有主机都没有检测到数据
显示zabbix服务没有运行,问题不详
解决办法:将zabbix-server移动至web服务器,以前也作过将zabbix-server单独一台机器,不知道为何此次不能够了,至死不渝!!