SaltStack Returner调研

少于 1 分钟读完

1. Salt Returner

概念解释returner

minion接收到master发来的指令,将执行结果直接通过returner写入到其他地点。

作用

  1. 可以直接将结果写入数据库,消息队列等,不需要返回给master,将消息流的处理灵活化了。
  2. 通过给master发送异步的消息任务,结合returner,就可以利用salt的架构实现异步的任务。

1.1. MySQL Returner

要使用MySQL Returner的依赖

  • 安装MySQL-python的python module,否则该Returner不会启用,而且没有报错
    # 见源码salt/returners/mysql.py
try:
import MySQLdb
HAS_MYSQL = True
except ImportError:
HAS_MYSQL = False

参考

1.2. 其他Returner

参考 Full list of builtin returners

1.3. Returner的应用场景

  1. 用Returner来做临时的监控采集器, 链接 用Saltstack的returners实现监控及执行结果回调不同链接同一篇文章
  2. salt自动部署zabbix,并且自动添加服务器角色和zabbix模板
  3. 用Saltstack的 returner modules和grains实现实时监控平台
  4. 利用salt local file returner 和 fluent采集数据

2. Job Management

2.1. Job Cache

关于job-cache的解释

master记录job和minion的返回结果的地方。

默认的job cache路径在linux上位置是:/var/cache/salt/master/jobs

    #
[root@master jobs]# pwd
/var/cache/salt/master/jobs
[root@master jobs]# tree 17/
17/
└── 96e856a660a104fdd94d6270642917
├── client.jacky.com
│   └── return.p
└── jid

处理job cache的方式有两种

  1. 如上存储在master本地目录是第一种
  2. 第二种是存储在外部系统,又分为两种,优缺点参考 这里
    1. 由master来写数据,由master conf中的master_job_cache来控制
    2. 由minion来写数据,由minion conf中的ext_job_cache来控制

参考

3. 其他参考资料

留下评论

您的电子邮箱地址并不会被展示。请填写标记为必须的字段。 *

正在加载...