目录

1、系统组成

2、采集模式

3、监控类型

4、相关术语

5、安装部署


1、系统组成

針對zabbix安裝Grafana zabbix安装部署_mysql

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