Zabbix 是一个基于WEB界面的提供分布式系统的监控服务,集监控与报警于一体,功能十分强大。Zabbix由服务端(server)和客户端(agent)两部分组成,zabbix server 可以通过SNMP ,PING,SSH,IPMI,Zabbix agent,端口监视等方法提供对远程服务器的硬件信息的监控,并且将数据存储在数据库里面,通过对数据的处理,将信息通过web界面显示出来。优点是能够监控大批量的服务器,甚至达到万的量级。


下面介zabbix server 及zabbix agent 的搭建:

准备工作:下载好这些软件包以及一些相关的依赖项: zabbix-2.4.5-1.el6.x86_64.rpm

zabbix-agent-2.4.5-1.el6.x86_64.rpm
zabbix-get-2.4.5-1.el6.x86_64.rpm
zabbix-java-gateway-2.4.5-1.el6.x86_64.rpm
zabbix-proxy-2.4.5-1.el6.x86_64.rpm
zabbix-proxy-mysql-2.4.5-1.el6.x86_64.rpm
zabbix-sender-2.4.5-1.el6.x86_64.rpm
zabbix-server-2.4.5-1.el6.x86_64.rpm
zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm
zabbix-web-2.4.5-1.el6.noarch.rpm
zabbphp-bcmath-5.3.3-26.el6.x86_64.rpm
php-mbstring-5.3.3-26.el6.x86_64.rpmix-web-mysql-2.4.5-1.el6.noarch.rpm
第一歩:(server端)yum install -y  “zabbix-2.4.5-1.el6.x86_64.rpm zabbix-agent-2.4.5-1.el.x86_64.rpm  zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm 
zabbix-web-2.4.5-1.el6.noarch.rpm  zabbix-web-mysql-2.4.5-1.el6.noarch.rpm ”(安装过程中肯定会出现相关的依赖项,方法是缺什么依赖项,就在准备的材料里装什么依赖项)
第二步:(server端)  
#scp zabbix-agent-2.4.5-1.el6.x86_64.rpm 172.25.45.3:
#scp zabbix-2.4.5-1.el6.x86_64.rpm 172.25.45.3:
注:server端的两个文件传到agent端的/root/下;用来在agent端安装zabbix agent服务;主要是用来对agent端进行数据采集。
第三步:(server端)  yum install-y mysql-server  安装数据库
启动+初始化:#/etc/init.d/mysqld start  + #mysql_secure_installation 
> create database zabbix character set utf8 collateutf8_bin;
> grant all privileges on zabbix.* tozabbix@localhost identified by 'westos';
进入数据库创建zabbix库和建立zabbix用户并且设定密码,赋予权限:
第四步:(server端)-->#cd /usr/share/doc/zabbix-server-mysql-2.4.5/
#mysql -uzabbix -pwestos zabbix < schema.sql  (倒入表,必须先倒入)
# mysql -uzabbix -pwestos zabbix < p_w_picpaths.sql
#mysql -uzabbix -pwestos zabbix < data.sql
第五步:(server端)
#vim /etc/zabbix/zabbix_server.conf  (编辑server主配置文件,添加数据库密码)
107行: DBPassword=westos
#vim /etc/php.ini
946行: date.timezone = Asia/Shanghai
#/etc/init.d/httpd start
#/etc/init.d/zabbix-server start 
#netstat -antlpe :查看zabbix server端口号10051有没有开启;
第六步:(agent端)
#rpm  -ivh  zabbix-2.4.5-1.el6.x86_64.rpm 
#rpm  -ivh  zabbix-agent-2.4.5-1.el6.x86_64.rpm
#vim /etc/zabbix/zabbix_agentd.conf
 85行      Server=172.25.45.10
126 行     ServerActive=172.25.45.10    (监控的主机ip地址)
137 行     Hostname=server2.example.com  (注意:此处写被监控的主机名)
# /etc/init.d/zabbix-agent start
#netstat -antlpe    :查看zabbixagent端口号10050有没有开启;
 
第七步:(server端)也把zabbix agent服务配置如上,但是有区别,因为监控的是本机:只用修改这一初:
137行  Hostname=server1.example.com
# /etc/init.d/zabbix-agent start
#netstat -antlpe   :查看本地主机zabbix agent端口号10050有没有开启;
第八步:登陆zabbix web进行相应的配置操作:
http://172.25.0.103/zabbix 按照提示完成安装并登陆:


注意点:  (初始登陆时的用户和密码分别为)
Username: Admin
Password: zabbix
第九步:在zabbix server 上激活 zabbix agent 自动注册功能
a点击 Configuration -> Actions -> Create  action 按下图所示设置:

zabbix监控所有指标 zabbix监控ping_zabbix监控所有指标

b.自定义 Action 的名字。Conditions选项卡保持默认即可。

Operations 选项卡添加如下:

zabbix监控所有指标 zabbix监控ping_zabbix监控所有指标_02



c.Add host:自动注册主机添加到hosts 列表

Add to host groups:自动注册主机加入linux servers 组(组名可以自定义)

Link to templates:自动注册主机应用模板Template OS linux


d.点击 Configuration -> Hosts 可以看到新加的主机:

zabbix监控所有指标 zabbix监控ping_数据库_03

 

第十步:zabbixweb添加服务监控项,利用 zabbix 自带的监控模版,以添加监控http 服务为例:

A.点击Configuration-> Hosts -> server1.example.com -> Templates 选择需要的模版:
B.检测验证添加的服务:Configuration-> Hosts -> server1.example.com
->点击Graphs --> HTTP service is running
 
**难点是对数据库mysql服务的监控。
(Server端)
# mkdir /var/lib/zabbix
#vim /var/lib/zabbix/.my.cnf
[mysql]
host = localhost
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
#/etc/init.d/mysqld restart
# /etc/init.d/zabbix-agent  restart
如果是监控远程主机的mysql 服务需要创建 zabbix 用户并授权
Mysql > GRANT USAGE ON *.* TO 'zabbix'@'localhost'IDENTIFIED BY 'westos';
Mysql > FLUSH PRIVILEGES;
Zabbix web 添加mysql服务监控项,
a.点击Configuration -> Hosts ->server2.example.com -> Templates 选择需要的模版:
b.检测验证添加的服务:Configuration -> Hosts ->server1.example.com
->点击Graphs --> MYSQL bandwith -->Preview会出现监控MYSQL图形及相应指标项。


 
转载于:https://blog.51cto.com/linuxmin0712/1788051