zoukankan      html  css  js  c++  java
  • zabbix (一:zabbix服务端)

    默认情况下zabbix有5个进程:

    zabbix_agent  zabbix_get zabbix_proxy zabbix_sender zabbix_server,另外一个zabbix_java_gateway是可选,这个需要另外安装。

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

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

    zabbix_sender:zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。

    zabbix_server:zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server
    备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。

    zabbix_proxy:zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。

    zabbix_java_geteway:zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。

    时间同步:

    [root@zabbix_server ~]# crontab -e
    00 00 * * * /usr/sbin/ntpdate -u 192.168.1.62  #zabbix_server IP
    

     需要环境lnmp或lamp环境,其中zabbix对php参数 php模块有特殊要求:

    ./configure  --prefix=/usr/local/php 
    --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl 
    --enable-ftp --enable-sockets --disable-ipv6 --with-gd 
    --with-jpeg-dir=/usr/local --with-png-dir=/usr/local 
    --with-freetype-dir=/usr/local --enable-gd-native-ttf 
    --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar 
    --with-gettext --with-libxml-dir=/usr/local --with-zlib 
    --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd 
    --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
    

     make 的时候如果有 报错 可能是:http://www.cnblogs.com/bass6/p/5512035.html

    php的参数设置:

    vi php.ini

    max_execution_time = 300
    memory_limit = 123M
    post_max_size = 16M
    upload_max_filesize = 2M
    max_input_time = 300
    date.timezone PRC
    

     zabbix服务端安装:

    所有版本下载地址:http://www.zabbix.com/download.php
    
    [root@zabbix_server ~]#  yum install -y net-snmp-devel libxml2-devel libcurl-devel #一 定先装依赖
    
    [root@zabbix_server src]# tar -xvf zabbix-3.0.3.tar.gz 
    
    [root@zabbix_server zabbix-3.0.3]# pwd
    /usr/local/src/zabbix-3.0.3
    [root@zabbix_server zabbix-3.0.3]# ls
    aclocal.m4  ChangeLog     config.sub    database   INSTALL      Makefile.in  NEWS
    AUTHORS     compile       configure     depcomp    install-sh   man          README
    bin         conf          configure.ac  frontends  m4           misc         src
    build       config.guess  COPYING       include    Makefile.am  missing      upgrades
    
    [root@zabbix_server zabbix-3.0.3]# ./configure --prefix=/usr/local/zabbix-3.0.3 --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
    

    zabbix server 一般充当两个角色:server,agent,所以上面的配置参数也同时加上了--enable-agent. 备注:请安装好MySQL,snmp,curl开发库。

    报错:

    configure: error: MySQL library not found
    
    [root@zabbix_server zabbix-3.0.3]# yum install mysql-devel
    

     问题解决!

    [root@zabbix_server zabbix-3.0.3]# make && make install
    

     创建用户:

    安全考虑zabbix只使用普通用户运行,假如你当前用户叫bass,那么你运行他,他便使用bass身份。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户运行。但是如果你的系统没有zabbix用户,这需要新建一个:

    [root@zabbix_server ~]# groupadd zabbix
    [root@zabbix_server ~]# useradd -g zabbix zabbix
    

     初始化数据库:

    zabbix server 与proxy需要数据库,angent不需要。尤其要注意的是proxy只需要导入一个sql文件,而server为3个sql文件。

    mysql> create database zabbix default charset utf8;
    Query OK, 1 row affected (0.00 sec)
    
    # mysql -uroot -pttlsapwd zabbix < database/mysql/schema.sql
    # mysql -uroot -pttlsapwd zabbix < database/mysql/images.sql
    # mysql -uroot -ppttlsapwd zabbix < database/mysql/data.sql
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    | zabbix             |
    +--------------------+
    5 rows in set (0.00 sec)
    

     配置zabbix:

    [root@zabbix_server etc]# ls
    zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf  zabbix_server.conf.d
    
    [root@zabbix_server etc]# mkdir /etc/zabbix
    [root@zabbix_server etc]# cp zabbix_server.conf /etc/zabbix/
    [root@zabbix_server etc]# vi /etc/zabbix/zabbix_server.conf 
    

      

    # vim /etc/zabbix/zabbix_server.conf
    DBName=zabbix
    DBUser=zabbix
    DBPassword=123456
    DBPort=3306
    DBHost=192.168.1.3 #数据库地址
    
    [root@zabbix_server ~]# ln -s /usr/local/zabbix-3.0.3/sbin/* /usr/local/sbin/
    [root@zabbix_server ~]# ln -s /usr/local/zabbix-3.0.3/bin/* /usr/local/bin/
    
    [root@zabbix_server ~]# find / -name mysql_config
    /usr/bin/mysql_config
    /usr/local/src/mysql-5.5.20/scripts/mysql_config
    /usr/local/mysql/bin/mysql_config
    /usr/lib64/mysql/mysql_config
    

     如果没有mysql_config,需要安装 mysql-devel

    添加zabbix服务对应的端口:

    [root@zabbix_server ~]# vi /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

     修改zabbix配置文件:

    [root@zabbix_server ~]# cd /usr/local/zabbix-3.0.3/etc
    [root@zabbix_server etc]# ls
    zabbix_agentd.conf    zabbix_server.conf
    zabbix_agentd.conf.d  zabbix_server.conf.d
    [root@zabbix_server etc]# pwd
    /usr/local/zabbix-3.0.3/etc
    [root@zabbix_server etc]# vi zabbix_server.conf
    
    vi /usr/local/zabbix/etc/zabbix_server.conf
    
    DBName=zabbix #数据库名称
    
    DBUser=zabbix #数据库用户名
    
    DBPassword=123456 #数据库密码
    
    ### Option: DBHost
    #       Database host name.
    #       If set to localhost, socket is used for MySQL.
    #       If set to empty string, socket is used for PostgreSQL.
    #
    # Mandatory: no
    # Default:
    # DBHost=localhost
    DBHost=192.168.1.117#DB数据库的IP
    
    
    
    AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录
    
    
    
    
    [root@zabbix_server etc]# vi /usr/local/zabbix-3.0.3/etc/zabbix_agentd.conf
    

     加上:

    Include=/usr/local/zabbix/etc/zabbixagentd.conf.d/
    # UnsafeUserParameters=0
    UnsafeUserParameters=1
    [root@zabbix_server etc]# cp /usr/local/src/zabbix-3.0.3/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server
    [root@zabbix_server etc]# cp /usr/local/src/zabbix-3.0.3/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
    [root@zabbix_server etc]# chmod +x /etc/rc.d/init.d/zabbix_server 
    [root@zabbix_server etc]# chmod +x /etc/rc.d/init.d/zabbix_agent 
    [root@zabbix_server etc]# chkconfig zabbix_server on
    [root@zabbix_server etc]# chkconfig zabbix_agent on
    

     修改zabbix开机启动脚本中的zabbix安装目录

    [root@zabbix_server etc]# vi /etc/rc.d/init.d/zabbix_server
     # Zabbix-Directory
    BASEDIR=/usr/local/zabbix-3.0.3/ #zabbix安装目录
    
    [root@zabbix_server etc]# vi /etc/rc.d/init.d/zabbix_agentd
    
     # Zabbix-Directory
            BASEDIR=/usr/local/zabbix-3.0.3/ #编辑客户端配置文件
    
    [root@zabbix_server nginx]# cp -r /usr/local/src/zabbix
     
    /frontends/php /usr/html/
    [root@zabbix_server nginx]# cd /usr/html/
    [root@zabbix_server html]# ls
    50x.html  index.html  index.php  php
    [root@zabbix_server html]# mkdir zabbix
    [root@zabbix_server html]# ls
    50x.html  index.html  index.php  php  zabbix
    [root@zabbix_server html]# mv php/ zabbix/
    [root@zabbix_server html]# ls
    50x.html  index.html  index.php  zabbix
    [root@zabbix_server html]# chown www.www -R /usr/html/zabbix
    
    [root@zabbix_server etc]# service zabbix_agentd start
    Starting zabbix_agentd:                                    [  OK  ]
    [root@zabbix_server etc]# service zabbix_server start
    Starting zabbix_server:                                    [  OK  ]
    [root@zabbix_server etc]# 
    

     先看看php用的是php.ini文件的位置通过<?php phpinfo();

    Configuration File (php.ini) Path 	/usr/local/php/etc 
    

     可见是在/usr/local/php/etc/php.ini如果每没有cp /etc/php.ini /usr/local/php/etc/

    [root@zabbix_server etc]# vi /etc/php.ini
    
    post_max_size = 16M
    max_execution_time = 300
    max_input_time = 300
    
    [root@zabbix_server etc]# vi /usr/local/php/etc/php-fpm.conf
    
    request_terminate_timeout = 300
    
    [root@zabbix_server php]# service php-fpm restart
    Gracefully shutting down php-fpm . done
    Starting php-fpm  done
    [root@zabbix_server php]# whereis php
    php: /etc/php.d /etc/php.ini /usr/lib64/php /usr/loca
    
    [root@zabbix_server php]# pwd
    /usr/html/zabbix/php
    
    http://192.168.1.122/zabbix/php/setup.php
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    | zabbix             |
    +--------------------+
    5 rows in set (0.07 sec)
    
    mysql> grant all privileges on zabbix.* to zabbix@"%" identified by"123456";
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    [root@ok tmp]# scp zabbix.conf.php root@192.168.1.122:/usr/html/zabbix/php/conf/zabbix.conf.php
    root@192.168.1.122's password: 
    zabbix.conf.php                               100%  423     0.4KB/s   00:00 
    

     注意zabbix.conf.php的权限!!(我给的是777)

    zabbix默认登录帐户:admin

    zabbix默认登录密码:zabbix

    注意:selinux一定要关不然会报错!!!

    [root@zabbix_server php]# setenforce 0
    
    [root@zabbix_server ~]# netstat -lnutp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
    tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      2192/zabbix_agentd  
    tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      2854/zabbix_server  
    tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      1486/php-fpm        
    tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2665/mysqld         
    tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      1924/nginx          
    tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1510/sshd           
    tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1853/master         
    tcp        0      0 :::22                       :::*                        LISTEN      1510/sshd           
    tcp        0      0 ::1:25                      :::*                        LISTEN      1853/master         
    udp        0      0 0.0.0.0:68                  0.0.0.0:*                               1244/dhclient       
    udp        0      0 0.0.0.0:636                 0.0.0.0:*                               1323/portreserve   

     注意:看zabbix的日志

    [root@zabbix_server ~]# tail -f /tmp/zabbix_server.log 
    
  • 相关阅读:
    CSS 之 div中文字超出时自动换行
    架构设计分享之权限系统(看图说话)
    perl杂项
    nginx比较apache
    Apache与Nginx的优缺点比较
    DVB系统中PCR的生成和PCR校正
    相关软件测试工具
    我遇到的有趣面试题:破解程序
    OpenStack 部署运维实战
    一些大公司的开源项目及代码托管平台
  • 原文地址:https://www.cnblogs.com/bass6/p/5513225.html
Copyright © 2011-2022 走看看