目录
1、系统组成
2、采集模式
3、监控类型
4、相关术语
5、安装部署
1、系统组成
2、采集模式
监控系统数据采集的工作模式可以分为
被动模式(从服务器端到客户端采集数据,对应的英文单词是pull)
主动模式 (客户端主动上报数据到服务器端,对应的英文单词是push)
3、监控类型
硬件监控 适用于物理机、远程管理卡(iDRAC),IPMI(只能平台管理接口)
ipmitools:,MegaCli(查看Raid磁盘)
系统监控**:** 监控cpu:lscpu、uptime、top、vmstat 1 、mpstat 1、htop
监控内存: free -m、
监控硬盘:df -h、iotop
监控网络:iftop、netstat、ss
应用服务监控:nfs、MySQL、nginx、apache、php、rsync
所有监控范畴,都可以整合到Zabbix中
硬件监控:Zabbix、IPMI、lnterface
系统监控:Zabbix、Agent、Interface
Java监控:Zabbix、JMX、lnterface
网络设备监控:Zabbix、SNMP、lnterface
应用服务监控:Zabbix、Agent、UserParameter
MySQL数据库监控:percona-monitoring-plulgins
URL监控:Zabbix Web监控
4、相关术语
1、主机(host):要监控的网络设备,可由IP或DNS名称指定;
2、主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;
3、监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识;
4、触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";
5、事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等;
6、动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;
7、报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等;
8、媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等;9、通知(notification):通过选定的媒介向用户发送的有关某事件的信息;
10、远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行;
11、模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机;
12、应用(application):一组item的集合;
13、web场景(web scennario):用于检测web站点可用性的一个或多个HTTP请求;
14、前端(frontend):Zabbix的web接口;
5、安装部署
关闭防火墙、安全机制
#关闭防火墙、安全机制
[root@zabbix ~]# systemctl stop firewalld
[root@zabbix ~]# setenforce 0
rpm安装mysql8.0
#rpm安装mysql8.0
[root@zabbix ~]# mkdir /tmp/package
[root@zabbix ~]# cd /tmp/package/
[root@zabbix package]# wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
[root@zabbix package]# yum -y install mysql80-community-release-el7-5.noarch.rpm
安装mysql依赖文件
#安装mysql依赖文件
[root@zabbix package]# yum -y install gcc-c++ mysql-devel net-snmp-devel libevent-devel
下载mysql和zabbix的包
#下载mysql和zabbix的包
[root@zabbix package]# wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.1.tar.gz
[root@zabbix package]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
将mysql安装包解压到所创建的mysql目录,并rpm安装mysql
#将mysql安装包解压到所创建的mysql目录,并rpm安装mysql
[root@zabbix package]# mkdir /usr/local/mysql
[root@zabbix package]# tar xf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql
[root@zabbix package]# cd /usr/local/mysql/
[root@zabbix mysql]# rpm -ivh mysql-community-* --force --nodeps
[root@zabbix mysql]# rpm -qa | grep ^mysql
启动mysql并将其加入开机启动
#启动mysql并将其加入开机启动
[root@zabbix mysql]# systemctl start mysqld
[root@zabbix mysql]# systemctl enable mysqld
[root@zabbix mysql]# systemctl status mysqld.service
修改mysql的密码
#创建zabbix的库、用户、并给其授权
mysql> alter user root@localhost identified by 'zabbix';
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
创建zabbix的库、用户、并给其授权
#创建zabbix的库、用户、并给其授权
mysql> alter user root@localhost identified by 'zabbix';
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
将zabbix安装包解压到所创建的zabbix目录下
#将zabbix安装包解压到所创建的zabbix目录下
[root@zabbix package]# mkdir /usr/local/zabbix
[root@zabbix package]# tar -zxvf zabbix-6.0.1.tar.gz -C /usr/local/zabbix/
创建组和用户
#创建组和用户
[root@zabbix ~]# groupadd zabbix
[root@zabbix ~]# useradd -g zabbix -M -s /sbin/nologin zabbix
编译安装zabbix
#编译安装zabbix
[root@zabbix ~]# cd /usr/local/zabbix/zabbix-6.0.1/
[root@zabbix zabbix-6.0.1]# ./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-net-snmp --with-mysql
[root@zabbix zabbix-6.0.1]# make install
出现报错问题解决:
##出现
configure: error: Not found mysqlclient library
------> yum install mysql-devel -y
configure: error: Not found Net-SNMP library
------> yum install net-snmp-devel -y
configure: error: Unable to use libevent (libevent check failed)
------> yum install libevent-devel -y
#出现没有libevent包 #方法一:更换镜像源 #方法二:源码安装
[root@zabbix package]# wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
[root@zabbix package]# mkdir /download
[root@zabbix package]# tar -zxvf libevent-2.1.12-stable.tar.gz -C /download
[root@zabbix package]# cd /download/libevent-2.1.12-stable/
[root@zabbix libevent-2.1.12-stable]# ./configure --prefix=/usr/local/libevent/
[root@zabbix libevent-2.1.12-stable]# make
[root@zabbix libevent-2.1.12-stable]# make install
安装php centos7自带php版本为5.6
#安装php centos7自带php版本为5.6
[root@zabbix zabbix-6.0.1]# yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@zabbix zabbix-6.0.1]# yum -y install yum-utils
[root@zabbix zabbix-6.0.1]# yum-config-manager --disable 'remi-php*'
[root@zabbix zabbix-6.0.1]# yum-config-manager --enable remi-php74
[root@zabbix zabbix-6.0.1]# yum -y install php php-bcmath php-gd php-xml php-mbstring php-mysqlnd php-ldap
[root@zabbix zabbix-6.0.1]# yum -y install curl-devl libxml2 libxml2-devel
修改php的参数
#修改php的参数
[root@zabbix zabbix-6.0.1]# vim /etc/php.ini
修改post_max_size为16M
修改max_execution_time为300
修改max_input_time为300
将前端文件移动到web服务目录下,并授权
#将前端文件移动到web服务目录下,并授权
[root@zabbix zabbix-6.0.1]# cp -r /usr/local/zabbix/zabbix-6.0.1/ui/* /var/www/html/
[root@zabbix zabbix-6.0.1]# chown apache:apache /var/www/html -R
导入数据库架构及数据
#导入数据库架构及数据
[root@zabbix zabbix-6.0.1]# mysql -uzabbix -pzabbix zabbix < /usr/local/zabbix/zabbix-6.0.1/database/mysql/schema.sql
[root@zabbix zabbix-6.0.1]# mysql -uzabbix -pzabbix zabbix < /usr/local/zabbix/zabbix-6.0.1/database/mysql/images.sql
[root@zabbix zabbix-6.0.1]# mysql -uzabbix -pzabbix zabbix < /usr/local/zabbix/zabbix-6.0.1/database/mysql/data.sql
修改配置zabbix server 文件数据库密码
#修改配置zabbix server 文件数据库密码
[root@zabbix zabbix-6.0.1]# vim /usr/local/zabbix/etc/zabbix_server.conf
DBPassword=zabbix
启动
#启动
[root@zabbix zabbix-6.0.1]# service httpd start
Redirecting to /bin/systemctl start httpd.service
[root@zabbix zabbix-6.0.1]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@zabbix zabbix-6.0.1]# cd /usr/local/zabbix/sbin/
[root@zabbix sbin]# ./zabbix_server