Zabbx6.0(学习笔记)

Zabbx6.0(学习笔记)

目录导航

  • Zabbx6.0(学习笔记)
    • 一、为什么 需要监控系统
    • 二、如何选择监控
    • 三、Zabbix概述
    • 四、Zabbix安装哪个版本?
    • Zabbix安装要求
      • 1、硬件
      • 2、数据库
      • 3、前端
    • 六、Zabbix6.0新特性
      • 1、开箱即用的Zabbix server高可用群集
      • 2、kubernetes监控
      • 3、可视化数据的新方法
      • 4、新增模板和集成
    • 七、Zabbix进程
    • Ubuntu环境搭建
        • 安装步骤:
        • 1、修改IP地址
        • 2、修改时区
        • 3、系统优化
    • 八、克隆虚拟机
    • 九、zabbix6.0部署
      • 安装数据库(mysql-server和maridb二选一)
        • 创建zabbix库和用户
        • 添加zabbix仓库
        • 安装Zabbix server,Web前端,agent
        • 安装中文字体
        • 创建初始数据库
        • 修改zabbix server配置
        • 启动server、agent、apache2
        • 检查
        • 配置前端
        • 配置server上zabbix-agent
    • 其他配置

一、为什么 需要监控系统

二、如何选择监控

Prometheus与Zabbx的对比

Zabbix Prometheus
后端用C开发,界面用PHP开发,定制化难度很高。 后端用golang开发,前端是Grafana,JSON编辑即可解决定制化难度较低。
6.0支持单个Zabbix实例监控超过10万个业务服务 支持更大的集群规模,速度也更快。
更适合监控物理机环境 更适合云环的监控,对Openstack,kubernetes有更好的集成。
监控数据存储在关系型数据库内,如MySQL,很难从现有数据中扩展维度 监控数据存储在基于时间序列的数据库内,便 于对已有数据进行新的聚合。十万级监控数据,Prometheus数据查询速率比Zabbix更快
安装简单,zabbixserver一个软件 包中包括了所有服务端功能 安装相对复杂,监控、告警和界面都分属于不同的组件。
图形化界面比较成熟,界面上基本上能完成全部的配置操作。 界面相对较弱,很多配置需要修改配置文件。
发展时间更长,对于很多监控场景,都 有现成的解决方案 2015年后开始快速发展,发展时间短,但现在也非常的成熟。

总结
实在不知道怎么选?参考如下:
物理机、硬件设备的监控用Zabbix比较多,而docker容器,Kubernetes监控企业用Prometheus多。云服务器厂商自带有监控系统,有的监控不全面,也可以搭配zabbix和Prometheus来一起使用。

三、Zabbix概述

  1. Zabbix企业级的分布式开源监控解决方案
  2. Zabbix是一款能监控网络环境、网络设备(交换机,防火干墙等)、服务器硬件、操作系统、VMware exsi、应用程序、数据库、网站等 软件。
  3. Zabbix灵活的通知机制,允许用户为几乎任何事件配置,并通过电子邮件、短信、钉钉、微信、电话等告警,以实现对服务器问题做出快速反应。
  4. Zabbix是根据GPL充通用公共许可证的第二版编写和分发的,这意味着它的源代码是免费分发的,并且可供公共使用。

四、Zabbix安装哪个版本?

1.现有的Zabbix的版本

版本名称 发布是期 全面支持期限 最低限度支持期限
Zabbix6.2 May30.2022 Nov 30.2022 Dec31,2022
Zabbix6.0LTS Feb8,2022 Feb28,2025 Feb28,2027
Zabbix5.4 May17,2021 Feb28,2022 Mar31,2022
Zabbix5.0LTS May12,2020 May31,2023 May31,2025
Zabbix4.0LTS October1,2018 October31,2021 October31,2023

2、关于Zabbix LTS

LTS代表长期支持版 本,Zabbix LTS版本每一年半发布一次,且为Zabbix客户提供五年的支持服务。

