zabbix监控

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix监控相关的知识,希望对你有一定的参考价值。

1)安装LAMP环境

Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用mysql来存储数据,因此需要先为Zabbix准备基础LAMP环境。

copytextpop-up
  1. [[email protected] ~]# yum -y install gcc gcc-c++ autoconf httpd \

  2. >php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl \

  3. >mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc \

  4. >mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel crul-devel

  5. [[email protected] ~]# rpm -vih php-bcmath-5.3.3-22.el6.x86_64.rpm

  6. [[email protected] ~]# rpm -vih php-mbstring-5.3.3-22.el6.x86_64.rpm

[[email protected] ~]# yum -y install gcc gcc-c++ autoconf httpd >php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl >mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc >mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel crul-devel
[[email protected] ~]# rpm -vih php-bcmath-5.3.3-22.el6.x86_64.rpm
[[email protected] ~]# rpm -vih php-mbstring-5.3.3-22.el6.x86_64.rpm

2)修改PHP配置文件

通过修改php.ini配置文件设置时区、内存限制等来满足Zabbix运行的需要。

copytextpop-up
  1. [[email protected] ~]# vim /etc/php.ini

  2. date.timezone = Asia/Shanghai        //设置时区

  3. max_execution_time = 300            //最大执行时间,秒

  4. post_max_size = 32M                //POST数据最大容量

  5. max_input_time = 300                //服务器接收数据的时间限制

  6. memory_limit = 128M                //PHP内存占用的容量限制

  7. mbstring.func_overload = 2

[[email protected] ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai		//设置时区
max_execution_time = 300			//最大执行时间,秒
post_max_size = 32M				//POST数据最大容量
max_input_time = 300				//服务器接收数据的时间限制
memory_limit = 128M				//PHP内存占用的容量限制
mbstring.func_overload = 2

3)源码安装Zabbix

源码安装时,因为是监控服务器,所以使用--enable-server;因为需要使用Zabbix监控本机,所以使用--enable-agent作为被监控主机。

copytextpop-up
  1. [[email protected] ~]# useradd -201 zabbix                    //创建普通账户

  2. [[email protected] ~]# ls

  3. frontend.po

  4. php-bcmath-5.3.3-22.el6.x86_64.rpm

  5. php-mbstring-5.3.3-22.el6.x86_64.rpm

  6. zabbix-2.2.1.tar.gz

  7. [[email protected] ~]tar zabbix-2.2.1.tar.gz -/usr/src

  8. [[email protected] ~]# cd /usr/src/zabbix-2.2.1/

  9. [[email protected]zabbixserver zabbix-2.2.1]./configure \                    //编译Zabbix

  10. >--prefix=/usr/local/zabbix --enable-server --enable-proxy \

  11. >--enable-agent --with-mysql=/usr/bin/mysql_config \

  12. > --with-net-snmp --with-libcurl

  13. [[email protected]zabbixserver zabbix-2.2.1]# make && make install

[[email protected] ~]# useradd  -u 201 zabbix					//创建普通账户
[[email protected] ~]# ls
frontend.po
php-bcmath-5.3.3-22.el6.x86_64.rpm
php-mbstring-5.3.3-22.el6.x86_64.rpm
zabbix-2.2.1.tar.gz
[[email protected] ~]# tar  zabbix-2.2.1.tar.gz -C /usr/src
[[email protected] ~]# cd /usr/src/zabbix-2.2.1/
[[email protected] zabbix-2.2.1]# ./configure \					//编译Zabbix
>--prefix=/usr/local/zabbix --enable-server --enable-proxy >--enable-agent --with-mysql=/usr/bin/mysql_config > --with-net-snmp --with-libcurl
[[email protected] zabbix-2.2.1]# make && make install

4)创建数据库并导入数据

Zabbix会将获取的监控数据存储在数据库中,可以使用MySQL或Oracle数据库存储,本案例中我们选择MySQL数据库存储监控数据。

