zoukankan      html  css  js  c++  java
  • 青蛙学Linux—Zabbix部署之安装和配置Zabbix

    Zabbix Server监听的端口为10051,Zabbix Agent监听的端口为10050。

    1、安装Zabbix Server

    Zabbix Server安装路径/usr/local/zabbix。

    安装依赖环境:

    [root@localhost zabbix-3.4.15]# yum install net-snmp net-snmp-devel curl curl-devel libxml2  libevent libevent-devel

    创建虚拟用户用于运行Zabbix守护进程(如果使用普通用户运行Zabbix,那么Zabbix会以该用户身份运行守护进程;如果以root用户运行Zabbix,那么Zabbix会自动使用zabbix这个用户运行守护进程):

    [root@localhost zabbix-3.4.15]# useradd -s /sbin/nologin zabbix

    解压源码包后进入源码目录,执行configure:

    [root@localhost zabbix-3.4.15]# ./configure --prefix=/usr/local/zabbix --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --enable-server --with-libxml2
    • --with-mysql:启用MySQL做为后端存储数据库。如果MySQL在默认安装目录(RPM安装或YUM安装)只需—with-mysql;如果MySQL不在默认目录,则需要指定mysql_config的路径
    • --with-net-snmp:启用SNMP监控支持
    • --with-libcurl:启用Web监控、VMware监控以及SMTP(邮件发送)需要的组件
    • --with-libxml2:启用VMware监控所需组件
    • --enable-server:启动Zabbix Server,相应的参数有--enable-agent和--enable-proxy

    configure执行完毕无报错后,执行:

    [root@localhost zabbix-3.4.15]# make && make install

    命令执行完毕无报错,说明Zabbix Server安装成功。

    2、初始化数据库和表

    Zabbix需要后端数据库的支持,所以这里需要创建一个用户和数据库,并将Zabbix需要的表导入数据库。导入方法是执行三个SQL文件,文件位于源码目录下的database目录下以数据库软件命名的目录下。这里我们使用的是MySQL,所以三个SQL文件位于源码目录下的database/mysql目录。

    进入这个目录,并在目录中登录MySQL客户端,执行以下命令:

    # 创建一个名为zabbix的数据库
    mysql> create database zabbix character set utf8 collate utf8_bin;
    # 创建一个名为zabbix的MySQL用户,并授权操作zabbix数据库下的所有表
    mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix password';
    # 刷新MySQL
    mysql> flush privileges;
    # 连接到zabbix数据库
    mysql> use zabbix;
    # 依次导入以下三个SQL文件
    mysql> source schema.sql;
    mysql> source images.sql;
    mysql> source data.sql;

    3、Zabbix Server配置文件

    Zabbix Server配置文件位于Zabbix的安装目录下的etc目录中,文件名为zabbix_server.conf。

    修改以下几个配置项(也可以将原配置文件备份,再新建配置文件并写入以下内容):

    ListenPort=10051                # Zabbix Server监听的端口
    LogFile=/tmp/zabbix_server.log  # Zabbix Server日志
    DBHost=localhost                # Zabbix Server连接的数据库服务器
    DBName=zabbix                   # Zabbix Server使用的数据库的名称
    DBUser=zabbix                   # Zabbix Server使用的数据库用户
    DBPassword=zabbix password      # Zabbix Server使用的数据库用户的密码
    ListenIP=0.0.0.0                # 允许哪些主机连接到Zabbix Server
    StartPollers=5       # Zabbix Server启动时启动的Pollers进程的数量,该进程用于主动收集数据;进程数量越多,服务器系统资源消耗越大
    StartTrappers=10     # Zabbix Server启动时启动的Trappers进程的数量,该进程用于接收Agent推送的数据,Agentd为主动模式时,这个值需要设置大一些
    StartDiscoverers=10  # Zabbix Server服务启动时启动Discoverers进程的数量,如果zabbix监控报Discoverers进程忙时,需要提高该值
    AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts  # Zabbix Server运行脚本存放目录,一些供Zabbix Server使用的脚本都可以放在这里

    4、Zabbix Server服务管理脚本

    Zabbix在源码包中自带了服务管理脚本用于管理Zabbix,该脚本位于源码目录的misc/init.d/fedora/core目录下,Zabbix Agent的脚本为zabbix_agentd,Zabbix Server的脚本为zabbix_server

    这里我们需要对该脚本进行一些修改,打开zabbix_server,找到以下内容:

    # Zabbix-Directory
    BASEDIR=/usr/local

    这里设置的是Zabbix Server的安装目录,比如这里修改为:

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

    Zabbix Agent设置同Zabbix Server。

    将脚本拷贝到/etc/init.d目录下:

    [root@localhost core]# cp zabbix_server /etc/init.d

    此时可以使用以下命令启动|重启动|停止Zabbix Server:

    /etc/init.d/zabbix_server start|restart|stop

    在第一次使用/etc/init.d/zabbix_server start启动Zabbix Server后,使用Systemd的系统还可以使用以下命令启动|重启动|停止|查看运行状态:

    systemctl start|restart|stop|status zabbix_server

    注意:在使用源码或者二进制安装MySQL的环境下,Zabbix Server启动失败并提示以下信息:

    Starting zabbix_server:  /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory

    此时只需要在/etc/ld.so.conf文件下添加MySQL的lib目录路径:

    /usr/local/mysql/lib

    然后执行:

    ldconfig

    之后执行:

    /etc/init.d/zabbix_server restart|systemctl restart zabbix_server

    Zabbix Server即可正常启动。

    5、安装和配置Zabbix Agent

    Zabbix Agent建议使用RPM包的方式进行安装,安装的版本和Zabbix Server的版本保持一致。这里在主机B和主机C上安装Zabbix Agent。

    Zabbix Agent可以在https://repo.zabbix.com/zabbix/上下载。

    在主机B上安装Zabbix Agent:

    [root@localhost apps]# rpm -ivh zabbix-agent-3.4.15-1.el7.x86_64.rpm

    通过RPM安装的Zabbix Agent的配置文件位于/etc/zabbix目录下,文件名为zabbix_agentd.conf,该配置文件中有以下一些重要配置:

    # Zabbix Server运行在主机A,IP192.168.0.86,当前主机IP192.168.0.88
    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    Server=192.168.0.86
    StartAgents=3
    ServerActive=192.168.0.86
    Hostname=192.168.0.88
    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    UnsafeUserParameters=1
    • Server:指定Zabbix Server端的IP地址
    • StartAgents:指定Zabbix Agent启动的agent进程的数量,默认为3;设置为0表示关闭Zabbix Agent的被动模式,让Zabbix Agent主动向Zabbix Server推送监控数据
    • ServerActive:指定Zabbix Server端的IP地址,该选项用于开启Zabbix Agent的主动模式,将收集到的监控数据主动推送给Zabbix Server
    • Hostname:指定Zabbix Agent的主机IP或主机名,在Zabbix Web中添加主机时需要使用这里设置的值
    • Include:可以将配置文件放到这里指定的目录下,配置将自动生效
    • UnsafeUserParameters:设置为1时表示启用Zabbix Agent的自定义监控项的功能,即使用UserParameter指令

    配置文件修改完成后,就可以启动Zabbix Agent了。Zabbix Agent的启动方式与其他系统服务相同。

    在主机B上启动Zabbix Agent:

    [root@localhost apps]# systemctl start zabbix-agent

    6、验证监控是否生效

    这里在主机B和主机C上安装并启动了Zabbix Agent,此时在运行Zabbix Server的主机A上使用zabbix_get工具可以检查Zabbix部署是否成功:

    # 进入Zabbix Server安装目录下的bin目录
    [root@localhost bin]# ./zabbix_get -s 192.168.0.88 -p 10050 -k "system.uptime"
    347446
    [root@localhost bin]# ./zabbix_get -s 192.168.0.110 -p 10050 -k "system.uptime"
    347414

    这里可以看到已经有输出值了,说明Zabbix已经部署成功。

  • 相关阅读:
    Golang相关环境变量
    mac catalina关闭系统更新提示
    Git常用命令
    UDP打洞原理
    LANMP相关配置
    Windows平台编译libevent
    Sublime text2 + cygwin编译C++
    C++的指针常量和常量指针
    C++的new和delete
    C/C++产生随机数
  • 原文地址:https://www.cnblogs.com/yu2006070-01/p/10349476.html
Copyright © 2011-2022 走看看