Jacky Wu bio photo

Jacky Wu

Software Architect in China

Email Twitter Facebook LinkedIn Github Weibo

如何监控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