天天看点

使用zabbix监控服务器运行状态-

使用zabbix监控服务器运行状态-

一:实验目标

安装zabbix监控服务器运行状态

二:实验环境

zabbix-agent:xuegod63.cn IP:192.168.1.63

zabbix server:xuegod63.cn IP:192.168.1.63

zabbix-agent:xuegod64.cn IP:192.168.1.64

服务概述:

  zabbix(音同zbix)是一个基于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 agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。

运行机制: 

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

Zabbix主要功能: - CPU负荷 - 内存使用 - 磁盘使用 - 网络状况 - 端口监视

三:实验代码

Zabbix+Linux+nginx+mysql+php

zabbix server端 xuegod63

1)安装zabbix环境

[root@xuegod63 ~]# yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI

2)创建用户账号(server,agent)

[root@xuegod63 ~]# useradd -s /sbin/nologin zabbix

3)创建zabbix数据库并导入zabbix数据库数据(server)

[root@xuegod63 ~]#  mysql -u root -p123456

mysql> create database zabbix;

mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';

mysql> exit

4)安装zabbix,导入数据

[root@xuegod63 ~]# tar zxvf zabbix-2.0.8.tar.gz

[root@xuegod63 ~]# cd zabbix-2.0.8

[root@xuegod63 zabbix-2.0.8]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql

[root@xuegod63 zabbix-2.0.8]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql

[root@xuegod63 zabbix-2.0.8]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql

修改root密码:

[root@xuegod63 etc]# mysqladmin -u root password 123456

5)编译安装xuegod63  上的zabbix服务器端

[root@xuegod63 zabbix-2.0.8]# ./configure --prefix=/usr/local/zabbix-2.0.8 --enable-server --enable-agent --with-mysql=/server/mysql-5.5/bin/mysql_config --with-net-snmp --with-libcurl

//--prefix指定zabbix安装目录,--enable-server支持zabbix服务器,--enable-agent支持zabbix代理,--with-mysql使用MySQL客户端库可以选择指定路径mysql_config,如果是rpm包安装的mysql数据库,直接使用--with-mysql,不用指定具体路径,--with-net-snmp使用net -snmp软件包,择性地指定路径NET -SNMP配置, --with-libcurl使用curl包

***********************************************************

*            Now run 'make install'                       *

*                                                         *

*            Thank you for using Zabbix!                  *

*              <http://www.zabbix.com>                    *

[root@xuegod63 zabbix-2.0.8]# make install#不需要执行make,直接make install

[root@xuegod63 zabbix-2.0.8]# cd /usr/local/zabbix-2.0.8/

[root@xuegod63 zabbix-2.0.8]# ls

bin  etc  sbin  share

6)配置服务端配置文件:xuegod63

[root@xuegod63 etc]# cd /usr/local/zabbix-2.0.8/etc/

[root@xuegod63 etc]# vim zabbix_server.conf

修改如下内容:

LogFile=/var/log/zabbix_server.log#可以不修改,

DBHost=localhost

DBName=zabbix

DBUser= zabbix

DBPassword= zabbix

7)修改zabbix_agentd.conf,实现自己监控自己。如下内容:

[root@xuegod63 etc]# vim /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf

[root@xuegod63 etc]# grep ^[^#] zabbix_agentd.conf

LogFile=/var/log/zabbix_agentd.log

Server=127.0.0.1

ServerActive=127.0.0.1

Hostname=Zabbix server

UnsafeUserParameters=1 

8)启动守护进程xuegod63  

[root@xuegod63 zabbix-2.0.8]# /usr/local/zabbix-2.0.8/sbin/zabbix_server

[root@xuegod63 zabbix-2.0.8]# netstat -anutp | grep 10051  # server启动端口为10051

tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      14453/zabbix_server

9)添加注册的端口:注:如果看不到启动端口,需要添加注册的端口,

[root@xuegod63 zabbix-2.0.8]#cat >>/etc/services<<EOF

zabbix-agent 10050/tcp Zabbix Agent

zabbix-agent 10050/udp Zabbix Agent

zabbix-trapper10051/tcp Zabbix Trapper

zabbix-trapper 10051/udp Zabbix TrapperEOF

通过浏览器安装zabbix

