• zabbix之2安装编译/基本功能实现


    1.安装方式:
    rpm或者编译都可,rpm可以直接用yum安装.
    rpm安装的话,根据文件名进行选择即可.
    编译的话,不同参数对应不同的组件.

    编译安装zabbix:

    同时安装server和agent,并支持将数据放入mysql数据中,可使用类似如下配置命令:
    ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2

    如果仅安装server,并支持将数据放入mysql数据中,可使用类似如下配置命令:
    ./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl

    如果仅安装proxy,并支持将数据放入mysql数据中,可使用类似如下配置命令:
    ./configure --prefix=/usr/local/zabbix --prefix=/usr --enable-proxy --with-net-snmp --with-mysql --with-ssh2

    如果仅安装agent,可使用类似如下配置命令:
    ./configure --prefix=/usr/local/zabbix --enable-agent

    这里选择的方式是非proxy
    #./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2
    可能会出的问题:
    ssh2 lib找不到,则安装libssh2,并--with-ssh2=指定安装位置,地址:http://www.libssh2.org/
    # make
    # make install

    添加zabbix系统账户

    #groupadd zabbix

    #useradd -g zabbix -m zabbix 

    #chown -R root.zabbix /usr/local/zabbix

    添加服务端口(可要可不要,官方说建议要)

    #vim /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

    配置文件软连接(可要可不要,按照习惯要)

    ln -s /usr/local/zabbix/etc /etc/zabbix
    修改各项配置文件

    #vim /etc/zabbix/zabbix_server.conf
    LogFile=/tmp/zabbix_server.log
    PidFile=/tmp/zabbix_server.pid
    DBName=zabbix
    DBUser=zabbixer
    DBPassword=123456     #指定zabbix数据库密码
    ListenIP=192.168.10.197    #服务器IP地址

    复制网站文件到虚拟主机目录,当然修改虚拟主机的配置也是必须的.(这里贴出apache的,至于nginx,这里就不贴出来了)

    #cp -rp /usr/local/src/zabbix-***/frontends/php /var/www/zabbix
    #cd /var/www
    #chown -R zabbix.zabbix zabbix
    #vim /usr/local/apache/conf/httpd.conf
    group zabbix
    user zabbix
    #vim /usr/local/apache/conf/extra/httpd-vhost.conf
    <VirtualHost 10.88.5.124:80>
        ServerAdmin aaa103439@hotmail.com
        DocumentRoot "/var/www/zabbix"
        ServerName 10.88.5.124
        ErrorLog "logs/zabbix-error_log"
        CustomLog "logs/zabbix-access_log" common
    <Directory "/var/www/zabbix"> 
         Options None
         DirectoryIndex index.php 
          AllowOverride Options FileInfo 
         Require all granted
    </Directory>
    </VirtualHost>

    复制启动脚本,zabbix的启动脚本位于源码包中,路径如下:
    # ls /usr/local/src/zabbix-2.2.3/misc/init.d/
    aix  debian  fedora  freebsd  gentoo  README  suse  tru64  ubuntu
    ls fedora/core/
    zabbix_agentd  zabbix_server
    #cp * /etc/init.d/
    #chkconfig --add zabbix_agentd
    #chkconfig --add zabbix_server
    #chkconfig zabbix_agentd on
    #chkconfig zabbix_server on
    修改脚本,因为脚本里的bin程序和配置文件路径均不对,好吧,也不能说不对,不过和我的不一样...所以得改下,但是版本不同,可能里面的内容不同,不过修改的内容都差不多,只不过变量不一样.这里贴出我的zabbix_server
    # Variables 变量区域
    # Edit these to match your system settings

        # Zabbix-Directory
        BASEDIR=/usr/local/zabbix

        # Binary File
        BINARY_NAME=zabbix_server

        # Full Binary File Call
        FULLPATH=$BASEDIR/sbin/$BINARY_NAME

        # PID file
        PIDFILE=/tmp/$BINARY_NAME.pid

        # Establish args
        ERROR=0
        STOPPING=0
    #启动区域
    start() {
        if [ $RUNNING -eq 1 ]
            then
            echo "$0 $ARG: $BINARY_NAME (pid $PID) already running"
        else
            action $"Starting $BINARY_NAME: " $FULLPATH -c /etc/zabbix/zabbix_server.conf
            touch /var/lock/subsys/$BINARY_NAME
        fi
    }
    红色区域就是我修改的,分别是一个zabbix根路径和启动时所调用的配置文件.
    至于zabbix_agentd,修改方式一样.

    数据库端-->
    创建数据库:server和proxy的运行都依赖于数据库,agent则不需要。

    以MySQL数据库为例:
    #生成用户名和密码;
    mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
    mysql> GRANT ALL ON zabbix.* TO zabbixer@'%' IDENTIFIED BY '123456';
    #生成proxy数据库
    shell> mysql -u<username> -p<password> zabbix < schema.sql
    #生成server数据库
    shell> mysql -u<username> -p<password> zabbix < images.sql
    shell> mysql -u<username> -p<password> zabbix < data.sql
    以上数据库的导入需要严格按照顺序执行,否则无法导入
    数据库文件位于zabbix-server-mysql包中,其安装后的位置:/usr/share/doc/zabbix-server-mysql-***/create/

    server端和web端在一起-->
    server端的默认端口是10051
    agent端的默认端口是10050
    启动过程中可能会出现诸多问题,这里列出我所出现的:
    zabbix_server [56305]: cannot recreate Zabbix semaphores for IPC key 0x7a016e62 Semaphore ID 4294967295: [22] Invalid argument
    删除对应的IPC KEY,如:ipcrm -S 0x7a016e62
    zabbix_server [56363]: cannot attach to existing shared memory: [13] Permission denied
    查看selinux是否关闭
    配置文件一直不生效
    查看是否有其他配置文件,默认zabbix优先使用/usr/local/etc/zabbix_server.conf,如果发现配置文件调用的不对,可以通过zabbix_server -c 配置文件来调用自己所选择的配置文件.
    配置完成,可以启动
    service zabbix-server start

    访问页面http://localhost/zabbix(如果是rpm安装),如果是编译安装,则路径按照自己httpd中定义的来写.
    安装过程中可能会出现各种组件的支持问题.主要有以下:
    1.php的参数不对,这个根据网页上显示的修改php.ini即可.如:php时区 Aisa/ShangHai
    2.gd库不支持,包括gd库下的png,jpeg,freetype等.这个需要下载gd,libpng,jpeg,freetype.具体操作如下:
    #编译安装libpng,jpeg,freetype,这三个包安装无需特殊参数,指定一下路径即可,有人说需要加入--enable-shared,但是我没开,gd依然可以用.
    #编译安装gd,加入--with-png-dir=/path/libpng    --with-jpeg-dir=/path/jpeg    --with-freetype-dir=/path/freetype
    #如果gd编译后,显示这几个库都是YES,则说明OK.
    #将gd加入到php中.如果你的php已经是安装过的,那么需要单独编译gd,操作如下:(路径自己根据情况修改)
    #cd /usr/local/src/php-***/ext/gd
    #/usr/local/php/bin/phpize
    #./configure --with-gd=/usr/local/gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-php-config=/usr/local/php/bin/php-config
    #make && make install
    编译安装完,会有一个路径,将其路径复制,假设路径是pathA
    #vim /usr/local/php/php.ini
    [gd]
    extension = pathA/gd.so
    #重启apache或fpm-php
    3.其他库不支持,如上编译安装即可.


    被监控端:
    配置:zabbix-agentd.conf
    #vim /etc/zabbix/zabbix_agentd.conf
    PidFile=/tmp/zabbix_agentd.pid #进程PID
    LogFile=/tmp/zabbix_agentd.log #日志保存位置
    EnableRemoteCommands=1 #允许执行远程命令
    Server= #agent端的ip
    Hostname=zabbix server #必须与zabbix创建的host监控项目中的name标签相同
    配置完成,可以启动
    service zabbix-agentd start
    agentd端口时10050

    windows端的安装
    1. 配置zabbix_agentd.conf文件,需要修改的地方分别为:Server,Hostname,LogFile;
    其中Server是zabbix服务器的IP地址,Hostname是本地的主机名,LogFile为zabbix_agentd.log文件的位置,用于记录事件.
    2. 进入cmd环境,C:zabbixinwin32>zabbix_agentd.exe --config c:zabbixconfzabbix_agentd.win.conf -i
    3. 在"运行"输入 "services.msc",在里面找到"ZABBIX AGENT",并启动服务。

    至此就完成了ZABBIX windows agent的安装和配置。 



    配置监控项目基本流程:
    1.设定主机
    2.设定监控项Configuration-->Hosts-->Items-->create items
    多个Items可以定义为Application组
    监控项需要定义key,来确保项目唯一性.另,key可以接收参数.
    3.配置Graph,可以将多个监控项的图表合并在一起.
    4.Screen可以将多个Graph整合在一个屏幕上.
    5.配置触发器
    6.配置动作Action




    [星空刺] |-->一颗星辰一闪即逝,支撑它的唯有方向和目的
  • 相关阅读:
    MySql索引
    HashMap 底层解析
    https超文本安全传输协议
    多线程
    过滤器和拦截器
    计算机操作系统
    计算机网络
    java线程内存模型JMM
    jvm
    数据库
  • 原文地址:https://www.cnblogs.com/aaa103439/p/f1f9cf667d3d227ea2cb6fd8df030c4a.html
Copyright © 2020-2023  润新知