首页 > 代码库 > 使用zabbix监控服务器运行状态-
使用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,你将看到前端安装向导的第一个画面。
将下载文档上传并拷贝到html中
[root@xuegod63 ~]# cp zabbix.conf.php /server/nginx-1.2.8/html/zabbix/conf
接着,就可以登录到Zabbix系统的主界面。默认用户名:admin 密码是:zabbix
修改显示语言为中文:
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
***********************************************************
* Now run ‘make install‘ *
* *
* Thank youfor using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
[root@xuegod64 zabbix-2.0.8]#make install
查看安装后,生成的文件:
[root@xuegod64 zabbix-2.0.8]# cd /usr/local/zabbix-2.0.8/
[root@xuegod64zabbix-2.0.8]# ls
bin etc sbin share
主配置文件:
[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)配置客户端
[root@xuegod64zabbix-2.0.8]## vim /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf
LogFile=/var/log/zabbix_agentd.log
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)创建服务管理脚本
[root@xuegod63zabbix-2.0.8]# cp /root/zabbix-2.0.8/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
5)修改程序家目录
[root@xuegod63zabbix-2.0.8]# vim /etc/init.d/zabbix_agentd
改:BASEDIR=/usr/local
为:BASEDIR=/usr/local/zabbix-2.0.8
root@xuegod63zabbix-2.0.8]# chmod +x /etc/init.d/zabbix_agentd
[root@xuegod63zabbix-2.0.8]#chkconfig --add zabbix_agentd
[root@xuegod63zabbix-2.0.8]#chkconfig zabbix_agentd on
6)修改客户端xuegod63.cn配置文件
[root@xuegod63zabbix-2.0.8]# vim /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf
[root@xuegod63etc]# grep ^[^#] /usr/local/zabbix-2.0.8/etc/zabbix_agentd.conf#修改以下红色内容
LogFile=/var/log/zabbix_agentd.log
Server=192.168.1.63 #可以写成127.0.0.1的
ServerActive=127.0.0.1
Hostname=Zabbix server
UnsafeUserParameters=1
7)启动服务
[root@xuegod63zabbix-2.0.8]# /etc/init.d/zabbix_agentd start
[root@xuegod63zabbix-2.0.8]# netstat -antup | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 12504/zabbix_agentd
WEB界面搭建监控服务器运行状态
1:添加被监控信息
#这个时候显示受监控了,但是监控中心还不知道监控着什么,因此显示灰色。
2:通过Zabbix内建模版的方法来监控CPU,内存,交换分区,磁盘空间等系统信息。登录WEB界面中选择内置模板Template OS LinuxConfiguration -Templates
3:在Host列表中,可以看到xuegod64.cn已经处于绿色的被监控状态了Configuration -Hosts
4:以图形图像的形式显示被监控信息
监控如下
1)监控CPU:
2)监控磁盘空间,Disk space usage磁盘使用空间
5:监控网络流量的图表:network traffic eth0 #这里要修改成英文的,才能查看到
注:默认的自动发现配置为每个小时执行一次,因此在没有修改配置的情况下需要1个小时以后才能看到这些图表。修改发现时间:(手动修改可以通过Configuration -Hosts -xuegod64.cn-Discovery rules中修改对应的Interval的值)
手动修改步骤如下
#再次查看,发现已经有数据了
6:设置Trigger触发器,指定各个监控项的阈值
#默认已经有了不少的Trigger,比如磁盘的报警阈值就设置为了20%
7:手动修改磁盘的报警阈值为10%Template -Template OS Linux
改为:
等待Discovery rules更新过后,可以看到阈值已经更新为了10%
8:使用内存的报警阈,将默认的<20M ,改为小<100MTemplate -Template OS Linux -Triggers -Lack of available memory on server{HOST.NAME}
点击save后,查看:
总结:
Zabbix的配置参数主要都是通过Template来统一管理的,所以就需要到Template中进行修改,完成后会自动更新到所引用的Hosts。
自定义各个监控项的绘图格式和颜色等Template -Template OS Linux -Graphs -CPU
本文出自 “末班车” 博客,请务必保留此出处http://blxueyuan.blog.51cto.com/9673381/1864009
使用zabbix监控服务器运行状态-