SaltStack 监控调研

少于 1 分钟阅读

Contact me

或者用邮件交流 jacky.wucheng@foxmail.com

如何监控SaltStack

SaltStack的监控

  1. Master和Minion的连通性监控
    1. Master到Minion的test.ping监控
    2. Minion从Master pull file的监控
    3. 日志监控
  2. ZeroMQ的监控
    1. 监听Master和Minion端的EventPublisher
    2. 在Master和Minion的配置文件里开起zmq_monitor选项,并且设置log level为debug,在日志里会记录socket级别的行为日志,该功能需要libzmq >= 4
    3. 使用zeromq的zmq_socket_monitor接口监听底层socket的行为
    4. 日志监控

参考资料

  1. zmq_socket_monitor函数
    1. zmq_socket_monitor接口中文翻译
    2. ZeroMQ(java)中监控Socket
    3. Zeromq PUSH and PULL 模式用什么方法能够准确、及时知道连接断开?
  2. 其他

    1. 如何通过zeromq拿到Sender的IP
    2. 如何监控zeromq的queue里的长度,答案是没有办法。
    3. github: simple_monitor.py
    4. Devices in PyZMQ: MonitoredQueue
    5. Monitor Queue
  3. saltstack里的zeromq监控

    1. master和minion的配置里都留了监控的配置zmq_monitor,见saltstack源码salt/transport/zeromq.py,和 文档说明
  4. saltstack minion端状态监控程序
    1. 通过master给所有minion发送uptime命令, 拿到结果, 若拿不到通过ssh重启minion, 若再次拿不到预期结果, 将该机器判定为故障.
  5. salt-minion自动修复代码,配合salt-minion监控使用
  6. 一个开源的salt监控工具: salmon, salmon