zoukankan      html  css  js  c++  java
  • 分布式监控系统Zabbix-3.0.3-完整安装记录(1)

    分布式监控系统Zabbix-3.0.3的安装记录

    环境说明
    zabbix-server:192.168.1.30     #zabbix的服务端(若要监控本机,则需要配置本机的Zabbix agent,下面会提到)
    zabbix-agent:192.168.1.7     #zabbix的客户端(被监控端,需要配置Zabbix agent,下面会提到)

    一、zabbix-server端的操作记录(192.168.1.30 )

    zabbix服务器端要提前安装好LNMP环境(mysql,nginx,php5的安装目录均是/usr/local)

    创建Zabbix运行的用户:
    [root@Zabbix-server ~]# groupadd zabbix
    [root@Zabbix-server ~]# useradd -g zabbix zabbix

    安装libcurl和net-snmp:
    [root@Zabbix-server ~]# yum install net-snmp-devel curl-devel

    安装Fping:
    [root@Zabbix-server ~]# cd /usr/local/src
    [root@Zabbix-server src]# wget -c http://fping.org/dist/fping-3.4.tar.gz
    [root@Zabbix-server src]# tar zxvf fping-3.4.tar.gz
    [root@Zabbix-server src]# cd fping-3.4
    [root@Zabbix-server fping-3.4]# ./configure
    [root@Zabbix-server fping-3.4]# make && make install
    [root@Zabbix-server fping-3.4]# chown root:zabbix /usr/local/sbin/fping
    [root@Zabbix-server fping-3.4]# chmod 4710 /usr/local/sbin/fping

    安装Zabbix Server:
    [root@Zabbix-server ~]# cd /usr/local/src
    [root@Zabbix-server src]# wget -c http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
    [root@Zabbix-server src]# tar zxvf zabbix-3.0.3.tar.gz
    [root@Zabbix-server src]# cd zabbix-3.0.3
    [root@Zabbix-server zabbix-3.0.3]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl

    注意:编译时最好带上--enable-java这个参数,方便后续监控tomcat程序所用。

    ==========zabbix编译时可能出现的报错及其解决办法=============
    error: Invalid Net-SNMP directory - unable to find net-snmp-config
    # yum install  net-snmp-devel
    
    configure: error: Jabber library not found
    #yum install iksemel-devel -y 即可,
    
    configure: error: LIBXML2 library not found
    #yum install libxml2-devel -y
    
    configure: error: unixODBC library not found
    #yum install unixODBC-devel -y
    
    configure: error: Invalid OPENIPMI directory - unable to findipmiif.h
    #yum install OpenIPMI-devel
    
    configure:error: Unable to find "javac" executable in pathyum install java-devel -y
    缺少java,可安装java,比如java6,java7或java8
    可以参考https://www.cnblogs.com/kevingrace/p/5870814.html
    #yum -y install java-1.7.0-openjdk*
    
    configure: error: Curl library not found
    # yum install curl-devel -y
    
    configure: error: SSH2 library not found
    #yum install -y libssh2-devel

    [root@Zabbix-server zabbix-3.0.3]# make && make install

    Zabbix Server配置与启动
    创建Zabbix数据库和MySQL用户:
    [root@Zabbix-server ~]# mysql -p
    ........
    mysql> create schema zabbix character set utf8;
    Query OK, 1 row affected (0.05 sec)
    mysql> create user 'zabbix'@'%' identified by '123456';
    Query OK, 0 rows affected (0.16 sec)
    mysql> grant all on zabbix.* to 'zabbix'@'%';
    Query OK, 0 rows affected (0.03 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.04 sec)

    导入Zabbix初始数据:
    切换到zabbix的解压目录下,这里是/usr/local/src目录下
    [root@Zabbix-server ~]# cd /usr/local/src
    [root@Zabbix-server src]# cd zabbix-3.0.3
    [root@Zabbix-server zabbix-3.0.3]#cd database/mysql/
    [root@Zabbix-server mysql]# pwd
    /usr/local/src/zabbix-3.0.3/database/mysql
    [root@Zabbix-server mysql]# ls
    data.sql images.sql schema.sql
    [root@Zabbix-server mysql]# mysql -uroot -p       #登陆mysql,进行zabbix初始数据导入(记得要先"use zabbix"库之后再导入)
    mysql> set sql_log_bin=0;
    mysql> source ./schema.sql;
    mysql> source ./images.sql;
    mysql> source ./data.sql;
    mysql> set sql_log_bin=1;

    编辑/usr/local/zabbix/etc/zabbix_server.conf:
    [root@Zabbix-server ~]#vim /usr/local/zabbix/etc/zabbix_server.conf
    LogFile=/usr/local/zabbix/logs/zabbix_server.log
    PidFile=/usr/local/zabbix/logs/zabbix_server.pid
    DBHost=192.168.1.30
    DBName=zabbix
    DBUser=zabbix
    DBPassword=123456
    DBPort=3306
    FpingLocation=/usr/local/sbin/fping

    从安装目录拷贝zabbix_server脚本,并编辑:
    [root@Zabbix-server ~]# cd /usr/local/src
    [root@Zabbix-server src]# cd zabbix-3.0.3
    [root@Zabbix-server zabbix-3.0.3]# cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/
    [root@Zabbix-server zabbix-3.0.3]# mkdir -p /usr/local/zabbix/logs
    [root@Zabbix-server zabbix-3.0.3]# chown -R zabbix:zabbix /usr/local/zabbix
    [root@Zabbix-server zabbix-3.0.3]# vim /etc/init.d/zabbix_server
    [root@Zabbix-server zabbix-3.0.3]# cat /etc/init.d/zabbix_server
    ...
    ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_server"
    CONF_FILE="/usr/local/zabbix/etc/zabbix_server.conf"
    ...
    start() {
    ...
    daemon $ZABBIX_BIN -c $CONF_FILE
    ...
    }

    调整防火墙规则(开放端口10051):
    [root@Zabbix-server ~]# vim /etc/sysconfig/iptables
    ...
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT
    ...

    [root@Zabbix-server ~]# /etc/init.d/iptables restart

    启动Zabbix Server:
    [root@Zabbix-server ~]# service zabbix_server start                  #也可以直接/usr/local/zabbix/sbin/zabbix_server方式启动
    Starting Zabbix Server: [ OK ]

    停止Zabbix Server:
    [root@Zabbix-server ~]# service zabbix_server stop
    Stopping Zabbix Server: [ OK ]

    配置开机自动启动:
    [root@Zabbix-server ~]# chkconfig --add zabbix_server
    [root@Zabbix-server ~]# chkconfig --level 35 zabbix_server on

    Zabbix的Web前端
    在安装目录将frontends拷贝到指定的web root:
    [root@Zabbix-server ~]# mkdir -p /data/www/zabbix
    [root@Zabbix-server ~]# cd /usr/local/src
    [root@Zabbix-server src]# cd zabbix-3.0.3
    [root@Zabbix-server zabbix-3.0.3]#cp -a frontends/php/* /data/www/zabbix/
    [root@Zabbix-server zabbix-3.0.3]# chown -R www:www /data/www/zabbix

    Nginx配置:
    [root@Zabbix-server ~]# cat /usr/local/nginx/conf/vhost/zabbix.conf

    server {
            listen       80;
            server_name  zabbix.zrwm.com;
    
    
            location / {
                root   /data/www/zabbix;
                index  index.php index.html index.htm ;
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            
            location ~ .php$ {
                root           /data/www/zabbix;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
            }
    
           
        }

    php.ini配置:
    [root@Zabbix-server ~]# cat /usr/local/php5/etc/php.ini
    ...
    memory_limit = 128M
    post_max_size = 16M
    max_execution_time = 300
    max_input_time = 300
    session.auto_start = 0 ;                   //必须为0
    mbstring.func_overload = 0
    ...
    注:PHP需要至少开启扩展:gd,bcmath,ctype,libXML,xmlreader,xmlwriter,session,sockets,mbstring,gettext,mysql
    如下,查看是否包括了上面所提到的扩展模块
    [root@Zabbix-server ~]# /usr/local/php5/bin/php -m
    [PHP Modules]
    bcmath
    Core
    ctype
    curl
    date
    dom
    ereg
    fileinfo
    filter
    ftp
    gd
    gettext
    hash
    iconv
    json
    libxml
    mbstring
    mcrypt
    mysql
    mysqli
    openssl
    pcntl
    pcre
    PDO
    pdo_sqlite
    Phar
    posix
    Reflection
    session
    shmop
    SimpleXML
    soap
    sockets
    SPL
    sqlite3
    standard
    sysvsem
    tokenizer
    xml
    xmlreader
    xmlrpc
    xmlwriter
    zip
    zlib

    [Zend Modules]

    访问Web界面http://zabbix.zrwm.com,进行相关web配置,配置完成后使用默认用户admin(密码:zabbix)登陆即可.

    在上面zabbix检索的时候可能出现的错误

    1)PHP option "max_execution_time"	120	300	failed
    # vim /data/php/lib/php.ini 
    max_execution_time = 300    //修改为300
    
    然后重启nginx(若是apache+php,就重启apache)
    
    2)PHP bcmath	off		failed
    解决办法:安装php的bcmath扩展
    # yum install *bcmath* --skip-broken
    # cd /data/software/php-5.6.30/ext/bcmath/
    # /data/php/bin/phize
    # ./configure --with-php-config=/data/php/bin/php-config
    # make && make install
    # vim /data/php/lib/php.ini     添加下面内容
    .....
    extension=/data/php/lib/php/extensions/no-debug-zts-20131226/bcmath.so
    
    然后重启php(若是apache+php,就重启apache)
    
    3)about always-populate-raw-post-data must be set -1 的问题:
       PHP option "always_populate_raw_post_data"	on	off	failed
    解决办法:
    # vim /data/vhosts/zabbix/include/classes/setup/CFrontendSetup.php      添加下面这一行
    .......
            public function checkPhpAlwaysPopulateRawPostData() {
                    $current = ini_get('always_populate_raw_post_data');
                    $current = -1;                                             //添加这一行内容
    
                    return [
                            'name' => _s('PHP option "%1$s"', 'always_populate_raw_post_data'),
                            'current' => ($current != -1) ? _('on') : _('off'),
                            'required' => _('off'),
                            'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,
                            'error' => _s('PHP option "%1$s" must be set to "%2$s"', 'always_populate_raw_post_data', -1)
                    ];

    如果登录zabbix后,出现下面报错

    解决方法
    [root@Zabbix-server ~]# vim /usr/local/php5/etc/php.ini
    cgi.fix_pathinfo=1
    [root@Zabbix-server ~]# /etc/init.d/php-fpm restart
    
    问题根源
    在zabbix php定位问题发现,zabbix是依据php文件名来设置权限,例如index.php、dashboard.php这些,如果cgi.fix_pathinfo设置为0,
    那么php无法获取到url请求的文件名称,例如访问index.php,获取不到index.php也定位到权限,于是出现这个错误。

    ===========php安装的扩展没有生效的原因及解决办法===========

    在安装zabbix时,lnmp环境部署后,发现有些依赖的php扩展没有安装,例如bcmath、gettext等。
    在后续安装这些扩展,配置好php.ini,并重启php-fpm服务后,发现新安装的php扩展并没有生效(即"php -m"命令后没有查找到)。
    这是因为php-fpm启动时,没指定php.ini,所以一直都没生效!
    
    [root@Zabbix-server etc]# /etc/init.d/php-fpm restart
    Gracefully shutting down php-fpm . done
    Starting php-fpm  done
    [root@Zabbix-server etc]# ps -ef|grep php-fpm
    root     19529     1  0 23:37 ?        00:00:00 php-fpm: master process (/data/php/etc/php-fpm.conf)
    www      19530 19529  0 23:37 ?        00:00:00 php-fpm: pool www
    www      19531 19529  0 23:37 ?        00:00:00 php-fpm: pool www
    root     19533 17173  0 23:37 pts/4    00:00:00 grep --color=auto php-fpm
    
    解决办法:
    1)指定php.ini文件来启动php-fpm服务
    [root@Zabbix-server etc]# /etc/init.d/php-fpm stop
    Gracefully shutting down php-fpm . done
    [root@Zabbix-server etc]# ps -ef|grep php-fpm
    root     19541 17173  0 23:38 pts/4    00:00:00 grep --color=auto php-fpm
    [root@Zabbix-server etc]# /data/php/sbin/php-fpm -y /data/php/etc/php-fpm.conf -c /data/php/etc/php.ini
    [root@Zabbix-server etc]# ps -ef|grep php-fpm
    root     19543     1  0 23:38 ?        00:00:00 php-fpm: master process (/data/php/etc/php-fpm.conf)
    www      19544 19543  0 23:38 ?        00:00:00 php-fpm: pool www
    www      19545 19543  0 23:38 ?        00:00:00 php-fpm: pool www
    root     19547 17173  0 23:39 pts/4    00:00:00 grep --color=auto php-fpm
    
    2)要是上面启动后,安装的php扩展还是没有生效!那就可能是php.ini文件没有放对路径(这里我是直接放在php的etc目录下的,可以尝试放到php的lib目录下)
    [root@Zabbix-server ~]# ll /data/php/etc/php.ini
    -rw-r--r-- 1 root root 73243 10月 13 23:32 /data/php/etc/php.ini
    [root@Zabbix-server ~]# cp /data/php/etc/php.ini /data/php/lib/
    [root@Zabbix-server ~]# ll /data/php/lib/php.ini 
    -rw-r--r-- 1 root root 73243 10月 13 23:35 /data/php/lib/php.ini
    
    然后再接着重启php-fpm服务即可!
    [root@Zabbix-server ~]# /etc/init.d/php-fpm restart
    Gracefully shutting down php-fpm . done
    Starting php-fpm  done
    [root@Zabbix-server ~]# ps -ef|grep php
    root     19564     1  0 23:43 ?        00:00:00 php-fpm: master process (/data/php/etc/php-fpm.conf)
    www      19565 19564  0 23:43 ?        00:00:00 php-fpm: pool www
    www      19566 19564  0 23:43 ?        00:00:00 php-fpm: pool www
    root     19568 17173  0 23:43 pts/4    00:00:00 grep --color=auto php
    [root@Zabbix-server ~]# 

    ===============zabbix登录密码忘记了,重置密码==============

    如果zabbix界面的admin登录密码忘记了,可以登录mysql里面进行修改
    [root@Zabbix-server ~]# mysql -p123456
    ........
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    | zabbix             |
    +--------------------+
    5 rows in set (0.00 sec)
    
    mysql> use zabbix;
    mysql> desc users;
    +----------------+---------------------+------+-----+---------+-------+
    | Field          | Type                | Null | Key | Default | Extra |
    +----------------+---------------------+------+-----+---------+-------+
    | userid         | bigint(20) unsigned | NO   | PRI | NULL    |       |
    | alias          | varchar(100)        | NO   | UNI |         |       |
    | name           | varchar(100)        | NO   |     |         |       |
    | surname        | varchar(100)        | NO   |     |         |       |
    | passwd         | char(32)            | NO   |     |         |       |
    | url            | varchar(255)        | NO   |     |         |       |
    | autologin      | int(11)             | NO   |     | 0       |       |
    | autologout     | int(11)             | NO   |     | 900     |       |
    | lang           | varchar(5)          | NO   |     | en_GB   |       |
    | refresh        | int(11)             | NO   |     | 30      |       |
    | type           | int(11)             | NO   |     | 1       |       |
    | theme          | varchar(128)        | NO   |     | default |       |
    | attempt_failed | int(11)             | NO   |     | 0       |       |
    | attempt_ip     | varchar(39)         | NO   |     |         |       |
    | attempt_clock  | int(11)             | NO   |     | 0       |       |
    | rows_per_page  | int(11)             | NO   |     | 50      |       |
    +----------------+---------------------+------+-----+---------+-------+
    16 rows in set (0.00 sec)
    
    mysql> select alias,passwd from users;
    +-------+----------------------------------+
    | alias | passwd                           |
    +-------+----------------------------------+
    | Admin | 5fce1b3e34b520afeffb37ce08c7cd66 |
    | guest | d41d8cd98f00b204e9800998ecf8427e |
    +-------+----------------------------------+
    2 rows in set (0.00 sec)
    
    mysql> 
    
    重新开个终端,生成一个MD5加密的密码,这里密码设置的是zabbix@123
    [root@Zabbix-server ~]# echo -n zabbix@123|openssl md5
    (stdin)= 535d82a366525c82b94ba4388ed16fad
    
    mysql> update users set passwd="535d82a366525c82b94ba4388ed16fad" where alias="Admin";
    Query OK, 1 row affected (0.03 sec)
    Rows matched: 1  Changed: 1  Warnings: 0
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select alias,passwd from users;
    +-------+----------------------------------+
    | alias | passwd                           |
    +-------+----------------------------------+
    | Admin | 535d82a366525c82b94ba4388ed16fad |
    | guest | d41d8cd98f00b204e9800998ecf8427e |
    +-------+----------------------------------+
    2 rows in set (0.00 sec)
    
    mysql> 
    
    这样,就将zabbix的admin用户密码重置为"zabbix@123"了

    二、zabbix客户端的操作记录(192.168.1.7)

    安装Zabbix,配置Zabbix agent:
    [root@bastion-IDC ~]# cd /usr/local/src/
    [root@bastion-IDC src]# wget -c wget -c http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz/download
    [root@bastion-IDC src]# cd zabbix-3.0.3
    [root@bastion-IDC zabbix-3.0.3]# ./configure --prefix=/usr/local/zabbix --enable-agent
    [root@bastion-IDC zabbix-3.0.3]# make && make install

    [root@bastion-IDC zabbix-3.0.3]# cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

    配置zabbix_agentd:
    [root@bastion-IDC ~]# groupadd zabbix
    [root@bastion-IDC ~]# useradd -g zabbix zabbix
    [root@bastion-IDC ~]# mkdir -p /usr/local/zabbix/logs
    [root@bastion-IDC ~]# chown zabbix:zabbix -R /usr/local/zabbix/
    [root@bastion-IDC ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
    [root@bastion-IDC ~]# cat /usr/local/zabbix/etc/zabbix_agentd.conf
    ...
    PidFile=/usr/local/zabbix/logs/zabbix_agentd.pid
    LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
    Server=192.168.1.30
    ListenPort=10050
    ServerActive=192.168.1.30
    Hostname=192.168.1.7                                                               [#在192.168.1.7本机的/etc/hosts里做主机映射:“ip  hostname”][也可以设置公网ip]
    Timeout=15
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
    ...

    配置Zabbix Agent启动脚本:
    [root@bastion-IDC ~]# cat /etc/init.d/zabbix_agentd
    ...
    prog="Zabbix Agent"
    ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd"
    CONF_FILE="/usr/local/zabbix/etc/zabbix_agentd.conf"
    ...
    start() {
    ...
    daemon $ZABBIX_BIN -c $CONF_FILE
    ...
    }
    ...

    开启防火墙端口10050:
    [root@bastion-IDC ~]# cat /etc/sysconfig/iptables
    ...
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
    ...
    [root@bastion-IDC ~]# /etc/init.d/iptables restart

    启动zabbix_agentd:
    [root@bastion-IDC ~]# /etc/init.d/zabbix_agentd start
    Starting Zabbix Agent: [ OK ]

    配置开机自动启动:
    [root@bastion-IDC ~]# chkconfig --add zabbix_agentd
    [root@bastion-IDC ~]# chkconfig --level 35 zabbix_agentd on

    测试下zabbix agent是否正常工作:
    [root@bastion-IDC ~]# /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf -t system.uptime
    system.uptime [u|68301]

    ==========================zabbix客户机一键安装和配置的脚本==============================

    [root@yum ~]# vim zabbix_agent_install.sh
    #!/bin/bash
    host=`hostname`
    /usr/sbin/useradd zabbix
    cd /usr/local/
    /usr/bin/wget http://192.168.10.55/software/zabbix_agent.tar.gz
    /bin/tar -zvxPf zabbix_agent.tar.gz
    /bin/rm -f zabbix_agent.tar.gz
     
    /bin/chown -R zabbix.zabbix zabbix/
    sed -i "s/Hostname=127.0.0.1/Hostname=`hostname`/g" /usr/local/zabbix/etc/zabbix_agentd.conf
     
    /bin/cp zabbix/zabbix_agentd /etc/rc.d/init.d/
    /bin/cp zabbix/zabbix_agentd /etc/init.d/
    /bin/chmod 755 /etc/rc.d/init.d/zabbix_agentd
    /bin/chmod 755 /etc/init.d/zabbix_agentd
    chattr -ai /etc/sudoers
    chmod 640 /etc/sudoers
    echo "zabbix  ALL=(ALL)      NOPASSWD: ALL" >> /etc/sudoers
    chmod 440 /etc/sudoers
    chattr +ai /etc/sudoers
    #/etc/init.d/zabbix_agentd start /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf echo "/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf" >> /etc/rc.local ========================================================================================= 赋予脚本执行权限,并执行脚本进行安装和配置 [root@yum ~]# chmod 755 zabbix_agent_install.sh [root@yum ~]# sh -x zabbix_agent_install.sh 检查zabbix_agent的安装情况 [root@yum ~]# ll -d /usr/local/zabbix drwxr-xr-x 9 zabbix zabbix 4096 12月 25 13:06 /usr/local/zabbix [root@yum ~]# lsof -i:10050 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME zabbix_ag 119763 zabbix 4u IPv4 677580 0t0 TCP *:zabbix-agent (LISTEN) zabbix_ag 119764 zabbix 4u IPv4 677580 0t0 TCP *:zabbix-agent (LISTEN) zabbix_ag 119765 zabbix 4u IPv4 677580 0t0 TCP *:zabbix-agent (LISTEN) zabbix_ag 119766 zabbix 4u IPv4 677580 0t0 TCP *:zabbix-agent (LISTEN) zabbix_ag 119767 zabbix 4u IPv4 677580 0t0 TCP *:zabbix-agent (LISTEN) zabbix_ag 119768 zabbix 4u IPv4 677580 0t0 TCP *:zabbix-agent (LISTEN) [root@yum ~]# ps -ef|grep zabbix_agent zabbix 119763 1 0 2017 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf zabbix 119764 119763 0 2017 ? 00:17:05 /usr/local/zabbix/sbin/zabbix_agentd: collector [idle 1 sec] zabbix 119765 119763 0 2017 ? 00:01:47 /usr/local/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection] zabbix 119766 119763 0 2017 ? 00:01:46 /usr/local/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection] zabbix 119767 119763 0 2017 ? 00:01:47 /usr/local/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection] zabbix 119768 119763 0 2017 ? 00:00:13 /usr/local/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec] root 159646 159567 0 16:50 pts/0 00:00:00 grep zabbix_agent ========================================================================================= 上面脚本中的需要注意的: 0)zabbix server端的zabbix_agentd.conf文件里Server和ServerActive都配置成zabbix server端ip地址,主动和被动模式都采用。 1)在zabbix的server端将编译安装并配置好的目录(比如/usr/local/zabbix,里面包括zabbix_agent的配置)进行打包,打包后的命令为zabbix_agent.tar.gz (或者可以将server端zabbix编译安装和配置的目录只保留agent的部分进行打包),打包后存放地址为:http://10.0.8.40:8001/zabbix_agent.tar.gz 2)将zabbix_agentd.conf文件中的Hostname部分配置成agent客户机的主机名。由于我在线上部署了内网DNS域名环境,所有机器的DNS域名地址都修改为内网 dns的地址,所以这里将Hostname直接修改为内网DNS解析后的主机域名就可以了。但是要千万注意:zabbix的web界面的"配置"->"主机"的主机名一定也要 写成一致的主机名(两者配置一定要一致,要么都是ip,要么都是主机名)

    -----------------------------------------------------------------------------------------------------------------------------

    登录zabbix,先在“配置”-“主机”里添加主机监控,监控os资源:内存,cpu,io,负载,带宽等.

    注意:下图中的“主机名称”要和zabbix_agentd.conf文件中设置的“Hostname”后面的名称一致!

    配置过一段时间后,观察下监控图效果出来了没:

    ------------------------------------------------------------------------
    在zabbix界面中,默认要查看多个主机的监控数据时需要不停的切换。其实可以在一个页面中批量查看多个主机的监控项的数据,这就需要使用Screen方法(Screen 的方法是将每个item的graph放到一个屏幕上,即在聚合图形里选择要放在一个screen里的图形,事先创建一个拓扑图。注意选择磁盘空间监控项的图形时,图形样式调整“层积“显示),但是看起来不够明晰;最好是将各机器的同一item放到同一个graph里。比如一个Nginx的组里有10台机器,将这10台机器的内存使用率放到一个graph里,方便在测试时查看。
    在zabbix的前端要创建此类的graph只能通过手工一个一个的加,不能创建此类的templates。在网上有批量创建Screen的针对API的python脚本。

    -------------------------------------------------------------------------------------------------------------------------
    zabbix监控获取数据的途径有简单检查,zabbix agent,snmp。可以通过zabbix agent获取客户机的cpu、内存、磁盘io等监控数据;但是对于交互机(打印机,路由器等网络设备)的监控就要用到snmp协议,snmp通过特定的oid值来获取对应的数据。交换机需要开启snmp协议,通过snmpwalk 可以抓取到数据就可以了(snmpwalk -v 2c -c public *.*.*.*)

    ------------------------------------------------------------------------------------------------------------------------
    使用zabbix的ICMP Ping模版实现对客户端网络状态的监控
    如上正确安装及配置fping,然后在服务端进行zabbix用户测试fping命令
    [root@Zabbix-server ~]# /usr/local/sbin/fping www.baidu.com
    www.baidu.com is alive //说明命令返回成功。

    接着在zabbix监控界面里添加主机设置,并选择添加模版template icmp ping。然后点开这个模块,可以选择想要的监控项的图形,效果如下:

    -----------------------------------------Zabbix监控项CPU Load数值与服务器上uptime的实际值不符合--------------------------------------
    现象说明:
    zabbix监控项cpu load的数值跟被监控机本地uptime显示的负载值对不上,前者数值小于后者。

    产生原因:
    现在服务器的cpu基本都是多核的,但zabbix监控项cpu load参数里默认显示的是一个核心的参数,
    而不是总和,所以两者数值对不上。

    解决办法:
    "配置"->"模板"->"Template OS Linux"->"监控项"->"Processor load (1 min average per core)"
    点开,将system.cpu.load[percpu,avg1]改为system.cpu.load[all,avg1],即将percpu改为all。
    其余5 min和15 min的load监控项的改法一样!保存等几分钟即可显示。

    -----------------------------------添加网络监控项的触发器(报警设置)--------------------------------
    注意:
    网络监控的默认单位是bps,监控报警一般看的是Mbps,需要转为为bps。比如超过8M报警,那触发器的值即为8*1024*1024=8388608

  • 相关阅读:
    设计模式之代理模式
    Java8内存模型—永久代(PermGen)和元空间(Metaspace)
    使用jconsole分析内存情况-JVM
    JVM(Java虚拟机)优化大全和案例实战
    JVM调优总结 -Xms -Xmx -Xmn -Xss
    聊聊jvm的PermGen与Metaspace
    Jconsole
    【Java VisualVM】使用 VisualVM 进行性能分析及调优
    JAVA基础(10)——IO、NIO
    JAVA基础(9)——容器(3)——并发容器
  • 原文地址:https://www.cnblogs.com/kevingrace/p/5762147.html
Copyright © 2011-2022 走看看