作者信息:https://home.cnblogs.com/u/huangjiabobk

在运维工作中,有100台云服务器 如何快速部署和监控并实现监控告警?

在运维工作中,面对100台云服务器的监控需求,可以采用以下步骤快速部署Zabbix并实现监控告警:

1. Zabbix Server 的部署

首先,需要部署Zabbix Server。可以选择在一台云服务器上安装Zabbix Server和数据库(如MySQL或PostgreSQL)。以下是部署步骤:

  1. 安装Zabbix Server

    • 添加Zabbix官方仓库并安装Zabbix Server:

      rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-5.el8.noarch.rpm
      dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf
      
    • 配置数据库并启动Zabbix Server。

  2. 配置Web前端

    • 配置Zabbix Web界面,访问http://<Zabbix Server IP>/zabbix,完成初始设置。
2. 批量部署Zabbix Agent

对于100台云服务器,手动部署Zabbix Agent效率较低,可以使用自动化工具(如Ansible)进行批量部署。

3. Ansible脚本示例
  1. 安装Ansible
    dnf install -y ansible
    
  2. 编写Ansible Playbook
    - hosts: all
      become: yes
      tasks:
        - name: Install Zabbix Agent
          dnf:
            name: zabbix-agent
            state: present
    
        - name: Configure Zabbix Agent
          lineinfile:
            path: /etc/zabbix/zabbix_agentd.conf
            regexp: '^Server='
            line: 'Server=<Zabbix Server IP>'
          notify: restart zabbix-agent
    
        - name: Configure Hostname
          lineinfile:
            path: /etc/zabbix/zabbix_agentd.conf
            regexp: '^Hostname='
            line: 'Hostname={{ inventory_hostname }}'
    
        - name: Enable and start Zabbix Agent
          systemd:
            name: zabbix-agent
            enabled: yes
            state: started
    
        - name: Open Zabbix Agent port
          firewalld:
            service: zabbix-agent
            permanent: yes
            state: enabled
          notify: restart firewalld
    
        handlers:
          - name: restart zabbix-agent
            systemd:
              name: zabbix-agent
              state: restarted
    
          - name: restart firewalld
            systemd:
              name: firewalld
              state: restarted
    
  3. 运行Playbook

    ansible-playbook -i hosts zabbix_agent_deploy.yml
    

    其中hosts文件包含所有云服务器的IP地址。

4 添加主机到Zabbix Server

在Zabbix Web界面中批量添加主机:

  1. 导入主机
    • 在Zabbix Web界面中,进入Configuration > Hosts,点击Import,批量导入主机。
    • 确保主机名与Zabbix Agent配置文件中的Hostname一致。
  2. 应用模板
    • 为每台主机应用默认模板(如Template OS Linux),以便快速启用常见监控项。
5. 配置监控项和触发器
  1. 默认监控项

    • Zabbix默认模板已包含常见的系统监控项(如CPU、内存、磁盘等)。
  2. 自定义监控项

    • 如果需要监控特定服务(如Nginx、MySQL),可以添加自定义监控项。例如,监控Nginx状态:

      UserParameter=nginx.status[*],/usr/local/bin/nginx_status.sh $1
      

      并在Zabbix Web界面中创建对应的监控项。

  3. 配置触发器

    • 创建触发器以定义告警条件。例如,CPU使用率超过90%告警:

      {<主机名>:system.cpu.util[,iowait].last()}>90
      
6. 配置告警和通知
  1. 设置动作(Actions)
    • 在Zabbix Web界面中,进入Configuration > Actions,创建新的动作。
    • 定义告警触发条件和通知方式(如邮件、短信、Webhook)。
  2. 配置通知媒介
    • 为管理员用户配置通知媒介(如SMTP服务器、Webhook地址)。
7. 测试和优化
  1. 测试监控项和告警
    • 手动触发告警条件,验证告警通知是否正常。
  2. 优化性能
    • 如果监控压力较大,可以考虑部署Zabbix Proxy,分担Server的负载。

综上所述,通过以上步骤,可以快速完成100台云服务器的Zabbix监控部署,并实现高效的监控告警功能。

posted @ 2025-03-12 11:23  黄嘉波  阅读(94)  评论(0)    收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波