1、Zabbix监控介绍
Zabbix是一个企业级、分布式,基于GPL开源的监控系统;Zabbix可以监控网络和各种服务的状况,有非常灵活的告警机制,用户可以对事件定义不同的告警,可以存储数据并提供图形化的显示和完整的报告。它可以运行在Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OS X等平台上(没有Windows),它的官网是http://www.zabbix.com/
1)、Zabbix的特点:
数据收集;实时绘图;灵活的阀值定义 ;高级告警配置 ;自定义扩展的图形化;历史数据存储 ;模版的使用 ;权限系统等。
2)、Zabbix的进程构成:
默认情况下,Zabbix包含5个程序,zabbix_agentd、zabbix_server 、zabbix_get、zabbix_proxy、zabbix_sender。
zabbix_agentd:客户端守护进程,此进程收集客户端的数据,比如:CPU负载、内存使用率、硬盘使用情况等。
zabbix_server:服务端守护进程,zabbix_agentd 、zabbix_get、zabbix_proxy、zabbix_sender的数据最终都会提交给zabbix_server处理。
zabbix_get:zabbix工具,通常在server或者proxy端执行命令获取远程客户端的信息的命令,通常用于排除。
zabbix_proxy:代理守护进程,类似zabbix_server,它就是一个中转站,它需要把收集的数据提交到server上。
zabbix_sender:zabbix工具 ,用来主动提交数据给server或者proxy,通常是用来处理耗时较长的检查。
2、Zabbix服务器安装
1)安装前的准备:
(1)、添加防火墙规则
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #web访问查看监控
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT #zabbix客户端的端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT #zabbix服务器的端口
:wq #保存退出
/etc/init.d/iptables restart #最后重启防火墙使配置生效
(2)、关闭SELinux
vim /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效,重启系统永久生效
2)Zabbix的安装
Zabbix需要有web的环境,需要有数据库的支持,同时需要有PHP的运行环境,因此需要构建LAMP或者LNMP的环境。这里使用yum 安装(建议使用源码安装),zabbix的版本是2.2版本。
(1)、安装epel扩展源
yum install epel-release
(2)、安装LAMP环境
yum install -y httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring php-gd
安装完成后,需要修改php.ini的参数,主要有如下:
date.timezone = Asia/Chongqing #此项默认是有“;”注释,需要打开,并且定义。
Zabbix建议的一些参数修改为如下:
max_execution_time=300
memory_limit = 128M
max_input_time = 300
post_max_size = 16M
upload_max_filesize = 2M
(3)、安装Zzbbix2.2版本服务器
yum install -y zabbix22 zabbix22-agent zabbix22-server zabbix22-server-mysql zabbix22-web zabbix22-web-mysql net-snmp-devel libxml2-devel libcurl-devel
(4)、创建用于Zabbix的数据库和数据库用户,并且导入zabbix的数据库文件。
Zabbix Server需要导入的是三个数据库文件,而Proxy只需要导入一个即可。
/etc/init.d/mysqld start #启动数据库
mysql -uroot -p #进入MySQL数据库控制台
create database zabbix character set utf8; #创建zabbix数据库,并且设置编码为utf8
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix' with grant option;
或者:
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix' with grant option;
#创建zabbix用户,并且运行在本机连接zabbix数据库
flush privileges; #刷新数据库权限列表
use zabbix #进入zabbix数据库
初始化数据库,导入sql文件,请安装顺序执行:
source /usr/share/zabbix-mysql/schema.sql
#如果是安装proxy,导入这个sql就可以了,如果是server ,还需要以下的两条sql。
source /usr/share/zabbix-mysql/images.sql
source /usr/share/zabbix-mysql/data.sql
另外还有如下的方法初始化数据库,导入sql文件。
首先需要退出MySQL控制台,执行如下:
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/images.sql
mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/data.sql
(5)、编辑zabbix_server配置文件,用于连接数据的帐号和密码
vim /etc/zabbix/zabbix_server.conf #编辑配置文件
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
(6)、启动zabbix_server的服务,默认监听TCP 10051端口;启动zabbix_agentd 服务,默认监听TCP 10050端口
/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agentd start
(7)、在网页上安装zabbix,在浏览器上输入:http://ip/zabbix
/etc/init.d/httpd start #启动apache服务
在浏览器上输入:http://ip/zabbix,安装zabbix。
在页面上安装主要有6个步骤:
1、Welcome #欢迎界面
2、Check of pre-requisites #主要是PHP的配置需求
3、Configure DB connection #连接数据库
4、Zabbix_server_details #Zabbix服务器的配置
5、Pre-Installation summary #配置的安装清单
6、Install #安装,生成配置文件: /etc/zabbix/web/zabbix.conf.php。
安装完成,即输入用户名和密码登录。默认是:admin/zabbix。
3、客户端安装
1)、Linux客户端的安装
(1)、添加防火墙规则
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT #zabbix客户端的端口
:wq #保存退出
/etc/init.d/iptables restart #最后重启防火墙使配置生效
(2)、关闭SELinux
vim /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效,重启系统永久生效
yum install -y zabbix22-agent #安装客户端
vim /etc/zabbix/zabbix_agentd.conf #编辑配置文件,主要是指定监控服务器的地址
Server=192.168.17.10 #服务器的ip地址
ServerActive=192.168.17.10 #服务器IP地址,这是客户端主动提交数据
Hostname=balich-ha #需要唯一的名字
/etc/init.d/zabbix-agentd start #启动客户端服务进程,默认监听端口是tcp 10050
可以在监控服务器上使用命令测试服务器与客户机主机是否正常通信(客户机上需要放行TCP 10050端口) ,如:
zabbix_get -s 客户端ip -p10050 -k "system.hostname"
2)、Windows客户端的安装
Windows客户端的下载地址:
解压后,可以将程序存放到C盘的根目录,更改目录名为zabbix_agents,在这个zabbix_agents目录下有两个目录,一个是conf,这里存放的是配置文件;另一个是bin,存放的客户端的运行的进程程序。
首先编辑conf目录下的zabbix_agentd.win.conf配置文件,修改的如下的内容:
Server=192.168.17.10 #服务器的ip地址
ServerActive=192.168.17.10 #服务器IP地址,这是客户端主动提交数据
Hostname=balich-win7 #需要唯一的名字
安装zabbix_agentd服务,并启动zabbix_agentd进程,
cd c:\zabbix_agents\bin\win32
#进入zabbix_agents 可执行程序的目录(根据不同操作系统版本)
c:\zabbix_agents\bin\win32>zabbix_agentd.exe -c "C:\zabbix_agents\conf\zabbix_ag entd.win.conf" -i
zabbix_agentd.exe [11912]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [11912]: event source [Zabbix Agent] installed successfully
运行――输入【services.msc】,打开 服务 可以看到已经安装了了一个Zabbix Agent的服务。打开它,点击“启动”,启动服务;另外也可以设置为开机自动启动。
参数的说明:
-c: 指定配置文件的位置
-i: 安装
-s: 启动
-x: 停止
-d: 卸载
在监控服务器上使用命令测试服务器与客户机主机是否正常通信,(客户机上需要放行TCP 10050端口)如:
zabbix_get -s 客户端ip -p10050 -k "system.hostname"
4、在监控控制台添加监控主机
刚刚分别在Linux和Windows客户端上都安装了zabbix的客户端程序,需要监控它们,还要在监控的控制台上添加主机
在控制台上点击“Configuration"-->"Hosts"-->点击右上角的"Create host"
在下面有一行的选项分别是:Host、Templates、IPMI、Macros、Host inventory
在“Host"
Host name:写在客户端上的配置文件/etc/zabbix_agentd.conf 里面的Hostname 的名字
Visible name:外部显示的名字,别名
Groups In groups:选择对应的组,可以自定义,也可以直接选择里面的组名。
Agent interfaces:里面的IP address:写客户机(被监控机)IP地址,其他默认
在 "Templates"
Linked templates:表示已经链接的模版
Link new templates:在这里选择需要使用的模版,点击右边的“select”选择,然后在下面点击“add"增加。
其他的选项可以暂时不需要选择,最后点击下面的”Save"保存,这样就添加了一台监控的主机。
在“Configuration"-->"Hosts"下
在右边的“Status”下面表示是否在监控;"Avaliability"表示是否可用,如果是绿色表示监控正常,如果是红色会提示错误的信息。
5、查看监控的数据
添加了监控的主机后,可以查看监控的数据
查看cpu、内存、硬盘等的数据:
点击"Monitoring"-->"Latest data"-->在右边“Group”和"Host"选择相应的组和主机。
查看图表数据:
点击"Monitoring"-->"Graphs"-->在右边“Group”和"Host"选择相应的组和主机
到此,已经完成了zabbix的服务器的和客户端的安装,同时也完成了如果添加监控主机和查看相关的数据。