设为首页 收藏本站
查看: 1140|回复: 0

[经验分享] saltstack源码安装zabbix_agent

[复制链接]

尚未签到

发表于 2018-7-31 12:28:37 | 显示全部楼层 |阅读模式
  公司现有的监控使用zabbix,saltstack客户端服务端安装好后,客户端不需要每台机器逐台安装,当然修改zabbix配置文件,直接用salt完成,今天测试了salt源码安装zabbix_agent,效果还行;
  老规矩,top.sls
  [root@cacti salt]# cat top.sls
  base:
  '*':
  - zabbix
  #目录树
  [root@cacti salt]# tree zabbix/
  zabbix/
  ├── conf.sls
  ├── files
  │?? ├── conf.sh
  │?? ├── zabbix-2.4.7.tar.gz
  │?? ├── zabbix_agentd
  │?? └── zabbix_agentd.conf
  ├── init.sls
  └── install.sls
  通过一阵子的salt学习,写sls文件要建立这样的思想:
  1、按sls文件类别划分成:引用文件,安装文件,配置文件,最好独立分成这三部分,出错了更容易排查:
  2、配置前需要考虑几个使用到的功能,最好有份手动安装的配置文档,以此配置,然后开始sls编写:
  需要使用到的功能有:
  使用状态模块:file、cmd、service、user、group等
  使用状态间关系:require、unless、template等
  sls文件之间的互相引用:include
  [root@cacti zabbix]# cat init.sls
  include:
  - zabbix.conf
  - zabbix.install
  [root@cacti zabbix]# cat install.sls
  zabbix_source:
  file.managed:
  - name: /usr/local/src/zabbix-2.4.7.tar.gz
  - source: salt://zabbix/files/zabbix-2.4.7.tar.gz
  - user: root
  - group: root
  - mode: 644
  cmd.run:
  - cwd: /usr/local/src
  - name: tar xf zabbix-2.4.7.tar.gz && chown -R root.root zabbix-2.4.7
  - require:
  - file: zabbix_source
  zabbix_user:
  group.present:
  - name: zabbix
  - gid: 201
  user.present:
  - name: zabbix
  - fullname: zabbix
  - uid: 201
  - gid: 201
  - createhome: False
  - shell: /sbin/nologin

  - unless:>  zabbix_pkginstall:
  pkg.installed:
  - pkgs:
  - gcc
  - gcc-c++
  - autoconf
  - automake
  - mod_ssl
  - net-snmp-devel
  - libcurl-devel
  - zlib
  - zlib-devel
  zabbix_commpile:
  cmd.run:
  - name: cd /usr/local/src/zabbix-2.4.7 && ./configure --prefix=/usr/local/zabbix --enable-agent && make && make install
  - require:
  - file: zabbix_source
  - user: zabbix_user
  [root@cacti zabbix]# cat conf.sls
  include:
  - zabbix.install
  /usr/local/zabbix/etc/zabbix_agentd.conf:
  file.managed:
  - name: /usr/local/zabbix/etc/zabbix_agentd.conf
  - user: root
  - mode: 644
  - source: salt://zabbix/files/zabbix_agentd.conf
  - template: jinja   #引用jinja模版
  - require:
  - pkg: zabbix_pkginstall
  salt://zabbix/files/conf.sh:
  cmd.script:
  - env:
  - BATCH: 'yes'
  - unless: test -d /usr/local/etc/zabbix_agentd.conf.d
  - require:
  - cmd: zabbix_commpile
  zabbix_agentd:
  file.managed:
  - name: /etc/init.d/zabbix_agentd
  - user: root
  - mode: 755
  - source: salt://zabbix/files/zabbix_agentd
  cmd.run:
  - name:
  - /sbin/chkconfig --add zabbix_agentd
  - unless: /sbin/chkconfig --list zabbix_agentd
  service.running:
  - enable: True

  ##        ->  - watch:
  - file: /usr/local/zabbix/etc/zabbix_agentd.conf
  因为zabbix_agentd客户端配置文件/usr/local/zabbix/etc/zabbix_agentd.conf,在每个客户端中配置选项Hostname= 各不相同,这就可以把初始化中grains的变量值或者pillar自定义的变量值配置到/usr/local/zabbix/etc/zabbix_agentd.conf中,我这里只以配置文件中Hostname选项为例:
  [root@cacti zabbix]# vim files/zabbix_agentd.conf
  Hostname={{ grains['host'] }} 这样就可以获取到了系统的hostname,
  更多用法可以使用salt 'minions' grains.items查看,或者salt 'minions' pillar.items
  [root@cacti zabbix]# cat files/conf.sh
  #!/bin/bash
  #
  mkdir /usr/local/etc/zabbix_agentd.conf.d
  mkdir /var/log/zabbix && chown -R zabbix.zabbix /var/log/zabbix
  ln -s /usr/local/zabbix/bin/* /usr/bin/
  ln -s /usr/local/zabbix/sbin/* /usr/sbin/
  zabbix_agentd 和zabbix_agentd.conf 可以从源码安装包中获取,另外zabbix_agentd的sysv脚本需要修改zabbix_agentd的安装目录才可以。
  一切妥当,最后执行salt 'minions' state.highstate

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-544153-1-1.html 上篇帖子: saltstack源码安装nrpe-LawLer 下篇帖子: ATsystem --saltstack web 管理平台
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表