zabbix从听说到学会

服务器

浏览数:127

2019-10-16

AD:资源代下载服务

一、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 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)等配合使用。

2.1 zabbix安装

2.1.1 zabbix WEB环境搭建

zabbix的安装需要LAMP或者LNMP环境。
需要其它的软件包

yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm

2.1.2 zabbix 数据库设置

zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。

grant all privileges on zabbix.* to zabbix_user@'ip' identified by '123456';

注:ip为zabbix服务器的IP地址。

关于数据库的安装,可以查看Mysql安装,我习惯使用二进制包。

启动数据库

/usr/local/mysql/bin/mysqld_safe  --user=mysql &

登录数据库,创建帐号和设置权限:

  1. mysql> use mysql;
  2. mysql>create database zabbix character set utf8;
  3. mysql>grant all privileges on zabbix.* to zabbix_user@’192.168.10.197′ identified by ‘123456’;

2.1.3安装zabbix服务

增加zabbix用户和组

#groupadd zabbix
#useradd -g zabbix -m zabbix

官网下载解压软件包:点击下载

#wget http://fossies.org/unix/misc/zabbix-2.0.3.tar.gz
# tar -zxvf  zabbix-2.0.3.tar.gz
#cd zabbix-2.203

导入数据库表

#cd  zabbix-2.0.3/database/mysql
#mysql -uroot -pmysql zabbix < mysql.sql
#mysql -uroot -pmysql zabbix < images.sql 
#mysql -uroot -pmysql zabbix < schema.sql

编译安装zabbix

./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy

编译报错checking for main in -lmysqlclient ... no
yum 安装mysql-devel即可

#make
#make install

添加服务端口

1.  vim /etc/services
2.  zabbix-agent 10050/tcp # Zabbix Agent
3.  zabbix-agent 10050/udp # Zabbix Agent
4.  zabbix-trapper 10051/tcp # Zabbix Trapper
5.  zabbix-trapper 10051/udp # Zabbix Trapper

添加配置文件

# mkdir -p /etc/zabbix
# cp -r zabbix-2.203/conf/* /etc/zabbix/
# chown -R zabbix:zabbix /etc/zabbix

修改server配置文件
添加zabbix数据库密码
vim /etc/zabbix/zabbix_server.conf

LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBName=zabbix
DBUser=zabbix_user
DBPassword=123456     #指定zabbix数据库密码
ListenIP=192.168.10.197    #服务器IP地址

修改Agentd配置文件
更改HOSTNAME为本机的hostname
vim /etc/zabbix/zabbix_agentd.conf

1.  PidFile=/tmp/zabbix_agentd.pid #进程PID
2.  LogFile=/tmp/zabbix_agentd.log #日志保存位置
3.  EnableRemoteCommands=1 #允许执行远程命令
4.  Server=192.168.10.197 #agent端的ip
5.  Hostname=client1 #必须与zabbix创建的host name相同

设置hostname

设置hostname

添加web前段php文件

# cd zabbix-2.203/frontends/
# cp -rf php /home/httpd/zabbix   #虚拟主机目录
# chown -R zabbix:zabbix zabbix

web前端安装配置

修改PHP相关参数
vim php.ini

1.  max_execution_time = 300
2.  max_input_time = 300
3.  memory_limit = 128M
4.  post_max_size = 32M
5.  date.timezone = Asia/Shanghai
6.  mbstring.func_overload=2

PHP还必须支持一下模块,在php源码包直接编译安装。具体模块需求在安装时会提示。
bcmath.sogettext.so
在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ZabbixIP/zabbix ,按提示点击下一步

Step1:下一步。
Step2:如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。
Step3:需要输入mysql数据库帐号密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权。
Step4:输入服务器端 host name or host IP addres;
最后会自动写入配置文件:zabbix.conf.php,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。

启动zabbix服务

在zabbix安装目录下面可以直接启动

#/usr/local/zabbix/sbin/zabbix_server start
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      7140/zabbix_agentd

设置开机自启动

vim /etc/rc.d/rc.local
最后添加下面两行

1.  /usr/local/zabbix/sbin/zabbix_server start
2.  /usr/local/zabbix/sbin/zabbix_agentd start

至此,zabbix server端的安装完毕,我们可以通过浏览器来访问。

接下来会介绍关于客户端监控的使用,以及监控模版的新建,自定义监控服务等。

三、搭建Zabbix监控环境

在一个数据中心里,了解某个主机正在发生什么是非常重要的一件事。适当地监控一些网络节点能够帮助防止发生网络功能问题。在这一系列的文章中,你能够学到如何用Zabbix来实现。

Zabbix是一个开源网络监控工具,并采用一台基于Linux为中心的Zabbix服务器。服务器与那些本机代理相互联系,目前所适用的操作系统包括Linux、 UNIX和Windows。如果没有安装代理的操作系统,可采用通用的监控协议如SNMP或IPMI。

使用Zabbix监控工具有许多优点。作为初学者,Zabbix能够在特定预先定义的事件发生时发出告警和提醒。还提供图像功能,帮助系统管理员对当前特殊节点和整个网络有一个大致了解。  
 
要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。

3.1 Zabbix安装选项

安装Zabbix有两种方法:下载安装包并把它安装在你Zabbix的linux服务器主机上,或者使用包含一些Linux发行版的安装包。使用发行版的安装包使得安装和更新Zabbix更方便,但是编译你自己的Zabbix意味着需要针对每一个Linux发行版,包括最新和最棒的功能。