copytextpop-up
  1. [[email protected] ~]# mysql

  2. mysql> create database zabbix character set utf8;

  3. mysql> grant all on zabbix.* to [email protected] identified by ‘zabbix’;

  4. [[email protected] ~]# cd /usr/src/zabbix.2.2.1/database/mysql

  5. [[email protected]zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql

  6. [[email protected]zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql

  7. [[email protected]zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

[[email protected] ~]# mysql
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to [email protected] identified by ‘zabbix’;
[[email protected] ~]# cd /usr/src/zabbix.2.2.1/database/mysql
[[email protected] mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[[email protected] mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[[email protected] mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

5)创建连接并将Zabbix加入系统服务

Zabbix安装路径为/usr/local/zabbix,为了更方便进行操作,需要创建相关链接文件。复制软件包中提供的启动脚本到/etc/init.d目录,适当修改脚本内容,即可实现开机启动服务。

copytextpop-up
  1. [[email protected] ~]# mkdir /var/log/zabbix

  2. [[email protected] ~]chown zabbix.zabbix /var/log/zabbix

  3. [[email protected] ~]# ln -/usr/local/zabbix/etc /etc/zabbix

  4. [[email protected] ~]# ln -/usr/local/zabbix/bin/* /usr/bin/

  5. [[email protected] ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/

  6. [[email protected] ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core

  7. [[email protected] core]# cp zabbix_* /etc/init.d/            //复制启动脚本

  8. [[email protected] core]# vim /etc/init.d/zabbix_server        //修改启动脚本

  9. BASEDIR=/usr/local/zabbix

  10. [[email protected] core]# vim /etc/init.d/zabbix_agentd        //修改启动脚本

  11. BASEDIR=/usr/local/zabbix

  12. [[email protected] ~]# vim /etc/services                    //修改服务端口信息

  13. zabbix-agent    10050/tcp        #Zabbix Agent

  14. zabbix-agent    10050/udp        #Zabbix Agent

  15. zabbix-server    10051/tcp        #Zabbix Trapper

  16. zabbix-server    10051/udp        #Zabbix Trapper

[[email protected] ~]# mkdir /var/log/zabbix
[[email protected] ~]# chown zabbix.zabbix /var/log/zabbix
[[email protected] ~]# ln -s /usr/local/zabbix/etc  /etc/zabbix
[[email protected] ~]# ln -s /usr/local/zabbix/bin/* /usr/bin/
[[email protected] ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/
[[email protected] ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core
[[email protected] core]# cp zabbix_* /etc/init.d/			//复制启动脚本
[[email protected] core]# vim /etc/init.d/zabbix_server		//修改启动脚本
BASEDIR=/usr/local/zabbix
[[email protected] core]# vim /etc/init.d/zabbix_agentd		//修改启动脚本
BASEDIR=/usr/local/zabbix
[[email protected] ~]# vim  /etc/services					//修改服务端口信息
zabbix-agent	10050/tcp		#Zabbix Agent
zabbix-agent	10050/udp		#Zabbix Agent
zabbix-server	10051/tcp		#Zabbix Trapper
zabbix-server	10051/udp		#Zabbix Trapper

6)修改Zabbix配置文件

本机作为监控服务器同时作为被监控端,需要同时修改zabbix_server.conf和zabbix_agentd.conf文件。

copytextpop-up
  1. [[email protected] ~]# vim /etc/zabbix/zabbix_server.conf

  2. DBName=zabbix                                    //设置数据库名称

  3. DBUser=zabbix                                    //设置数据库账户

  4. DBPassword=zabbix                                //设置数据库密码

  5. LogFile=/var/log/zabbix/zabbix_server.log        //设置日志

  6. [[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf

  7. Server=127.0.0.1,192.168.194.10                //设置监控服务器IP

  8. ServerActive=192.168.194.10:10051                //主动监控服务器IP

  9. Hostname=zabbixserver.tarena.com                //设置主机名

  10. LogFile=/var/log/zabbix/zabbix_server.log        //设置日志

  11. UnsafeUserParemeters=1                        //是否允许自定义key

[[email protected] ~]# vim /etc/zabbix/zabbix_server.conf
DBName=zabbix									//设置数据库名称
DBUser=zabbix									//设置数据库账户
DBPassword=zabbix								//设置数据库密码
LogFile=/var/log/zabbix/zabbix_server.log		//设置日志
[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,192.168.194.10				//设置监控服务器IP
ServerActive=192.168.194.10:10051				//主动监控服务器IP
Hostname=zabbixserver.tarena.com				//设置主机名
LogFile=/var/log/zabbix/zabbix_server.log		//设置日志
UnsafeUserParemeters=1						//是否允许自定义key

7)复制Web页面,启动Zabbix服务

copytextpop-up
  1. [[email protected] ~]# cd /usr/src/zabblix-2.2.1

  2. [[email protected]zabbixserver zabbix-2.2.1]# cp -r frontends/php /var/www/html/zabbix

  3. [[email protected] ~]# chwon -R apache.apache /var/www/html/zabbix

  4. [[email protected] ~]service zabbix_server start

  5. Starting zabbix_server                    [OK]

  6. [[email protected] ~]chkconfig zabbix_server on

  7. [[email protected] ~]service zabbix_agentd start

  8. Starting zabbix_agentd                [OK]

  9. [[email protected] ~]chkcofig zabbix_agentd on

[[email protected] ~]# cd  /usr/src/zabblix-2.2.1
[[email protected] zabbix-2.2.1]# cp -r  frontends/php  /var/www/html/zabbix
[[email protected] ~]# chwon -R apache.apache /var/www/html/zabbix
[[email protected] ~]# service zabbix_server start
Starting zabbix_server					[OK]
[[email protected] ~]# chkconfig zabbix_server on
[[email protected] ~]# service zabbix_agentd start
Starting zabbix_agentd				[OK]
[[email protected] ~]# chkcofig zabbix_agentd on

8)登录Web管理页面,初始化管理平台

首次使用Zabbix管理平台,需要进行简单的初始化操作,主要是MySQL数据库设置,如图-2所示,Web管理页面默认初始账户admin,密码为zabbix。

技术分享

图-2

步骤二:部署被监控主机

1)源码安装Zabbix Agent

被监控端主机安装Zabbix仅需要开启Agent模式即可,不需要使用Zabbix服务器模式。

copytextpop-up
  1. [[email protected] ~]# useradd -201 zabbix                    //创建账户

  2. [[email protected] ~]# yum -y install gcc gcc-c++

  3. [[email protected] ~]tar zabbix-2.2.1.tar.gz -/usr/src        //解压

  4. [[email protected] ~]# cd /usr/src/zabbix-2.2.1/

  5. [[email protected]zabbixserver zabbix-2.2.1]./configure \                    //参数配置

  6. >--prefix=/usr/local/zabbix --enable-agent

  7. [[email protected]zabbixserver zabbix-2.2.1]# make && make install

[[email protected] ~]# useradd -u 201 zabbix					//创建账户
[[email protected] ~]# yum -y install gcc gcc-c++
[[email protected] ~]# tar  zabbix-2.2.1.tar.gz -C /usr/src		//解压
[[email protected] ~]# cd /usr/src/zabbix-2.2.1/
[[email protected] zabbix-2.2.1]# ./configure \					//参数配置
>--prefix=/usr/local/zabbix --enable-agent
[[email protected] zabbix-2.2.1]# make && make install

2)创建目录及链接文件

copytextpop-up
  1. [[email protected] ~]# mkdir /var/log/zabbix

  2. [[email protected] ~]chown zabbix.zabbix /var/log/zabbix/

  3. [[email protected] ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core/

  4. [[email protected]zabbixclient core]# zabbix_agentd /etc/init.d/

  5. [[email protected] ~]# chmod 755 /etc/init.d/zabbix_agentd

  6. [[email protected] ~]# ln -/usr/local/zabbix/etc /etc/zabbix

  7. [[email protected] ~]# ln -/usr/local/zabbix/bin/* /usr/bin/

  8. [[email protected] ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/

  9. [[email protected] ~]# tail -4 /etc/services

  10. zabbix-agent    10050/tcp        # Zabbix Agent

  11. zabbix-agent    10050/udp        # Zabbix Agent

  12. zabbix-trapper    10051/tcp        # Zabbix Trapper

  13. zabbix-trapper    10051/udp        # Zabbix Trapper

[[email protected] ~]# mkdir /var/log/zabbix
[[email protected] ~]# chown zabbix.zabbix /var/log/zabbix/
[[email protected] ~]# cd /usr/src/zabbix-2.2.1/misc/init.d/fedora/core/
[[email protected] core]# zabbix_agentd /etc/init.d/
[[email protected] ~]# chmod 755 /etc/init.d/zabbix_agentd
[[email protected] ~]# ln -s /usr/local/zabbix/etc  /etc/zabbix
[[email protected] ~]# ln -s /usr/local/zabbix/bin/* /usr/bin/
[[email protected] ~]# ln -s /usr/local/zabbix/sbin/* /usr/sbin/
[[email protected] ~]# tail -4 /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

3)修改配置文件,启动Agent

copytextpop-up
  1. [[email protected] ~]# cd /etc/zabbix/

  2. [[email protected] ~]vim zabbix_agentd.conf

  3. [[email protected] ~]# grep -Ev ‘^$|^#‘ zabbix_agentd.conf

  4. LogFile=/var/log/zabbix/zabbix_agentd.log

  5. Server=127.0.0.1,192.168.194.10                //监控服务器IP

  6. ServerActive=192.168.194.10:10051                //主动监控服务器IP

  7. Hostname=zabbixclient

  8. UnsafeUserParameters=1                        //是否允许自定义key

  9. [[email protected] ~]chkconfig zabbix_agentd on

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

  11. BASEDIR=/usr/local/zabbix

  12. [[email protected] ~]service zabbix_agentd start

[[email protected] ~]# cd /etc/zabbix/
[[email protected] ~]# vim zabbix_agentd.conf
[[email protected] ~]# grep -Ev ‘^$|^#‘ zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1,192.168.194.10				//监控服务器IP
ServerActive=192.168.194.10:10051				//主动监控服务器IP
Hostname=zabbixclient
UnsafeUserParameters=1						//是否允许自定义key
[[email protected] ~]# chkconfig zabbix_agentd on
[[email protected] ~]# vim /etc/init.d/zabbix_agentd 
BASEDIR=/usr/local/zabbix
[[email protected] ~]# service zabbix_agentd start

2 使用Zabbix监控Linux服务

通过Zabbix监控平台,添加被监控主机并链接监控模板即可。

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:添加监控主机

技术分享

添加被监控主机时,需要根据提示输入被监控Linux主机的主机名称、IP地址等参数,具体参考图-4。

技术分享

图-4

步骤二:为被监控主机添加监控模板

Zabbix通过监控模板来对监控对象实施具体的监控功能,根据模板来定义需要监控哪些数据,对于Linux服务器的监控,Zabbix已经内置了相关的模板(Template OS Linux),选择模板并链接到主机即可,

技术分享

步骤三:查看监控数据

查看监控数据及图形,登录Zabbix Web控制台,点击监控中,在监控组和监控主机中选择需要查看数据的监控主机,并在图形后面选择需要查看哪些监控数据,如图-6所示。

技术分享

3 创建自定义监控

3.1 问题

沿用练习二,使用Zabbix实现自定义监控,实现以下目标:

  • 监控Linux服务器系统账户的数量

3.2 方案

需要使用Zabbix自定义key的方式实现自定义监控,参考如下操作步骤:

  1. 创建自定义key

  2. 创建监控项目

  3. 创建监控图形

  4. 将监控模板关联到主机

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:被监控主机创建自定义key

1)创建自定义key

自定义key语法格式为:UserParameter=自定义key名称,命令。

自定义的key文件一般存储在//etc/zabbix/zabbix_agentd.conf.d/目录,这里还需要修改zabbix_agentd.conf文件,来读取该目录下的所有文件 。

copytextpop-up


  1. [[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf

  2. Include=/etc/zabbix/zabbix_agentd.conf.d/        //加载配置文件目录

  3. [[email protected] ~]# cd /etc/zabbix/zabbix_agentd.conf.d

  4. [[email protected]zabbixclient zabbix_agentd.conf.d]vim count.line.passwd

  5. UserParameter=count.line.passwd,wc -/etc/passwd | awk ‘ {print $1} ‘

[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf
Include=/etc/zabbix/zabbix_agentd.conf.d/		//加载配置文件目录
[[email protected] ~]# cd /etc/zabbix/zabbix_agentd.conf.d
[[email protected] zabbix_agentd.conf.d]# vim count.line.passwd
UserParameter=count.line.passwd,wc -l /etc/passwd | awk ‘ {print $1} ‘

2)测试自定义key是否正常工作

copytextpop-up
  1. [[email protected] ~]service zabbix_agentd restart

  2. [[email protected] ~]# zabbix_get -127.0.0.1 -k count.line.passwd

  3. 34

[[email protected] ~]# service zabbix_agentd restart
[[email protected] ~]# zabbix_get -s 127.0.0.1 -k count.line.passwd
34

步骤二:设置Zabbix监控控制台

1)添加模板

登录Zabbix Web监控控制台,通过Configuration-->Template-->Create template创建模板,如图-7所示。

技术分享

图-7

为创建的模板设置模板名称及组名称,如图-8所示。

技术分享

图-8

2)创建应用

创建完成模板后,默认模板中没有任何应用、项目、触发器、图形等资源。这里需要点击模板后面的Application链接打开创建应用的页面,如图-9所示。

技术分享

图-9

点击Application后,会刷新出图-10所示页面,在该页面中点击Create application按钮创建应用。

技术分享

图-10

设置应用名称如图-11所示。

技术分享

图-11

3)创建项目

与创建应用一样,在模板中还需要创建监控项目,如图-12所示,并在刷新出的新页面中选择Create items创建项目,如图-13所示。

技术分享

图-12

技术分享

图-13

接下来,还需要给项目设置名称及对应的自定义key,如图-14所示。

技术分享

图-14

最后激活该监控项目,如图-15所示。

技术分享

图-15

4)创建图形

为了后期可以通过图形的方式展示监控数据,还需要在模板中创建图形,设置方法与前面的步骤一致,如图-16所示。

技术分享

图-16

创建图形后,还需要为图形设置名称及选择对应的监控项目,选择为哪个项目绘制图形,如图-17所示。

技术分享

图-17

5)将模板链接到被监控主机

将完整的监控模板制作完成后,就可以将模板链接到主机实现监控功能了。首先找到被监控主机,如图-18所示。

技术分享

图-18

点击被监控主机链接,打开监控主机设置页面,在Template(模板)页面中选择需要链接到该主机的模板,在此选择刚刚创建的模板count_line.passwd添加即可,如图-19所示。

技术分享


以上是关于zabbix监控的主要内容,如果未能解决你的问题,请参考以下文章

zabbix使用zabbix_java_gateway 监控java应用进程

zabbix使用zabbix-java-gateway监控jvm/tomcat性能

日志文件报警监控脚本(可用于zabbix监控文件)测试中...

使用 zabbix 自动发现监控 MySQL

为主机添加zabbix监控

使用Zabbix+Grafana监控