3年全面支持-支持修复基础的紧急的以及安全性上的问题
2年最低限度支持-仅限 支持修复紧急的和安全性上的问题

Zabbix安装要求

1、硬件

名称 平台 CPU/内存 数据库 监控主机数
CentOS Virtual Appliance MySQL InnoDB 100
CentOS 2cpu cores/2GB MySQL InnoDB 500
RedHat Enterprise Linux 4CPU cores/8GB RAID10MySQL InnoDB or PostgreSQL >1000
非常大 RedHat Enterprise Linux 8cpu cores/16GB Fast RAID10MySQL InnoDB or PostgreSQL >10000

注:windows不能安装zabbix-server

2、数据库

数据库软件 支持的版本 备注
MySQL/Percona 8.0.X 如果需要使用MySQL(or Percona)作为Zabbix后端数据库。需要InnoDB engine。我们推荐使用MariaDB Connector/C来构建server/proxy。
MariaDB 10.5.00-10.6.X 需要InnDB engine。我们推荐使用MariaDB Connector/C来构建server/proxy。
Oracle 19c-21c 如果需要使用Oracle作为Zabbix后端数据库
PostgreSQL 13.0-14.X 如查需要使用PostgreSQL作为Zabbix后端数据库
TimescaleDB for PostgreSQL 2.0.1-2.3 如果需要使用TimescaleDB作为Zabbix后端数据库。确保安装的TimescaleDB发行版支持压缩。
SQLite 3.3.5-3.34.X 如果需要使用SQLite作为Zabbix后端数据库。SQLite只支持Zabbix proxy。

3、前端

注:因为Zabbix Web前端是用php语言开发的,所以需要php+nginx或者php+apache环境。

软件 版本 备注
apache 1.3.12或更高版本
Nginx 1.11或更高版本
php 7.25或更高版本 不支持php8.0.

总结如下:

常用安装环境是:LAMP(linux+apache+mysql+php)或LNMP(linux+nginx+mysql+php)
项目 | Value

项目 Value 版本 备注
linux CentOS 8.1|CentOS7只支持5.0
linux Ubuntu 18.04-20.04
前端 nginx >=1.11 建议版本
前端 apache >=13.12
数据库 Mysql 8.0.X
数据库 MariaDB 10.5.00-10.6.X
前端 php >=7.25小于8

六、Zabbix6.0新特性

1、开箱即用的Zabbix server高可用群集

Zabbix server高可用防止硬件故障或计划维护期的停机

原生选择加入HA群集配置
定义一个或多个务用节点
实时监控Zabbix server群集节点的状态
不需要外部工具即可将Zabbix server配置为HA群集模式

2、kubernetes监控

Zabbix 6.0LTS新增Kubernetes监控功能,可以在kubernetes系统从多个维度采集指标:

kubernetes节点和pods的自动发现和监控
无代理方式采集kubernetes pods和节点的信息
获取kubernetes节点主机高水平信息

kubernetes监控还能够监控kubernetes组件,例如:
kube-controller-manager
kube-apiserver
kube-scheduler
kubelet

3、可视化数据的新方法

Zabbix 6.0新增的构件提供了展示信息的许多新方法
地理地图构件能在地图上显示主机和问题
主机排序级件可显示按监控项值 排序的前N个或后N个主机的列表
单一监控英构件能展示单个批标的值
SLA构件能显示特定业务服务的当前SLA

4、新增模板和集成

Zabbix 6.0为最受欢迎的供应商提供了许多新模板:

Cisco ASAv
Cloudflare
Dell PowerEdge
f5BIG-IP
GridGain
HPE ProLiant servers
InfIuxDB
Kubernetes
Mikrotik
NGINX PIus
pfSense
Systemd
Travis CI
VMWare SD-WAN VloXloud

七、Zabbix进程

