IT运维流程库历史主题 · 只读
← 返回目录

关于zabbix安装、部署和配置的详解(Server端)

今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控mysql数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。

首先,我们先来介绍下Zabblx:
一. Zabbix简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

zabbix的主要特点:
- 安装与配置简单,学习成本低 - 支持多语言(包括中文) - 免费开源 - 自动发现服务器与网络设备 - 分布式监视以及WEB集中管理功能 - 可以无agent监视 - 用户安全认证和柔软的授权方式 - 通过WEB界面设置或查看监视结果
Zabbix主要功能:
- CPU负荷 - 内存使用 - 磁盘使用 - 网络状况 - 端口监视 - 日志监视
官方安装资料:wiki/howto/monitor
二. Zabbix安装
2.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.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 &

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

  • mysql> use mysql;
  • mysql>create database zabbix character set utf8;
  • mysql>grant all privileges on zabbix.* to zabbix_user@'192.168.10.197' identified by '123456';


2.3安装zabbix服务
增加zabbix用户和组

#groupadd zabbix
#useradd -g zabbix -m zabbix

官网下载解压软件包。
download.php
#wget 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 添加服务端口
  • vim /etc/services
  • zabbix-agent 10050/tcp # Zabbix Agent
  • zabbix-agent 10050/udp # Zabbix Agent
  • zabbix-trapper 10051/tcp # Zabbix Trapper
  • 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

  • PidFile=/tmp/zabbix_agentd.pid #进程PID

  • LogFile=/tmp/zabbix_agentd.log #日志保存位置

  • EnableRemoteCommands=1 #允许执行远程命令

  • Server=192.168.10.197 #agent端的ip

  • Hostname=client1 #必须与zabbix创建的host name相同

如图设置hostname



添加web前段php文件
# cd zabbix-2.203/frontends/
# cp -rf php /home/httpd/zabbix #虚拟主机目录 # chown -R zabbix:zabbix zabbix web前端安装配置 修改PHP相关参数 vim php.ini
  • max_execution_time = 300
  • max_input_time = 300
  • memory_limit = 128M
  • post_max_size = 32M
  • date.timezone = Asia/Shanghai
  • mbstring.func_overload=2


PHP还必须支持一下模块,在php源码包直接编译安装。详细模块需要在安装是会提示。
bcmath.so、gettext.so

在客户端浏览器上面访问zabbix,开始WEB的前端配置,
Step1:下一步。
Step2:如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。
Step3:需要输入mysql数据库帐号密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权。



Step4:输入服务器端 host name or host IP addres;

最后会自动写入配置文件:zabbix.conf.php,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。.启动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 最后添加下面两行
  • /usr/local/zabbix/sbin/zabbix_server start
  • /usr/local/zabbix/sbin/zabbix_agentd start


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


五. 告警配置(实现邮件、微信、电话、短信通知方式)

一般常见告警通知方式有邮件、微信、电话和短信,自己一个个配置起来比较繁琐。这里可以借助使用第三方的灵犀云告警平台来实现。3分钟实现四大告警通知方式,同时还拥有告警逐级通知、告警合并、在线排班等功能,帮您高效完成监控系统的最后一公里。

灵活的告警触发策略设定。



丰富的事件处理及统计功能。



方便的监控值班功能。


原创: 鸟哥のlinux