美文网首页自动化监控Zabbix我用 LinuxLinux运维
zabbix 客户端 | agent 定制rpm安装包

zabbix 客户端 | agent 定制rpm安装包

作者: _简_述_ | 来源:发表于2016-10-14 15:01 被阅读1112次

    楼主入行之初最讨厌编译安装了,有什么东西直接yum安装,但是有些东西需要自己定制以符合需求。找过很多打RPM包软件,使用起来繁琐,后来找到一个简洁的制作工具,一行命令就可以搞定RPM包---FPM
    1、fpm工具安装

      yum -y install ruby rubygems ruby-devel
      # 添加淘宝的Ruby仓库
      gem sources -a https://ruby.taobao.org/
      # 移除原生的Ruby仓库
      gem sources --remove http://rubygems.org/
      # 安装fpm
      gem install fpm
    
    • 可能会遇到问题
    ERROR:  Error installing fpm:
        ruby-xz requires Ruby version >= 1.9.3.
    
    • 解决方法
      1.更新ruby
      2: 安装旧版本的fpm(建议采用)
    gem install fpm -v 1.4.0
    
    安装成功
    2、zabbix agent编译
    # 去zabbix官网下载最新源码包
    cd /usr/local/src
    wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.7/zabbix-2.4.7.tar.gz
    # 解压
    tar zxvf zabbix-2.4.7.tar.gz 
    # 进入源码目录
    cd /usr/local/src/zabbix-2.4.7/
    # 指定配置参数
    ./configure --prefix=/usr/local/zabbix --enable-agent
    # 编译
    make&&make install 
    

    3、zabbix agent配置

    • 创建定制目录
    mkdir -p /usr/local/zabbix/scripts
    mkdir -p /usr/local/zabbix/tmp
    
    • 启动脚本
    #复制启动脚本
    cp /usr/local/src/zabbix-2.4.7/misc/init.d/fedora/core/zabbix_agentd /usr/local/zabbix/bin/zabbix_agentd
    #修改启动脚本路径
    vim /usr/local/zabbix/bin/zabbix_agentd
    BASEDIR=/usr/local/zabbix
    
    • 配置文件
    vim /usr/local/zabbix/etc/zabbix_agentd.conf
    ####日志####
    PidFile=/usr/local/zabbix/tmp/zabbix_agentd.pid
    LogFile=/usr/local/zabbix/tmp/zabbix_agentd.log
    ####自定义脚本####
    UnsafeUserParameters=1
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
    ####被动模式####
    Server=
    ####主动模式####
    ServerActive=
    ####参数####
    StartAgents=5
    Hostname=Zabbix agent
    HostMetadata=Linux
    RefreshActiveChecks=60
    ####数据缓冲####
    BufferSend=10
    BufferSize=1000
    MaxLinesPerSecond=200
    Timeout=15
    
    • 创建安装后脚本
    vim /usr/local/src/install
    #!/bin/bash
    useradd zabbix  -s /sbin/nologin
    chown -R zabbix:zabbix /usr/local/zabbix
    \cp  /usr/local/zabbix/bin/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
    chmod +x /etc/rc.d/init.d/zabbix_agentd
    chkconfig zabbix_agentd on
    sed -i "s/^Hostname=Zabbix agent/Hostname=`hostname`/g" /usr/local/zabbix/etc/zabbix_agentd.conf
    
    • 和卸载后脚本
    vim /usr/local/src/install/remove
    #!/bin/bash
    pkill -9 zabbix_agentd
    userdel -r zabbix
    groupdel zabbix 
    rm -rf /etc/rc.d/init.d/zabbix_agentd
    chkconfig --del zabbix_agentd
    rm -rf /usr/local/zabbix
    
    • 安装后的目录效果图
    .
    ├── bin
    │   ├── zabbix_agentd
    │   ├── zabbix_get
    │   └── zabbix_sender
    ├── etc
    │   ├── zabbix_agent.conf
    │   ├── zabbix_agent.conf.d
    │   ├── zabbix_agentd.conf
    │   └── zabbix_agentd.conf.d
    ├── lib
    ├── sbin
    │   ├── zabbix_agent
    │   └── zabbix_agentd
    ├── scripts
    ├── share
    │   └── man
    │       ├── man1
    │       │   ├── zabbix_get.1
    │       │   └── zabbix_sender.1
    │       └── man8
    │           └── zabbix_agentd.8
    └── tmp
    

    4、打RPM包

    FPM常用参数:
    -s:指定源类型
    -t:指定目标类型,即想要制作为什么包
    -n:指定包的名字
    -v:指定包的版本号
    -C:指定打包的相对路径
    --no-rpm-sign 指定安装目录
    假如-C / --no-rpm-sign /usr/local/zabbix 而打包机器的数据包路径是/usr/local/zabbix 那安装这个rpm包后,在本地的数据就是/usr/local/zabbix。
    如果是-C /usr/local/zabbix --no-rpm-sign 那么必须吧数据包放到/usr/local/zabbix/usr/local/zabbix 下,否安装全部安装在/根目录下
    -d:指定依赖于哪些包
    -f:第二次包时目录下如果有同名安装包存在,则覆盖它
    -p:输出的安装包的目录,不想放在当前目录下就需要指定
    --post-install:软件包安装完成之后所要运行的脚本;同--offer-install
    --pre-install:软件包安装完成之前所要运行的脚本;同--before-install
    --post-uninstall:软件包卸载完成之后所要运行的脚本;同--offer-remove
    --pre-uninstall:软件包卸载完成之前所要运行的脚本;同—before-remove
    --description:软件包描述
    详情:fpm -h
    
    fpm -f -s dir -t rpm -n zabbix-agent --epoch 0 -v 2.4.7 -C /  -p /tmp/  --verbose --category 'Applications/Internet' --description 'Zabbix Agent' --url 'http://www.zabbix.com/' --license 'BSD' -m 'zabbix'  --post-install /usr/local/src/install --post-uninstall /usr/local/src/remove  --no-rpm-sign /usr/local/zabbix
    
    成功打包

    5、安装卸载

    #安装
    rpm ivh zabbix-agent-2.4.7-1.x86_64.rpm
    #卸载
    rpm -e zabbix-agent-2.4.7-1.x86_64
    

    相关文章

      网友评论

        本文标题:zabbix 客户端 | agent 定制rpm安装包

        本文链接:https://www.haomeiwen.com/subject/txpgyttx.html