10)复制zabbix PHPweb网站文件

[root@xuegod63 etc]# cp -r /root/zabbix-2.0.8/frontends/php/ /server/nginx-1.2.8/html/zabbix

#zabbix的终端程序是用php写的,因此需要一个支持php脚本解析的web服务器。然后将frontends/php 下面的php文件拷贝到web服务器html文件目录下面。

10)修改参数

[root@xuegod63 ~]# vim /server/php-5.4-nginx-v2/php.ini

改:;date.timezone =

为:date.timezone = Asia/Chongqing

[root@xuegod63 etc]# /etc/init.d/php-fpm restart

Gracefully shutting down php-fpm . done

Starting php-fpm  done

#确保所有依赖的软件都正确安装。查看到几处不符合要求以及需修改该PHP文件配置文件参数:

[root@xuegod63 etc]# vim /server/php-5.4-nginx-v2/php.ini

查找如下参数并修改为:

----------------

729 post_max_size = 16M

440 max_execution_time = 300

450 max_input_time = 300

[root@xuegod63 etc]# /etc/init.d/php-fpm restart 

11)测试登录

   在你的浏览器中,输入url:http://192.168.1.63/zabbix/index.php,你将看到前端安装向导的第一个画面。

<a href="http://s2.51cto.com/wyfs02/M02/89/23/wKiom1gIoC3wBy94AAKjTAXKomA491.png-wh_500x0-wm_3-wmp_4-s_3042734372.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M00/89/23/wKiom1gIoC7h_3lTAAFtzD7qojg782.png-wh_500x0-wm_3-wmp_4-s_2716578451.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M00/89/20/wKioL1gIoC6iPIzwAAEwqla5y9A444.png-wh_500x0-wm_3-wmp_4-s_1030644964.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M02/89/20/wKioL1gIoC_yfiW5AAD8MjBuX6A656.png-wh_500x0-wm_3-wmp_4-s_4281352996.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M00/89/23/wKiom1gIoC_wVUDiAAE6vKWsxQY724.png-wh_500x0-wm_3-wmp_4-s_4003533193.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/23/wKiom1gIoDCRCQ2IAAD1Sphfswo915.png-wh_500x0-wm_3-wmp_4-s_1053341217.png" target="_blank"></a>

将下载文档上传并拷贝到html中

[root@xuegod63 ~]# cp zabbix.conf.php /server/nginx-1.2.8/html/zabbix/conf

<a href="http://s3.51cto.com/wyfs02/M01/89/20/wKioL1gIoEOxYwtUAADTykary5o841.png-wh_500x0-wm_3-wmp_4-s_2125567904.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/89/23/wKiom1gIoEPQ1or1AAHpoZYKJ8g115.png-wh_500x0-wm_3-wmp_4-s_1112439507.png" target="_blank"></a>

接着,就可以登录到Zabbix系统的主界面。默认用户名:admin 密码是:zabbix

<a href="http://s2.51cto.com/wyfs02/M00/89/20/wKioL1gIoFGARJnSAADektOpYw8035.png-wh_500x0-wm_3-wmp_4-s_3262143845.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M02/89/20/wKioL1gIoFHiGbXTAACDDVQKn0k287.png-wh_500x0-wm_3-wmp_4-s_1614553206.png" target="_blank"></a>

修改显示语言为中文:

zabbix agent端 xuegod63与xuegod64

配置xuegod63的zabbix agent

1)配置环境

[root@xuegod64~]#yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI

2)创建用户账号

[root@xuegod64~]# useradd -s /sbin/nologin zabbix

3)配置client: xuegod64.cn

[root@xuegod64 ~]# tar zxvf zabbix-2.0.8.tar.gz

[root@xuegod64 ~]# cd zabbix-2.0.8

[root@xuegod64 zabbix-2.0.8]# ./configure --prefix=/usr/local/zabbix-2.0.8 --enable-agent

*            Thank youfor using Zabbix!                  *

[root@xuegod64 zabbix-2.0.8]#make install

查看安装后,生成的文件:

[root@xuegod64 zabbix-2.0.8]# cd /usr/local/zabbix-2.0.8/

[[email protected]]# ls

主配置文件:

[root@xuegod64 etc]# ls /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf

