基础:基本的虚拟机安装
个人阐述:目前是一名网工的大二学生,路由与交换的知识已经学习了大部分,老师建议学习一下Zabbix,说是寒假带着一起学来,加到了企业微信群里,一整个暑假,学长和老师聊着学习,我一次企业微信也没有打开,寒假瞎安来,一直安不上,Linux还没学。到了学校让填健康日报打开企业微信才发现老师带着学长安上了,感觉失去了全世界,不好意思再麻烦老师,有一天发现了新盟教育有个部署Zabbix的试听课就去报了名,这才跟着一步一步安上,其实怪感谢这个课的。
以下大部分笔记来自这个试听课,真的讲的很明白,网上的大部分教程我是真的看不明白
传输图片太费劲了,记录在notion
https://sponge-astronomy-86a.notion.site/Zabbix-d187667babcc4ee9b3d1382b3e14b995
第一章 掌握监控概念及Zabbix部署
-
监控概述
对于监控系统来讲,在企业架构中不是新的技术,但是必不可少的重要组成部分,所谓不监控不运维
监控系统可以帮助运维、开发、测试等人员及时的发现服务器出现的故障,并及时发送告警通知
-
对于监控软件所应该具备等功能如下
指标数据采集(抓取)
指标数据储存
指标数据可视化
故障告警功能
-
-
监控对象介绍
-
系统层监控
系统监控、CPU利用率、内存利用率、磁盘IO速度、进程数量、内核完成性等
网络监控:设备进出口流量、工作负载、网络延迟、丢包率等等
-
中间件监控
消息中间件:kafka、RocketMQ、RabbitMQ等
Web服务容器:Nginx、Tomcat、httpd等
数据库及缓存系统:MySQL、PostgreSQL、MongoDB、Redis、ElasticSearch
存储系统:Ceph
-
应用层监控
用于衡量应用程序代码等状态和性能
-
业务层监控
例如:电商网站销售量、转化率
业务接口:登陆数、注册数、订单量、支付数量
-
-
常用的监控软件介绍
- Nagios:只能做实时的数据监控,致命缺点无法查询历史数据
- Cacti:最初应用在机房做流量方面的监控,致命缺点没有故障告警功能
- Ganglia:跟Cacti类似,致命缺点没有故障告警功能
- Open-Falcon:小米公司开源的一款监控软件,目前还是比较冷门,很对中间件不支持监控
- Zabbix:2012年诞生的一款分布式监控系统,功能完善(例如:数据存储、数据可视化)目前主要应用在传统的物理设备服务器、虚拟机、路由交换领域的监控
- Promethues:2016年崛起的一款监控系统,功能完善,目前主要应用在云平台,容器等领域的监控
-
Zabbix介绍
- Zabbix是C语言编写的企业级开源免费的分布式监控解决方案,可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等等健康状况和完整性
- Zabbix使用灵活等报警通知机制,允许用户为几乎任何时间配置基于电子邮件等警报,这允许对服务器问题作出快速反应
- Zabbix可通过存储的数据提供出色的报告和数据可视化功能
-
Zabbix版本类型
- 标准版:官方提供的技术支持时间7个月
- LTS稳定版:官方提供的技术支持时间5年
-
安装Zabbix 5.0
- 进入用户手册
- 找到4 安装
- 找到4 从二进制包安装
- 选择 1 centerOS
- 选择相应的版本
-
安装——————————————一般要在工作日进行安装,否则有些源下载会出错
-
准备两台虚拟机
-
给192.168.0.24 改名
[root@localhost ~]# hostnamectl set-hostname zabbix-server //把主机名改为zabbix-server
-
exit登出后重新登陆
-
同时操作两台虚拟机
-
安装前准备工作:关闭防火墙与SELinux,配置本地yum源
//关闭防火墙 [root@zabbix-server ~]# systemctl stop firewalld [root@zabbix-server ~]# systemctl disable firewalld //设置成随机不自启
//关闭SELinux [root@zabbix-server ~]# setenforce 0 [root@zabbix-server ~]# vim /etc/selinux/config//删掉enforcing,改成disable ... SELINUX=disabled//修改时按shift+c进行修改 //按esc推出编辑模式 //保存时按shift加:加wq
//搭建本地yum源 [root@zabbix-server ~]# mkdir /mnt/centos [root@zabbix-server ~]# mount /dev/cdrom /mnt/centos [root@zabbix-server ~]# rm -rf /etc/yum.repos.d/ * [root@zabbix-server ~]# vim /etc/yum.repos.d/local.repo [local] name=local_centos baseurl=file:///mnt/centos enbale=1 gpgcheck=0//检查仓库 [root@zabbix-server ~]# yum repolist
-
单独给192.168.0.24安装zabbix监控端
Zabbix官网:下载Zabbix 5.0 LTS for CentOS 7, MySQL, Apache
//创建阿里Base源 [root@zabbix-server ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo <https://mirrors.aliyun.com/repo/Centos-7.repo>//创建阿里epel源 [root@zabbix-server ~]# wget -O /etc/yum.repos.d/epel.repo <http://mirrors.aliyun.com/repo/epel-7.repo>//下载zabbix5.0存储库 [root@zabbix-server ~]# rpm -Uvh <https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm>//安装zabbix软件包 [root@zabbix-server ~]# yum install zabbix-server-mysql zabbix-agent//下载CentOS软件包收藏 [root@zabbix-server ~]# yum -y install centos-release-scl -y//启用zabbix-frontend存储库 [root@zabbix-server ~]# vim /etc/yum.repos.d/zabbix.repo ... //进行修改,把enabled改成1 [zabbix-frontend] name=Zabbix Official Repository frontend - $basearch baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/$basearch/ frontend enabled=1 #启用仓库 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591//安装Zabbix前端软件包 yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y//安装数据库软件 [root@zabbix-server ~]# yum -y install mariadb-server//启动数据库服务 [root@zabbix-server ~]# systemctl start mariadb//设置随机自启 [root@zabbix-server ~]# systemctl enable mariadb//进入数据库 [root@zabbix-server ~]# mysql//创建存储数据的库,并支持中文(库名:zabbix) MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; //授权连接数据库的用户,并设置密码(用户名:zabbix) MariaDB [(none)]> create user zabbix@localhost identified by '123456';//数据库授权 MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;//查看所有库 MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | 访问zabbix的web界面:<http://服务器IP/zabbix> | mysql | | performance_schema | | test | | zabbix | +--------------------+ 5 rows in set (0.01 sec)//进入zabbix库 MariaDB [(none)]> use zabbix; Database changed//查看当前库下表 MariaDB [zabbix]> show tables; Empty set (0.00 sec) #空//在Zabbix服务器主机上,导入初始架构和数据。系统将提示您输入新创建的密码 [root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix Enter password: 123456 #输入zabbix用户密码//为Zabbix服务器配置数据库 [root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf ... //对124行进行修改 100 DBName=zabbix #存储监控数据的库名 116 DBUser=zabbix #连接数据库的用户 124 DBPassword=123456 #设置zabbix用户密码//为Zabbix配置正确的时区 [root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf ... php_value[date.timezone] = Asia/Shanghai #亚洲/上海//启动所有服务 root@zabbix-server ~]# systemctl restart zabbix-server zabbix-agent httpd rhphp72-php-fpm//设置服务随机自启 [root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent httpd rhphp72-php-fpm//查看zabbix服务占用端口信息 [root@zabbix-server ~]# ss -anptul | grep zabbix tcp LISTEN 0 128 *:10051 #zabbix-server端口 tcp LISTEN 0 128 *:10050 #zabbix-anent端口
-
访问https:192.168.0.24/zabbix //推荐使用火狐浏览器
-
进入网页
-
-
192.168.0.50 被监控端配置