saltstack源码安装zabbix_agent

公司现有的监控使用zabbix,saltstack客户端服务端安装好后,客户端不需要每台机器逐台安装,当然修改zabbix配置文件,直接用salt完成,今天测试了salt源码安装zabbix_agent,效果还行;

老规矩,top.sls

[[email protected] salt]# cat top.sls

base:

‘*‘:

- zabbix

#目录树

[[email protected] 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

[[email protected] zabbix]# cat init.sls

include:

- zabbix.conf

- zabbix.install

[[email protected] 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: id zabbix

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

[[email protected] 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

##        - reload: True  #此处不需要reload

- 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选项为例:

[[email protected] zabbix]# vim files/zabbix_agentd.conf

Hostname={{ grains[‘host‘] }} 这样就可以获取到了系统的hostname,

更多用法可以使用salt ‘minions‘ grains.items查看,或者salt ‘minions‘ pillar.items

[[email protected] 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

时间: 2024-10-13 01:47:57

saltstack源码安装zabbix_agent的相关文章

Saltstack源码安装zabbix_agent客户端

安装和环境介绍略,直接上正题: 一,首先是树状图 [[email protected] salt]# pwd /srv/salt [[email protected] salt]# tree . ├── init │   └── init.sls ├── top.sls └── zabbix     ├── conf.sls     ├── files     │   ├── zabbix_agentd     │   ├── zabbix_agentd.conf     │   └── zab

saltstack 系列(四)centos7使用saltstack源码安装nginx

使用saltstack源码安装nginx,首先先看一下我nginx的目录  tree一下,我们只需要关系nginx-install.sls 和nignx-service.sls.clu-vhost是我用python写的自动添加集群和自动更新踢出集群,后面会讲到. nginx ├── files │   ├── clu-vhost │   │   ├── 11.py │   │   ├── content.txt │   │   ├── epel-release-latest-7.noarch.r

saltstack源码安装nrpe

最近弄saltstack弄上瘾了,今天又弄了saltstack源码安装nrpe,安装nrpe之前需要安装nagios-plugins,首先是top.sls文件: [[email protected] salt]# cat top.sls base: '*': - nagios [[email protected] salt]# tree nagios   #目录结构 nagios ├── conf.sls ├── files │?? ├── conf.sh │?? ├── nagios-plug

saltstack源码安装nginx

[首先配置好saltstack基础环境,确保master能远程minion,这里就不列举了]  因为涉及到的目录较多,因此先规划好目录结构 [[email protected] dev]# tree /srv/dev/ /srv/dev/nginx_install │       ├  initpkg.sls │          ├  initall .sls │       ├  nginx_init.sls │          ├  files │           └── nginx

通过saltstack源码安装mysql

tree /srv/salt /srv/salt |-- mysql |   |-- conf.sls |   |-- files |   |  |-- conf.sh |   |  |-- my.cnf |   |  |-- mysql-5.5.33.tar.gz |   |  |-- mysqld |   |  `-- mysqllns.sh |   |-- init.sls |   `-- install.sls `-- top.sls cat /srv/salt/top.sls base

Centos下用Saltstack源码安装Mysql

简介: SaltStack是 一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基 于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq.PyCrypto.Pyjinjia2. python-msgpack和PyYAML等)构建. 最近工作比较闲,所以继续学习saltstack,今天就用源码来安装Mysql数据库,学saltstack还是得多实践,废话不多说,上干

源码安装zabbix_agent 3.2.3

一,环境 centos/zabbix3.2.3 1.安装包选择 下载地址:http://www.zabbix.com/download.php 这里有两种源码包,一种是安装 Zabbix Server 的包,可以通过指定参数 --enable-agent 的方式安装 Agent一种是安装 Zabbix Agent 的包,解压配置即可,并且默认提供了监控 MySQL 性能的模板 Key 2.安装 ( 我选择的是第一种方式 ) shell > useradd -r -s /sbin/nologin 

实战使用saltstack源码安装配置mysql

环境: salt_master:192.168.100.228 salt_client1:192.168.100.245 master client 版本一致 [[email protected]_server base]# salt --versions-report            Salt: 0.17.5          Python: 2.6.6 (r266:84292, Jun 18 2012, 14:18:47)          Jinja2: unknown       

zabbix源码安装流程及报错解决方法

zabbix源码安装流程及报错解决方法 一. zabbix的介绍 1) zabbix是什么 zabbix是一款基于web页面的.开源的.企业级的,支持分布式部署的监控软件. 2)2.zabbix的作用 监控windows和Linux主机上的软硬件状态. 监控各网络设备,如路由器.交换机.防火墙.f5.打印机等. 支持邮件短信微信等平台发送告警通知. 通过web页面及图形展示监控数据. 3)zabbix的特性 由zabbix server和agent程序协同工作,还支持分布式监控,这时需要安装za