详解zabbix安装部署(Server端篇)

摘要:
Zabbix由两个部门组成:zabbixserver和可选组件zabbixagent。Zabbixserver可以通过SNMP、zabbixagent、ping、端口监控等方法监控远程服务器/网络状态。Zabbixagent需要安装在受监控的目标服务器上。它主要收集硬件信息或操作系统相关的内存、CPU等信息。授予zabbix特权*tozabbix_user@'ip'由'123456'标识;注意:ip是zabbix服务器的ip地址。

 

分类: 网络与安全

    Linux下常用的系统监控软件有NagiosCactiZabbixMonit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员。

 

 

    今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控mysql数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。

 

    首先,我们先来介绍下Zabblx

 

 

.Zabbix简介   

 

       zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
       zabbixzabbix server与可选组件zabbix agent两部门组成。
       zabbix server可以通过SNMPzabbix agentping,端口监视等方法提供对远程服务器/网络状态的监视。
       zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

 

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

 

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

官方也提供了安装资料:http://www.zabbix.com/wiki/howto/monitor

 

 

.Zabbix安装


2.1 zabbix WEB环境搭建

       zabbix的安装需要LAMP或者LNMP环境
      需要其它的软件包

 

  1. yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm


2.2 zabbix 数据库设置

 

     zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。

 

  1. grant all privileges on zabbix.* to zabbix_user@'ip' identified by '123456';


 

注:ipzabbix服务器的IP地址。

关于数据库的安装,可以查看Mysql安装,我习惯使用二进制包。

启动数据库

 

/usr/local/mysql/bin/mysqld_safe  --user=mysql &

 

登录数据库,创建帐号和设置权限:

 

  1. mysql> use mysql;
  2. mysql>create database zabbix character set utf8;
  3. mysql>grant all privileges on zabbix.* to zabbix_user@'192.168.10.197' identified by '123456';

 

 

2.3安装zabbix服务


增加zabbix用户和组

 

#groupadd zabbix
#useradd -g zabbix -m zabbix

 

官网下载解压软件包。

下载地址:

http://www.zabbix.com/download.php

#wget http://fossies.org/unix/misc/zabbix-2.0.3.tar.gz
# tar -zxvf  zabbix-2.0.3.tar.gz
#cd zabbix-2.203
导入数据库表

#cd  zabbix-2.0.3/database/mysql
#mysql -uroot -pmysql zabbix < mysql.sql
#mysql -uroot -pmysql zabbix < images.sql 
#mysql -uroot -pmysql zabbix < schema.sql


编译安装zabbix

  1. ./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy


编译报错checking for main in -lmysqlclient ... no
yum 安装mysql-devel即可
#make
#make install

添加服务端口

  1. vim /etc/services
  2. zabbix-agent 10050/tcp # Zabbix Agent
  3. zabbix-agent 10050/udp # Zabbix Agent
  4. zabbix-trapper 10051/tcp # Zabbix Trapper
  5. zabbix-trapper 10051/udp # Zabbix Trapper

添加配置文件


# mkdir -p /etc/zabbix
# cp -r zabbix-2.203/conf/* /etc/zabbix/
# chown -R zabbix:zabbix /etc/zabbix

修改server配置文件,添加zabbix数据库密码
vim /etc/zabbix/zabbix_server.conf


  1. LogFile=/tmp/zabbix_server.log
  2.  
  3. PidFile=/tmp/zabbix_server.pid
  4.  
  5. DBName=zabbix
  6.  
  7. DBUser=zabbix_user
  8.  
  9. DBPassword=123456     #指定zabbix数据库密码
  10.  
  11. ListenIP=192.168.10.197    #服务器IP地址


修改Agentd配置文件,更改HOSTNAME为本机的hostname
vim /etc/zabbix/zabbix_agentd.conf

 

  1. PidFile=/tmp/zabbix_agentd.pid #进程PID
  2.  
  3. LogFile=/tmp/zabbix_agentd.log #日志保存位置
  4.  
  5. EnableRemoteCommands=1 #允许执行远程命令
  6.  
  7. Server=192.168.10.197 #agent端的ip
  8.  
  9. Hostname=client1 #必须与zabbix创建的host name相同

如图设置hostname
详解zabbix安装部署(Server端篇)第1张

 

添加web前段php文件
# cd zabbix-2.203/frontends/
# cp -rf php /home/httpd/zabbix   #虚拟主机目录
# chown -R zabbix:zabbix zabbix

web前端安装配置
修改PHP相关参数
vim php.ini

  1. max_execution_time = 300
  2. max_input_time = 300
  3. memory_limit = 128M
  4. post_max_size = 32M
  5. date.timezone = Asia/Shanghai
  6. mbstring.func_overload=2


PHP还必须支持一下模块,在php源码包直接编译安装。详细模块需要在安装是会提示。

bcmath.sogettext.so

 

    在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ZabbixIP/zabbix,按提示点击下一步

  Step1:下一步。

    Step2:如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。

 

    Step3需要输入mysql数据库帐号密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权

 

详解zabbix安装部署(Server端篇)第2张

 

    Step4输入服务器端 host name or host IP addres

 

最后会自动写入配置文件:zabbix.conf.php配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix

 

三.启动zabbix服务
zabbix安装目录下面可以直接启动
#/usr/local/zabbix/sbin/zabbix_server start
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      7140/zabbix_agentd

 

四.设置开启自动启动


vim /etc/rc.d/rc.local  最后添加下面两行

  1. /usr/local/zabbix/sbin/zabbix_server start
  2. /usr/local/zabbix/sbin/zabbix_agentd start

 

至此,zabbix server端的安装完毕,我们可以通过浏览器来访问如图:

详解zabbix安装部署(Server端篇)第3张

 

接下来会介绍关于客户端监控的使用,以及监控模版的新建,自定义监控服务等。

 

更新:客户端安装可以查看http://blog.chinaunix.net/uid-25266990-id-3387002.html

免责声明:文章转载自《详解zabbix安装部署(Server端篇)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇jenkins对测试脚本的构建步骤Matlab并行编程方法1下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JPA学习(二、JPA_基本注解)

框架学习之JPA(二)JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。 学习...

SQL Server死锁排查

 1. 死锁原理     根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。     死锁的四个必要条件:互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新...

sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close

打开数据库链接sqlite3_open用法 原型: int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 用这个函数开始数据库操作。需要传入两个参...

使用Database Control访问数据库问题解决了

OracleDBConsoleorcl 服务因下列错误而停止: 系统找不到指定的路径。   问题解决了,可以通过EM dbconsole访问数据库了 原因主要还是更改了主机名导致的问题,更改了相应的文件名:D:\oracle\product\10.2.0\db_1\oc4j\j2ee\OC4J_DBConsole_colin重命名为D:\oracle\...

Mysql配置参数sync_binlog说明

Mysql配置参数sync_binlog说明 mysql> select version(); +-----------+ | version() | +-----------+ | 5.7.23 | +-----------+ 1 row in set (0.00 sec) mysql> show variables like 'syn...

MySQL存储过程之事务管理

  MySQL存储过程之事务管理 ACID:Atomic、Consistent、Isolated、Durable 存储程序提供了一个绝佳的机制来定义、封装和管理事务。 1,MySQL的事务支持 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关: Java代码 1         MyISAM:不支持事务,用于只读程序提高性能 ...