4)注册服务端口

[root@xuegod64 zabbix-2.0.8]# vim /etc/services#最后,添加以下内容

zabbix-agent    10050/tcp               # Zabbix Agent

zabbix-agent    10050/udp               # Zabbix Agent

zabbix-trapper10051/tcp               # Zabbix Trapper

zabbix-trapper  10051/udp               # Zabbix Trapper

5)创建服务管理脚本

[root@xuegod64 zabbix-2.0.8]# cp /root/zabbix-2.0.8/misc/init.d/fedora/core/zabbix_agentd  /etc/init.d/

6)修改程序家目录

[root@xuegod64 zabbix-2.0.8]# vim /etc/init.d/zabbix_agentd

改:BASEDIR=/usr/local

为:BASEDIR=/usr/local/zabbix-2.0.8

root@xuegod64 zabbix-2.0.8]# chmod  +x /etc/init.d/zabbix_agentd

[root@xuegod64 zabbix-2.0.8]#chkconfig --add zabbix_agentd

[root@xuegod64 zabbix-2.0.8]#chkconfig zabbix_agentd on

配置xuegod64的zabbix agent

1)配置客户端

[[email protected]]## vim  /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf

Server=192.168.1.63 #指定谁是zabbix server

ServerActive=127.0.0.1 #指的是开启主动检查模式

Hostname=xuegod64.cn

UnsafeUserParameters=1

参数说明:

Server=192.168.1.63#zabbix server的ip地址或主机名,可同时列出多个,需要用逗号隔开

ServerActive=127.0.0.1#开启主动检查

2)启动服务

[root@xuegod64 zabbix-2.0.8]# /etc/init.d/zabbix_agentd start

[root@xuegod64 zabbix-2.0.8]# netstat -antup | grep 10050

tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      12504/zabbix_agentd

3)测试:zabbix服务端与客户端通信

[root@xuegod63 etc]# /usr/local/zabbix-2.0.8/bin/zabbix_get -s 192.168.1.64 -p10050 -k"net.if.in[eth0,bytes]"

15986311#可以得到网卡信息说明客户端与服务端可以正常通信。

4)创建服务管理脚本

[[email protected]]# cp /root/zabbix-2.0.8/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

5)修改程序家目录

[[email protected]]# vim /etc/init.d/zabbix_agentd

[email protected]]# chmod  +x /etc/init.d/zabbix_agentd

[[email protected]]#chkconfig --add zabbix_agentd

[[email protected]]#chkconfig zabbix_agentd on

6)修改客户端xuegod63.cn配置文件 

[[email protected]]# vim  /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf

[root@xuegod63etc]# grep ^[^#] /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf#修改以下红色内容

Server=192.168.1.63 #可以写成127.0.0.1的

7)启动服务

[[email protected]]# /etc/init.d/zabbix_agentd start

[[email protected]]# netstat -antup | grep 10050

WEB界面搭建监控服务器运行状态

1:添加被监控信息

<a href="http://s5.51cto.com/wyfs02/M01/89/23/wKiom1gIoQby6WVmAABaIxqJpxI203.png-wh_500x0-wm_3-wmp_4-s_914379944.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M01/89/20/wKioL1gIoQajVWGIAADllNaNiOk291.png-wh_500x0-wm_3-wmp_4-s_197008907.png" target="_blank"></a>

<a href="http://s5.51cto.com/wyfs02/M02/89/23/wKiom1gIoQai-MS4AAD6O759IWY509.png-wh_500x0-wm_3-wmp_4-s_2770753427.png" target="_blank"></a>

#这个时候显示受监控了,但是监控中心还不知道监控着什么,因此显示灰色。

2:通过Zabbix内建模版的方法来监控CPU,内存,交换分区,磁盘空间等系统信息。登录WEB界面中选择内置模板Template OS LinuxConfiguration -Templates 

<a href="http://s4.51cto.com/wyfs02/M02/89/20/wKioL1gIoRqRN5HiAAGjICi9XhU921.png-wh_500x0-wm_3-wmp_4-s_693943352.png" target="_blank"></a>

<a href="http://s4.51cto.com/wyfs02/M01/89/20/wKioL1gIoRrxnaTpAACf0rVPku4405.png-wh_500x0-wm_3-wmp_4-s_198445929.png" target="_blank"></a>

