Zabbix详解 转载

zabbix进程构成

@zabbix_get        zabbix工具,单独使用的命令,通常在server或者proxy端执行。用户获取被监控端数据,通常用于排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排除。

@zabbix_sender   zabbix工具,用于发送数据给server或者proxy。通常用于耗时比较长的check,并且与trapper配合使用。生存环境中,个别非常耗时间check经常导致zabbix超时。于是在脚本执行完毕之后,使用sender主动提交数据。

@zabbix_proxy    代理守护进程。功能类似于server,唯一不同的是他只是一个中转站,他需要把收集到的数据提交/被提交到server里。一般跨机房地区的环境需要使用proxy

@zabbix_java_gateway   zabbix2.0之后引入的一个功能。顾名思义:Java网管,类似agend,但是只是于java方面。需要注意的是,她只能主动去获取数据,数据最终会给到server或者proxy。

@zabbix_agentd  客户端守护进程,收集客户端数据。例如cpu负载,内存,硬盘等使用情况。

@zabbix_server    服务端守护进程。zabbix_get   zabbix_sender  zabbix_proxy  zabbix_java_getway zabbix_agentd的数据最后都要提交到server。ps:大多数情况是server主动去取数据。

安装

软件需求  

数据库  MySQL 5.0.3及以上  推荐使用lnnodm引擎 oracle 10g及以上 postgresql 8.1及以上  sqlite3.3.5及以上 IBM db2 9.7及以上 

web应用  Apache 1.3.12及以上  PHP 5.3.0及以上

本次是基于lnmp架构  

前置需要时间同步 yum install ntp  修改/etc/ntp.conf 最后加入server 127.127.1.0    

fudge 127.127.1.0  stratum  8

其他被监控端安装 yum install ntpdatae  并同步时间 ntpdate serviceip

安装zabbix

tar -zxvf zabbix-3.0.4.tar && cd zabbix-3.0.4  && ./configure --prefix=/usr/local/zabbix/ --enable-server  --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 && make && make install

可能报错显示checking for mysql_config... no configure: error: MySQL library not found

只需要查找mysql_config文件 在编译时指向硬链接  --with-mysql=XXXXXXXXXX

以此类推

zabbix server 一般充当两个角色:server ,angent 需要监控自己 所以上诉命令参数也同时加上了 --enable-agent

创建用户

useradd -g zabbix zabbix

groupadd zabbix

初始化数据库 

zabbix server和proxy需要数据库 安根田不需要 尤其注意的是proxy只需要导入一个sql文件  而server要三个sql文件。

初始化proxy的数据库

#mysql -uroot  -proot

mysql> create database zabbix default charset utf8;

mysql> quit;

#mysql -uroot -proot zabbix <database/mysql/schema.sql

初始化server的数据库

除了上述一个相同的上去了文件 还要导入下面两个sql文件

#mysql -uroot -proot zabbix <database/mysql/images.sql

#mysql -uroot -proot zabbix <database/mysql/data.sql

 配置zabbix

配置zabbix_server配置文件 zabbix源码目录如下

#mkdir  /etc/zabbix

#cp config/zabbix_server.conf /etc/zabbix

#vim /etc/zabbiix/zabbix_server.conf

DBName=zabbix

DBUser=root

DBPassword=root

DBPort=3306

启动zabbix server

#/usr/local/zabbix/sbin/zabbix_server

默认端口10051

客户端

tar -zxvf zabbix-3.0.4.tar && cd zabbix-3.0.4  && ./configure --prefix=/usr/local/zabbix/   --enable-agent  && make && make install

客户端zabbix配置

#vim /usr/local/zabbix/etc/zabbix-agentd.conf

Server=127.0.0.1

ServerActive=12.0.0.1

Hostname=Zabbix server

其中Server和ServerActive都是指定zabbixserver的IP地址,不同的是前者是被动后者是主动。也就是说server是允许127.0.0.1来读取数据。而ServerActive的127.0.0.1是,客户端主动提交数据给他

其他主机安装客户端要添加zabbix用户

zabbix客户端启动 /usr/local/zabbix/sbin/zabbix_agentd

默认端口10050

zabbix管理网站配置

拷贝前段文件

#mkdir /data/logs/nginx

#mkdir /data/site/monitor.ttlsa.com/zabbix

#cp -rp frontends/php/* /data/site/monitor.ttlsa.com/zabbix

根据自己的web服务配置问价 指向 写入

试验在

mkdir -p /home/wwwroot/default/zabbix
cp -rp frontends/php/*  /home/wwwroot/default/zabbix

配置虚拟主机 

示例:下列是web服务的配置文件 实验采用的一键安装lnmp 可直接使用

#vim /usr/local/nginx-1.5.8/conf/vhost/monitor.ttlsa.com.conf

server { 

      listen           80;

      server_name monitor.ttlsa.com;

       access_log    /data/logs/nginx/monitor.ttlsa.com.access.log  main;

        index index.html index.php .index.html;

        root /data/site/monitor.ttlsa.com;

        location /

   {

            try_files $uri/ /index.php?$args;

    }

location  ~^(.+.php)(.*)${

                   fastcgi_split_path_info^(.+.php)(.*)$;

                   include fastcgi.conf;

                   fastcgi_pass    127.0.0.1:9000;

                   fastcgi_index index.php;

                   fastcgi_param       PATH_INFO                     $fastcgi_path_info

        }

  }

在线配置zabbix

打开web服务域名/zabbix

出现zabbix的安装界面 包括欢迎界面 六步

PHP需求检查

提示缺少什么就装什么 我的配置文件可能没生效 重新查看php.ini文件 并生效source

mysql数据信息

如果报错 the server does not match zabbix database  

The frontend does not match Zabbix database 前段不匹配数据库  可重新导入源码包下的sql文件

#mysqk -uroot -proot zabbix <database/mysql/images.sql

#mysql -uroot -proot zabbix <database/mysql/data.sql

zabbix服务端详细信息

zabbix安装前信息核对列表

缺少一个配置文件  可以手动下载保存在提示的目录下 再次点击Finish 继续安装

如下 显示对用户zabbix@本机 的权限不足不允许使用空密码访问 需要在数据库对zabbix授权

mysql> GRANT ALL PRIVILEGES ON *.* TO zabbix@'%'  identified BY 'zabbix'
    -> ;
grant 权限 on 数据库名.表名 to 用户@登录主机 identified by “用户密码”;
这个操作的结果是,如果已经存在这个用户,就修改其权限为所有,如果没有,就创建之。

安装完成 

登录zabbix 登陆zabbix,默认用户名:Admin,密码:zabbix

登录密码忘记可在数据库更改

进入数据库查看详细

进库 

use zabbix;

查看用户zabbix的详细  密码为md5方式加密

更改密码 

mysql>  update  users set passwd=md5("zabbix") where userid='1';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

猜你喜欢

转载自my.oschina.net/u/3652215/blog/1526980