监控平台介绍

  • 流行的开源监控软件有:Cacti、Nagios、Zabbix、smokeping、open-falcon等等
  • Cacti、Nagios以及Zabbix都是C/S架构并且都需要有PHP环境的支持。
  • 前三款软件都可以监控服务器的基础指标,比如CPU、内存、磁盘、网络等等

    • Cacti更擅长监控网络流量,很多IDC机房的网络设备流量用cacti来监控。
    • Nagios不需要数据库(被冷漠ing),Cacti和Zabbix都需要MySQL的支持,用来存储数据。
    • Zabbix可以存储数据方便地画图,并且支持查询历史数据和自定义监控项。
    • open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧。
    • Prometheus,监控容器平台更加方便

      zabbix监控介绍

  • Zabbix 是一个企业级的分布式开源监控方案。

  • Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户 为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。
  • Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行 访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix可 以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如 此,目前官方新版本为4.0 LTS。

    zabbix组件结构

  • Zabbix_Server:整个监控体系中核心的组件,它负责接收客户端发送的报告信息,所有配置、统计数据及操作 数据都由它组织。

  • 数据库存储:所有配置信息和Zabbix收集到的数据都被存储在数据库中。
  • Web界面:为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是 Zabbix Server的一部分,通常跟Zabbix Server运行在同一台物理机器上(!如果使用SQLite,Zabbix Web界面必 须要跟Zabbix Server运行在同一台物理机器上。)
  • Zabbix_Proxy(可选):用于监控节点非常多的分布式环境中,它可以代理zabbix-server的功能,减轻zabbixserver的压力。
  • Zabbix_Agent:zabbix-agent为客户端软件,用于采集各监控项目的数据,并把采集的数据传输给zabbixproxy或zabbix-server。

    zabbix安装和部署

  1. 1. 安装源码库配置部署包:
  2. [root@node1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
  3. 2. 安装Zabbix部署包:
  4. [root@node1 ~]# yum install zabbix-server-mysql zabbix-web-mysql -y
  5. 3. 安装数据库并配置:
  6. [root@node1 ~]# yum install mariadb-server -y
  7. [root@node1 ~]# systemctl enable mariadb
  8. [root@node1 ~]# systemctl start mariadb
  9. shell> mysql -uroot -p<password>
  10. mysql> create database zabbix character set utf8 collate utf8_bin;
  11. mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '000000';
  12. mysql> quit;
  13. 导入相关SQL语句:
  14. zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p000000 zabbix
  15. 启动Zabbix Server进程:
  16. # vi /etc/zabbix/zabbix_server.conf
  17. DBHost=localhost
  18. DBName=zabbix
  19. DBUser=zabbix
  20. DBPassword=000000
  21. [root@node1 ~]# systemctl enable zabbix-server
  22. [root@node1 ~]# systemctl start zabbix-server
  23. /etc/httpd/conf.d/zabbix.conf
  24. php_value max_execution_time 300
  25. php_value memory_limit 128M
  26. php_value post_max_size 16M
  27. php_value upload_max_filesize 2M
  28. php_value max_input_time 300
  29. php_value max_input_vars 10000
  30. php_value always_populate_raw_post_data -1
  31. # php_value date.timezone Asia/Shanghai
  32. [root@node1 ~]# systemctl start httpd
  33. [root@node1 ~]# systemctl enable httpd
  34. 浏览器:http://192.168.10.10/zabbix
  35. 1. .....
  36. 默认的用户名和密码: Admin/zabbix
  37. 客户端:
  38. 服务组件: Zabbix_agent
  39. [root@node1 yum.repos.d]# scp zabbix.repo root@node2:/etc/yum.repos.d/
  40. [root@node2 ~]# yum install zabbix-agent -y
  41. [root@node2 ~]# yum install --nogpgcheck zabbix-agent
  42. [root@node2 zabbix]# cat /etc/zabbix/zabbix_agentd.conf | grep -Ev "^$|^#"
  43. PidFile=/var/run/zabbix/zabbix_agentd.pid
  44. LogFile=/var/log/zabbix/zabbix_agentd.log
  45. LogFileSize=0
  46. Server=192.168.10.10
  47. ServerActive=192.168.10.10
  48. Hostname=node2
  49. Include=/etc/zabbix/zabbix_agentd.d/*.conf
  50. [root@node2 zabbix]# systemctl enable zabbix-agent
  51. [root@node2 zabbix]# systemctl start zabbix-agent
  52. Zabbix_Server--- Node1需要监控:
  53. [root@node1 yum.repos.d]# yum install zabbix-agent -y
  54. [root@node1 yum.repos.d]# systemctl enable zabbix-agent
  55. [root@node1 yum.repos.d]# systemctl start zabbix-agent