名称 概述 必须安装 备注
zabbix-server 整个Zabbix软件的核 心程序,过轮询和捕获数据(数据存在数据库里),计算是否满足触发器条件,向用户发送报警通知
zabbix-agent 部署在被监控机器上,以主动监控本地资源和应用程序(硬盘、内存、处理器统计信息等)、将收集到的数据通过被动模式(或主动模式)给到zabbix-agent。 和zabbix-agent2二选一
zabbix-agent2 zabbxi-agent的替代品,它支持zabbix-agent所有功能。 和zabbix-agent二选一
zabbix-proxy 可以代替zabbix server收集性能和可用性数据。分散单个zabbix server的负载非常有用
zabbix-java-gateway 监控JMX应用程序(java应用程序)
zabbix-get 从zabbix agent那里获取所需的信息,用于对zabbix agent故障排错
zabbix-js 用于嵌入脚本测试
zabbix-sender 用来推送性能数据给zabbix server处理的命令行应用程序。用在定期推送可用性和性能数据等待长 耗时的用户脚本上。
zabbix-web-service 在zabbix5.4版中首次出现,基于Go编写,主要作用是定期发送巡检报告到指定邮件帐户对运维服务台、值班人员有一定帮助。

Ubuntu环境搭建

下载Ubuntu镜像

阿里下载:
https://mirrors.aliyun.com/oldubuntu-releases/releases/20.04.3/ubuntu-20.04.3-live-server-arm64.iso?spm=a2c6h.25603864.0.0.5c8e5a27CeLPI1

安装步骤:
Mirror address: 	http://mirrors.aliyun.com/ubuntu 				#把源改成阿里源,升级可提速

Zabbx6.0(学习笔记)_第1张图片
Zabbx6.0(学习笔记)_第2张图片
Zabbx6.0(学习笔记)_第3张图片
Zabbx6.0(学习笔记)_第4张图片
Zabbx6.0(学习笔记)_第5张图片
安装完成

Ubuntu优化及配置

1、修改IP地址
chen@chen:/$ ip add 
chen@chen:/$ sudo vim /etc/netplan/00-installer-config.yaml 

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
      dhcp4: true
  version: 2

进入后按i输入如下内容:

network:
  ethernets:
   ens33:
    addresses: [192.168.11.100/24]
    # optional: true
    gateway4: 192.168.11.2
    nameservers:
     addresses:
        - 192.168.11.2
          #search: []
  version: 2


sudo netplan apply

这是22版配置文件

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
      dhcp4: true
    ens36:		#### network card name
      dhcp4: false
      addresses:
              - 192.168.11.100/24   ## set static IP
      routes:
              - to: default
                via: 192.168.11.2  ## gateway
      nameservers:
        addresses: [8.8.8.8,8.8.4.4,192.168.3.1]
    ens37:
      dhcp4: true
  version: 2

格式的缩进很容易出错, 可以直接复制以上模板

开启 systemd-networkd服务(可选)
sudo systemctl start systemd-networkd
查看systemd-networkd服务状态(可选)
sudo systemctl status systemd-networkd
2、修改时区
chen@chen:~$ sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[sudo] password for chen: 
chen@chen:~$ date -R
Sun, 17 Jul 2022 10:10:14 +080
3、系统优化
#修改文件描述符和进程数
sudo sed -i '/^# End of file/.$d' /etc/security/limits.conf
sudo sh -c "cat >> /etc/security/limits.conf <

# 软件源替换成阿里云
sudo sed -i.bak 's/http:\/\/.*.ubuntu.com/http:\/\/mirrors.aliyun.com/g' /etc/apt/soures.list

#更新
sudo apt update && sudo apt upgrade -y

#重启
reboot

八、克隆虚拟机

准备两台Ubuntu20.04服务器安装zabbix6.0,ip分别为:192.168.11.51,192.168.11.52

九、zabbix6.0部署

部署环境要求:

主机名 IP地址 系统 说明
zabbix01 192.168.11.51 Ubuntu20.04 zabbix server,zabbix agent,mysql都安装在同一台上面