预先编译的安装包对某些Linux发行版还不支持,比如SUSE。如果你不想和那些底层的Linux系统打交道,Fedora或者Ubuntu可能是你的最佳选择。它们从安装储存库开始就包含了Zabbix安装包。编译你自己的Zabbix同样可行,但是那样则需要更多的Linux技术知识。在本篇中,我们将使用预先编译的Fedroa 17的安装包来安装Zabbix,完全免费。

3.2 安装基础包

确保你的Fedora Linux服务器至少有10GB的有效磁盘空间。在初期进行Zabbix安装时并不需要,但是当Zabbix开始在一个大环境下产生数据时就会需要。

下一步,使用Yellow Dog更新修改(YUM)命令yum install zabbix zabbix-server zabbix-server-mysql zabbix-web zabbix-web-mysql mysql zabbix-agent来安装Zabbix和所有需要的组件。在安装软件之后,你需要开启Zabbix服务并确保他们在你重启服务器之后仍然开启。要想完成这个,运行以下命令并重启服务器:

systemctl enable mysqld.service 
systemctl enable zabbix-server-mysql.service 
systemctl enable httpd.service     

在继续之前,你需要创建一个MySQL数据库。使用mysql -u root 作为Root用户登录。这样就打开了一个mysql提示。键入以下命令来创建需要的数据库:

mysql> create database zabbix character set utf8; 
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by ‘password'; 
mysql> quit     

数据库的默认名字是zabbix,管理员用户名也是zabbix,密码是password。现在你需要使用zabbix模式和一些初始数据来填充数据库。要想这样做,你可以使用默认的安装在/usr/share/doc/zabbix-server-mysql-/create/schema下的SQL文件。从Linux的shell中使用以下mysql命令来导入文件:

# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-/create/schema/mysql.sql 
# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-/create/data/data.sql 
# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-/create/data/images_mysql.sql     

这些命令会将SQL文件导入MySQL数据库中,使用用户名“zabbix”。选项 –p 告诉mysql命令提示需要输入密码,接下去用户zabbix告诉MySQL将所有数据添加至zabbix数据库中。下一步,输入的文件被特指使用输入重定向(<),在文件名之后被用来当作输入文件。

在你继续下一步配置之前,确保Zabbix能够连接到你刚刚创建的数据库。想要这样做,打开配置文件/etc/zabbix/zabbix_server.conf并确保以下内容在其中。

DBHost=localhost 
DBName=zabbix 
DBPassword=password     

重启你的服务器并确保所有信息都显示正确。在重启之后,使用命令systemctl status zabbix-server.service。这会显示所有已经开启的Zabbix进程。

3.3 与Web界面对连

一旦所有系统都已经开启,你可以打开一个浏览页面至Zabbix Web前端http://yourzabbixserver/zabbix, 这里你可以配置你的Zabbix服务器。

在继续之前,确保你满足了最低系统要求。

第一个导入的屏幕是为了检查先决条件。在许多情况下,你会发现系统分配使用的默认PHP设置是不完整的,所以记录下有关的设置并打开/etc/php.ini来进行调整。在完成调整之后,重启Fedora 17的Apache服务,可以输入systemctl restart httpd.service命令来完成。

3.4 配置数据库连接

在下一个窗口中,配置Zabbix和数据库之间的连接。在这个屏幕里,默认用户名为root;确保将用户名改为zabbix。

在建立数据库连接之后,键入Zabbix服务器的网络地址和你正使用的端口。如果Web前端正从服务器进程运行,指定Zabbix服务器所拥有的IP地址或者直接点击”next”继续。现在你会看到一个预安装的摘要。确认各个参数都正确再结束整个安装流程。一个进入Zabbix的登录窗口就会打开,你可以使用默认的用户Admin和密码zabbix进行登录。现在你的zabbix环境已经可以开始使用。

四、特点

4.1 zabbix的主要特点

  • 安装与配置简单,学习成本低
  • 支持多语言(包括中文)
  • 免费开源
  • 自动发现服务器与网络设备
  • 分布式监视以及WEB集中管理功能
  • 可以无agent监视
  • 用户安全认证和柔软的授权方式
  • 通过WEB界面设置或查看监视结果
  • email等通知功能
    等等

4.2 Zabbix主要功能

  • CPU负荷
  • 内存使用
    -磁盘使用
  • 网络状况
  • 端口监视
  • 日志监视。

五、Zabbix版本发布

2012年07月31日,ZABBIX 2.0.2 正式版发布。
2012年08月01日 ,ZABBIX 2.0.2 正式版发布,分布式系统监控。
2012年08月09日,ZABBIX 1.8.15 RC1 发布,该版本修复很多 bug ,其中包括一个安全相关的问题。
2012年08月21日,ZABBIX 1.8.15 正式版发布,该版本包含很多 bug 修复,其中有一个是安全相关的。
2012年09月11日,ZABBIX 2.0.3 RC1 发布,该版本包含前端的一些改进,以及引入 flicker free screens。
2012年11月28日,ZABBIX 2.0.4 RC1 发布,企业级监控系统。
2013年2月12日,ZABBIX 2.0.5 正式版发布,分布式系统监控
2013年4月15日,ZABBIX2.0.6 RC1发布,分布式系统监控。
2013年4月22日,ZABBIX2.0.6 正式版发布,企业级分布式监控系统。
2016年2月16日,ZABBIX3.0.0 正式版发布,企业级分布式监控系统。
2016年7月15日,ZABBIX3.0.4 RC1发布,企业级分布式监控系统。

作者:JokerW