zabbix配置详解---为新手入门而写

       因为本人就是做监控的,平常使用nagios、cacti、zabbix 虽然觉得nagios轻便灵活,但是图形界面实在是一大硬伤。本人觉得未来发展趋势肯定zabbix。虽然nagios不会被淘汰,但是应用肯定会比zabbix少。本人度娘了一下zabbix。看大家写的都不是特别详细。对新手来说比较难理解。

献丑搭建了zabbxi。希望对新手有帮助。如果本人有不对的地方,希望大家指正。


Zabbix 详解



系统环境:CentOS 6.5

安装运行环境(LAMP

通过web页面查看和配置监控信息

yum -y install httpd;service httpd start;chkconfig httpd on

使用mysql存储配置信息,web页面文件使用php语言编写

Yum -y install mysql-server mysql php php-mysql

Service mysqld start;chkconfig mysqld on

 

给数据库设置密码

mysqladmin -u root password "123"

 

安装zabbix软件

安装编译安装工具和开发工具

rpm -q gcc gcc-c++ make

yum -y install gcc gcc-c++ make

yum -y groupinstall "Development tools"

 

获取zabbix安装包

wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist"

解包

tar zxvf zabbix-2.2.2.tar.gz

 

安装

./configure --prefix=/usr/local/zabbix  指定安装目录

--enable-server  安装zabbix服务

--enable-proxy  安装zabbix代理

--enable-agent 安装zabbix agent

--with-mysql   使用mysql做数据库服务

--with-net-snmp  支持snmp

 --with-libcurl   支持curl,用于web监控

 

 

安装时候的第一个报错信息,数据库的头文件没有安装,

configure: error: Not found mysqlclient library

解决方案:yum -y install mysql-devel

 

第二个报错信息配置:错误:无效的net-snmp目录无法找到网络SNMP配置

configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config

解决方案:yum install net-snmp-devel,再重新配置

 

第三个报错:configure: error: Curl library not found

解决方案:yum -y install libcurl-devel

 

安装完成

 

 

编译安装;make && make install

没有报错就是OK

 

 

zabbix提供的网页文件拷贝到网站服务目录下

cp -R /opt/zabbix-2.2.2/frontends/php/ /var/www/html/zabbix

ls /var/www/html/zabbix/

 

web页面安装zabbix

http://IP/zabbix

1. Welcome

第一步欢迎,我们直接忽略,下一步

 

 

2. Check of pre-requisites

红色的部分就是报错信息。现在开始排错

 

 

这四项配置要在php主配置文件里修改

 

vim /etc/php.ini

按顺序修改分别如下

PHP option post_max_size


 

PHP option max_execution_time

 

PHP option max_input_time

 

 

PHP time zone

这一项比较复杂,意思就是配置文件里的时区要跟本地时区一致

首先查看本地时区

cat /etc/sysconfig/clock

 

 

vim /etc/php.ini

原配置行是注释行,咱们另起一行把查到的本机时区修改进去

 

重启一下web ,刷新一下网页看看刚才修改的项是否还标红

 

显示OK就可以了

 

还有这几个报错,我们继续修改

 


报错信息:PHP bcmath

          解决方案:yum -y install php-bcmath

报错信息:PHP mbstring

          解决方案:yum -y install php-mbstring

报错信息:PHP gd

          PHP gd PNG support

          PHP gd JPEG support

          PHP gd FreeType support

          解决方案:yum -y install php-gd

报错信息:PHP xmlwriter

          PHP xmlreader

          解决方案:yum -y install php-xml

 全部OK了,接着下一步。

 

 3. Configure DB connection

 

Database typeMySQL   //数据库类型,我们用的MySQL

Database hostlocalhost  //数据库地址,填本机就行了

Database port3306      //数据库端口

Database namezabbixdb   //存放zabbix配置的库(需要重新创建)

Userzabbixuser          //访问数据库的用户

Passwordzabbixuser    //访问数据库的密码

 

 

光填进去了也不行啊,还得去创建数据库的zabbixdb这个库,并授权给zabbixuser用户

进入mysql创建zabbixdb

mysql -uroot -p123

 

查看一下mysql是怎么建的,因为要支持中文,命令我忘记了,所以就看一个格式,

创建,授权

 

 

把存储配置信息的表恢复到创建的zabbixdb库里,一定要按顺序导入:架构--镜像--数据

cd /opt/zabbix-2.2.2/database/mysql/

 mysql -uzabbixuser -pzabbixuser zabbixdb < schema.sql

mysql -uzabbixuser -pzabbixuser zabbixdb < images.sql

mysql -uzabbixuser -pzabbixuser zabbixdb < data.sql

 

点击:Test-connection 测试 OK即可。下一步

 

4. Zabbix server details

 

 

Hostlocalhost   \\zabbix服务的主机

Port10051       \\ zabbix服务的端口号

Namezabbix-server \\ zabbix的服务名 (自己随便起)

 

5. Pre-Installation summary

检查前面的配置,直接略过

 

6. Install

报错了!意思大概就是网页目录下这个文件没有创建。我想了又想,他妈的apache居然没有zabbix目录的配置写入权限。低级错误!!谨记谨记!!

          Configuration file
"/var/www/html/zabbix/conf/zabbix.conf.php"
          created: Fail

 

 

没有权限咱们就给他递归一个

chown -R apache:apache /var/www/html/zabbix

 

这下OK了,顺便检查一下那个配置文件有没有

 

 

 

vim  /var/www/html/zabbix/conf/zabbix.conf.php


 

看看吧。刚才在web下的配置全写进去了,大功告成

 

点击完成立马弹出个登录页面,默认的登录账号:admin密码:zabbix

 

 

 

报错了,因为我们还没有启服务。

 

 

 

下面我们启动监控服务

把启动脚本复制到/etc/init.d下。加执行权限

cd /opt/zabbix-2.2.2/misc/init.d/fedora/core/

cp zabbix_* /etc/init.d/

chmod +x /etc/init.d/zabbix_*

 

把这两项加入开机自启动

chkconfig --add zabbix_agentd  //被监控端要运行的服务

chkconfig --add zabbix_server  //监控服务器要运行的服务

chkconfig --level 35 zabbix_agentd on

chkconfig --level 35 zabbix_server on

 

 

启动脚本报错了。所以我们要指定一下安装目录

 

修改配置

vim /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix

 

再重启一下,报错。

 

创建zabbix用户。

useradd zabbix

然后再重启,成功。

 

现在我们看看端口号(10051)有没有启,进程存不存在。

netstat -antup | grep :10051

ps aux | grep zabbix

我们看到,端口号没有起来,但是进程却存在

 

需要修改一下安装目录下的主配置文件

vim /usr/local/zabbix/etc/zabbix_server.conf

 

 

再重启服务,查看端口号存在了。

 

 

现在我们重新再web页面登录,看到报错消失了。但是看到全英文的就一脸懵逼,那就改成中文的。点击右上角倒数第二个选项Profile

 

改成中文,然后save保存就行了

 



中文了吧。


到目前为止,整个服务差不多就Ok了。下面我们做一些基本功能

【自己监控自己】

修改脚本文件,指定程序安装目录,指定agent安装目录

vim /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix

 

vim /usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1  指定允许谁访问自己

ServerActive=127.0.0.1:10051  监控端IP和端口号

 

 

启动zabbix_agentd服务,并查看进程和端口号

 

登录监控页面,查看监控信息

http://IP/zabbix admin/zabbix

组态---主机---启动主机

 

这个位置变成绿色,证明zabbix已经在监测中

 

查看监控本机的信息

检测中---最新数据

 

抽查其中一项,是否正确。例如:当前登录的用户数。当前监测显示为1

 

我们再登录一个shell

 

当前登录用户数变成2

 

图形比较直观,我们点开当前登录用户数的图形

 

【监控远端服务】

一、配置被监控端

创建用户:useradd zabbix

安装编译安装工具

yum -y install gcc gcc-c++ make

安装提供zabbix_agentd进程的软件包

wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist"

 

解包:tar zxvf zabbix-2.2.2.tar.gz

配置:./configure --prefix=/usr/local/zabbix \

      --enable-agent \

      --with-net-snmp \

      --with-libcurl

 

编译:make

安装:make install

 

把启动脚本复制到/etc/init.d下。加执行权限

cd /opt/zabbix-2.2.2/misc/init.d/fedora/core/

cp zabbix_agentd /etc/init.d/

chmod +x /etc/init.d/zabbix_agentd

 

加入开机自启动

chkconfig --add zabbix_agentd  //被监控端要运行的服务

chkconfig --level 35 zabbix_agentd on

 

修改脚本文件,指定程序安装目录

vim  /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix

 

修改主配置文件:允许监控端监控自己

vim /usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1, 122.112.241.73 一个是本机,一个是监控端IP。注意:IP之间要逗号加空格隔开

ServerActive=122.112.241.73:10051 监控端IP加端口号

 

 

启动服务

 

检查进程和端口号

netstat -antup | grep :10050

ps aux | grep zabbix_agentd

 

 

二、配置监控端

Web页面访问监控服务器:http://IP/zabbix

组态---主机---创建主机

 

主机名称:server_liangmei

可见的名称:server_liangmei

群组:linux server

IP:被监控端IP

存档

 

点击新建的主机名称

 

模板---链接新模板---添加---存档

 

稍等一下,等可用性变成绿色之后,我们再去查看数据有没有生成

 

监测中---最新数据---群组---主机

 

【自定义监控项】(例:定义监控被监控端的用户数)

1、在被监控端启动自定义监控项功能(在agent主配置文件配置)

vim /usr/local/zabbix/etc/zabbix_agentd.conf

定义监控命令的配置文件目录

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

UnsafeUserParameters=1   启动自定义监控项功能

 

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 定义监控命令的配置目录

 

 

2、定义监控命令

 zabbix_agentd.conf.d这个文件里有定义监控命令的模板

 

 在指定的监控命令配置目录下定义监控命令文件.文件要以.conf结尾

vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/liangmei_user_nums.conf

UserParameter=user_nums,wc -l /etc/passwd |awk '{print $1}'

 

 

重启agentd服务

/etc/init.d/zabbix_agentd restart

在监控端测试定义的监控命令

/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k user_nums

 

在被监控端测试定义的监控命令

/usr/local/zabbix/bin/zabbix_get -s 192.168.92.20 -k user_nums

 

 

3、在被监控服务器上调用在被监控端定义的监控命令

  1)新建监控模板

组态---模板---创建模板

 

模板名称:monitor-liangmei

可见的名称:monitor-liangmei

群组:Linux server

存档

 

  2)在定义的监控模板里面创建应用集

点击新创建的模板后面的应用集

 

创建应用集

 

名称:liangmei_all_users

存档

 

  3)在创建的应用集添加项目

项目

 

创建监控项

 

名称:all_users

键值:user_nums         自定义的监控命令

应用集:liangmei_all_users

 

  4)在监控被监控的服务器时调用定义的新模板

组态---主机---server_liangmei

 

模板---链接新模板(monitor-liangmei---添加---存档

 

查看


博主提醒:分享是一种美德!共同发展才是王道!请留下你们的足迹!让我们共同进步!!



评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值