修改主机名:

 sudo hostnamectl set-hostname zabbix01

安装数据库(mysql-server和maridb二选一)

安装mysql-server8.0

ubuntu自带的源只能安装mysql5.7,使用清华源安装mysql8.0

sudo bash -c "cat > /etc/apt/soures.list.d/mysql-community.list" <<EOF
deb https://mirrors.tuna.tsinghua.edu.cn/mysql/apt/ubuntu bionic msql-7.7 mysql-8.0 mysql-tools
EOF

然后导入GPG密钥

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3A79BD29

**注意MySQL8.0.28及更商版 本包的keyid为3A79BD29,如上所示。对于早期的MySQL版本,KeyID是5072EF5。使用不正确的密钥可能会导致密钥验证错误。

安装MySQL

sudo apt update
sudo apt install -y mysql-server

输入mysql的超级管理员root用户密码,输入完后按tab键–选择ok–然后回车

#查看mysql启动状态
sudo systemctl status mysql
创建zabbix库和用户
sudo mysql -root -p
输入password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; #创建zabbix这个库
mysql> create user zabbix@'localhost' identified WITH mysql_native_password by 'password';   #创建zabbxi用户和密码。
mysql> grant all privileges on zabbix.* to zabbix@'localhost'; #授权zabbix用户所有权限
mysql > quit

#验证,zabbix用户能登录成功,show database能看到zabbix库,说明没有问题

sudo mysql -uzabbix -p
输入password
mysql> show databases;
mysql> quit;
添加zabbix仓库
wget https://mirrors.aliyun.com/zabbix/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.0-1+ubuntu20.04_all.deb
sudo apt update
安装Zabbix server,Web前端,agent
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2

参数解释

名称 概述 必须安装 备注
zabbix-server-mysql zabbix-server的mysql版本,整个zabbix软件的核心程序
zabbix-frontend-php php环境+前端代码
zabbix-apache-conf apache 和nginx二选 一
zabbix-sqlscripts 数据库sql脚本,初始化zabbix数据库
zabbix-agent2 zabbix-agent的替代品,它支持zabbix-agent所有功能
安装中文字体
sudo apt -y install language-pack-zh-hans
创建初始数据库

导入初始架构和数据,系统将提示输入杂兵必须用户的密码。localhost表示本机,-h localhost也可以去掉不定。

zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p -hlocalhost zabbix
#或下面的路径
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p -hlocalhost zabbix
#输入zabbix用户的password等待完成。过程可能需要一到几分钟,根据机器性能决定。

验证一下

mysql -uzabbix -p
use zabbix;
show tables;
修改zabbix server配置
sudo sed -i 's#\# DBPassword=#DBPassword=password#g' /etc/zabbix/zabbix_server.conf
sudo grep "DBPassword=" /etc/zabbix/zabbix_server.conf
启动server、agent、apache2
sudo systemctl start zabbix-server zabbix-agent2 apache2
sudo systemctl enable zabbix-server zabbix-agent2 apache2
检查
sudo systemctl status zabbix-server zabbix-agent2 apache2

ss -lntp  #查看一下端口是否已启动 80(apache),10051(zabbix-server),10050(zabbix-agent2)

conf/zabbix.conf.php

配置前端
#前端登录地址
http://192.168.11.51/zabbix 

sudo vim /usr/share/zabbix/conf/zabbix.conf.php

用户名:Admin
密码:zabbix
配置server上zabbix-agent

Zabbx6.0(学习笔记)_第6张图片
检查
1、在“最新数据 ”显示有数据就正常了
2、在监测–主机–图形,有数据就就正常了

其他配置

1、修改时区

sudo cp /usr/share/zoninfo/Asia/shanghai /etc/localtime
date -R

2、安装中文字体
解决Web图形中的中文字乱码

sudo apt -y install ttf-wqy-microhei
sudo cp /usr/share/fonts/truetype/wqy/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf

你可能感兴趣的:(运维,linux,ubuntu,服务器)