Zabbix介绍
Zabbix监控组件主要包括:Zabbix Server、Zabbix Proxy、Zabbix Agent;
其中Zabbix Server包括:WEB GUI、Database、Zabbix Server。
Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利
zabbix是一个基于Web界面的,提供分布式系统监控以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题
专业运维配置监控首选, 如果是兼职部分运维, 机器数量不够10台, 更推荐省心的云帮手进行监控。
每个模块工作职责:
Zabbix Server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;
Zabbix Proxy:常用于分布监控环境中,代理Server收集部分被监控的监控数据并统一发往Server端;(通常大于500台主机需要使用)
Zabbix Agent:部署在被监控主机上,负责收集本地数据发往Server端或Proxy端;
Database Storage:用户存储所有配置信息,以及存储由Zabbix Server收集到的数据;
Web Interface(WEB GUI):Zabbix的GUI接口,通常与Server运行在同一台主机上;
Zabbix监控方式
Zabbix分布式监控系统监控客户端的方式常见有三种:Agent、SNMP、IPMI, 其中较为常用的为agent。
Agent:Zabbix可以基于自身zabbix_agent客户端插件监控OS的状态,例如CPU、内存、硬盘、网卡、文件等。
SNMP:Zabbix通过简单网络管理协议(Simple Network Management Protocol)监控网络设备或windows主机等。通过设定SNMP的参数将相关监控数据传送至服务端,交换机、防火墙等网络设备一般都支持SNMP协议。
IPMI:智能平台管理接口(Intelligent Platform Management Interface,IPMI)即主要应用于设备的物理特性,包括:温度、电压、电扇工作状态,电源供应以及机箱入侵等。IPMI最大的优势在于无论OS的开机还是关机状态下,只要接通电源就可以实现对服务器的监控。
常见集群
Server/Agent模式:
图片.pngProxy代理模式:
图片.png以下针对 Server/Agent部署集群
前提: 服务已经搭建好web服务和mysql服务
前提:关闭防火墙/端口
[root@VM_0_13_centos web]# systemctl disable firewalld && systemctl stop firewalld
[root@VM_0_13_centos web]# setenforce 0 #零时关闭selinux 无需重启 可将这个命令和下面这个一起执行 下次也不用管了
[root@VM_0_13_centos web]# vi /etc/selinux/config
把SELINUXTYPE=targeted 改成 SELINUX=disabled #永久关闭selinux状态 需要重启
[root@VM_0_13_centos web]# chkconfig iptables off #永久关闭iptables状态centos7的我没找到这个
[root@VM_0_13_centos web]# systemctl disable firewalld.service #禁止firewall开机启动centos7的我执行了这个命令
其实不关闭也可以只是会遇到很多问题,比如要单独去开放用到的一些端口,那样用起来很麻烦。
一、首先部署server,搭建server机服务
1、下载zabbix的rpm仓库包
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
2、安装相关套件zabbix-server-mysql
yum install zabbix-server-mysql
安装后, 会生成/etc/zabbix配置文档中的server文档, 以及产生server服务。
3、安装相关套件web-mysql
yum install zabbix-web-mysql
安装后,在相应的web服务, 比如httpd中, /etc/httpd/conf.d中生成zabbix.conf配置php运行环境。
并且, 在/usr/share/doc中生成一个web端的网站界面。
4、创建zabbix数据库,创建zabbix账号
//进入mysql控制台
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> flush privileges; #重新加载权限表
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
5、找到初始数据库并导入
初始数据库位于 /usr/share/doc/zabbix-server-mysql-3.4.10/create.sql.gz
找到并解压, 之后使用source 命令导入上一步创建的数据库即可
6、修改zabbix_server.conf的配置文件
[root@VM_0_13_centos]# grep ^DB /etc/zabbix/zabbix_server.conf
DBHost=localhost #如果不是本机就填写目标ip,前提你也需要在目标主机执行第4步、创建zabbix数据库
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
7、设置php为zabbix中需要使用的合适的参数
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
8、zabbix-server服务设置为开机启动
[root@VM_0_13_centos]# systemctl start zabbix-server
[root@VM_0_13_centos]# systemctl enable zabbix-server
9、将web界面放置于web服务文件夹,配置相关映射或代理
在第三步中, 会生成web网站界面, 将web界面放置于web服务文件夹
cp -r /usr/share/doc/zabbix-web-3.2.11 /var/www/html
10、访问zabbix界面, 进入安装程序。
例如 访问:localhost/zabbix/
安装过程不再赘述
图片.png
11、安装后 设置中文方法
image二、安装zabbix_agent并加入server管理
1、安装agent(被动模式)
注意:
如果有特殊配置, 需要另外搭建主动式agent模式, 参考跨网段/外网环境搭建
Zabbix的主动模式和被动模式都是相对agent来说的。一般情况下默认使用的是zabbix的被动模式,即zabbix server根据监控项定义的时间主动去收集zabbix agent上的数据,优点是能使用更多的模板,更具有灵活性,缺点是当zabbix agent节点过多的时候会增加zabbix server的负荷。主动模式就是zabbix agent将消息推送给zabbix server,优点是减轻了zabbix server的压力,缺点是所有的模板要修改为主动模式
一般来说, 如果server无法连接到agent,但是agent能够连接server, 也需要配置主动式
wget http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-agent-4.0.0-1.alpha1.el7.x86_64.rpm
rpm -ivh zabbix-agent-4.0.0-1.alpha1.el7.x86_64.rpm
2、配置与server的关系
vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.2 #zabbix-server地址
ServerActive=192.168.1.2 #zabbix-proxy地址, 如无proxy则为server地址
Hostname=Zabbix proxy # 是必须要和Server端添加主机时的主机名一样,这样Server端接收到数据才能找到对应关系。
3、添加到services
[root@VM_0_13_centos web]# vi /etc/services
在文件最后面添加如下的内容(一般会自动生成):
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
4、启动zabbix-agent并添加开机自启
[root@VM_0_13_centos web]# service zabbix-agent start
[root@VM_0_13_centos web]# chkconfig zabbix-agent on
检测连通性
服务端安装zabbix-get检测工具
yum install zabbix-get
在服务端进行测试
注意:只能在服务端进行测试,测试与某个agent的连通
zabbix_get -s 172.16.1.61 -p 10050 -k "system.cpu.load[all,avg1]"
zabbix_get -s 172.16.1.21 -p 10050 -k "system.cpu.load[all,avg1]"
监控nginx、mysql、php-fpm等配置可以参考:【CentOS7中配置Zabbix监控nginx、mysql、php-fpm等】
网友评论