3:在Host列表中,可以看到xuegod64.cn已经处于绿色的被监控状态了Configuration -Hosts

4:以图形图像的形式显示被监控信息

监控如下

1)监控CPU:

2)监控磁盘空间,Disk space usage磁盘使用空间

<a href="http://s4.51cto.com/wyfs02/M02/89/20/wKioL1gIoTOCZ5chAADkV0gfvUg789.png-wh_500x0-wm_3-wmp_4-s_1210827606.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/89/23/wKiom1gIoTTzMC-uAADb45kGWIg874.png-wh_500x0-wm_3-wmp_4-s_2657313411.png" target="_blank"></a>

5:监控网络流量的图表:network traffic eth0  #这里要修改成英文的,才能查看到

注:默认的自动发现配置为每个小时执行一次,因此在没有修改配置的情况下需要1个小时以后才能看到这些图表。修改发现时间:(手动修改可以通过Configuration -Hosts -xuegod64.cn-Discovery rules中修改对应的Interval的值)

手动修改步骤如下

<a href="http://s2.51cto.com/wyfs02/M00/89/20/wKioL1gIoU3xxT0OAACiJUu3QPc929.png-wh_500x0-wm_3-wmp_4-s_1943826896.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/89/23/wKiom1gIoU6jbWnaAABnJuKvVTw592.png-wh_500x0-wm_3-wmp_4-s_1290786644.png" target="_blank"></a>

<a href="http://s2.51cto.com/wyfs02/M01/89/20/wKioL1gIoU7gwflGAACeuq_lCko738.png-wh_500x0-wm_3-wmp_4-s_2257256111.png" target="_blank"></a>

#再次查看,发现已经有数据了

6:设置Trigger触发器,指定各个监控项的阈值

<a href="http://s1.51cto.com/wyfs02/M02/89/23/wKiom1gIoV6xd93iAAB69Z66Mqo722.png-wh_500x0-wm_3-wmp_4-s_4208386690.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M02/89/20/wKioL1gIoWLgAbXXAAk0Ce0dq1M100.png-wh_500x0-wm_3-wmp_4-s_133128776.png" target="_blank"></a>

#默认已经有了不少的Trigger,比如磁盘的报警阈值就设置为了20%

7:手动修改磁盘的报警阈值为10%Template -Template OS Linux

<a href="http://s1.51cto.com/wyfs02/M00/89/20/wKioL1gIoYeD0ZhYAAD7b196a_k955.png-wh_500x0-wm_3-wmp_4-s_1411502330.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/23/wKiom1gIoYigV5akAABW-gCKirE540.png-wh_500x0-wm_3-wmp_4-s_1008686036.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/20/wKioL1gIoYixGKMXAABOCLSBdvY803.png-wh_500x0-wm_3-wmp_4-s_4152378267.png" target="_blank"></a>

<a href="http://s1.51cto.com/wyfs02/M01/89/23/wKiom1gIoYjjre3eAACIM29mTRg990.png-wh_500x0-wm_3-wmp_4-s_4215628205.png" target="_blank"></a>

改为:

等待Discovery rules更新过后,可以看到阈值已经更新为了10%

8:使用内存的报警阈,将默认的&lt;20M ,改为小&lt;100MTemplate -Template OS Linux -Triggers -Lack of available memory on server{HOST.NAME}

<a href="http://s3.51cto.com/wyfs02/M02/89/23/wKiom1gIoaqxmfPdAACzT8SLzYs477.png-wh_500x0-wm_3-wmp_4-s_2853100206.png" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/89/20/wKioL1gIoavDNbDtAACLK7l9in8479.png-wh_500x0-wm_3-wmp_4-s_1774842251.png" target="_blank"></a>

点击save后,查看:

总结:

Zabbix的配置参数主要都是通过Template来统一管理的,所以就需要到Template中进行修改,完成后会自动更新到所引用的Hosts。

自定义各个监控项的绘图格式和颜色等Template -Template OS Linux -Graphs -CPU 

本文转自 于学康 51CTO博客,原文链接:http://blog.51cto.com/blxueyuan/1864009,如需转载请自行联系原作者