zabbix搭建教程

部署服务端

powershell 复制代码
1.安装源
    rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
2.修改源 修改为阿里云
    sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
3.清除旧的yum缓存
    yum clean all
4.安装zabbix服务端
    zabbix-server-mysql zabbix-agent -y
5.安装software collections  (scl)  可以让在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包   软件包会安装在   /opt/rh目录下
    yum install cntos-release-scl -y
6.修改zabbix-front前端源    修改/etc/yum.repos.d/zabbix.repo
    [zabbix-frontend]
    name=Zabbix Official Repository frontend - $basearch
    baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
    enabled=1                #将这个值修改为1 开启
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
7.安装zabbix前端环境,且是安装到scl环境下(安装后会安装到/opt/rh  目录)
    yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
8.安装zabbix所需要的数据库
    yum install mariadb-server -y
9.配置数据库开机启动
    systemctl enable --now mariadb
10.初始化数据库,设置密码
    systemctl start mariadb            //启动mariadb数据库
    mysql_secure_installation
        Enter current password for root (enter for none):            //请输入当前用户密码,默认空所以回车
        Set root password? [Y/n]                             //设置root密码
        Remove anonymous users? [Y/n]                            //是否移除匿名用户    选择是
        Disallow root login remotely? [Y/n]                         //禁止root远程登录
        Remove test database and access to it? [Y/n]               //是否移除默认测试数据库
11.添加数据库,以及添加zabbix所需数据库
    create database zabbix character set utf8 collate utf8_bin;            //创建zabbix数据库,设置字符为utf8
    create user zabbix@localhost identified by 'zabbix';                //创建zabbix用户   密码也是zabbix
    grant all privileges on zabbix.* to zabbix@localhost;                //给zabbix用户授权
    flush privileges;                    //刷新授权表
12.使用zabbix-mysql命令,导入数据库信息
     zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -u zabbix -p zabbix        //将本地的zabbix创建sql 导入到mysql  zabbix库中
13.修改zabbix配置文件中的数据库密码
     vim /etc/zabbix/zabbix_server.conf
14.修改zabbix的php配置文件
    vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    php_value[date.timezone] = Asia/Shanghai   //将时区修改为上海
15.启动zabbix相关服务
    systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
    systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
16.访问zabbix入口
    访问 ip/zabbix
17.安装成功后,默认账号密码
    账号:Admin    密码:zabbix

部署客户端

powershell 复制代码
1.确保服务器时间争取
    yum install ntpdate -y            //安装插件
    ntpdate -u ntp.aliyun.com                //更新时间
2.时区的统一配置
    mv /etc/localtime{,.bak}
    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

具体的zabbix-agent2部署流程

powershell 复制代码
1.提前配置好zabbix的yum源
2.安装zabbix-agent2
    yum install zabbix-agent2 -y 
3.启动zabbix-agent客户端
    systemctl enable --now zabbix-agent2
4.修改agent2配置文件(/etc/zabbix/zabbix_agent2.conf)
    Server  修改为服务端地址
    ServerActive   修改为服务端地址
5.重启zabbix-agent2

验证zabbix-agenet2的连通性

powershell 复制代码
1.在服务端上用过命令主动获取数据
    yum install zabbix-get -y     //安装主动获取数据的插件
    zabbix_get -s '192.168.23.130' -p 10050 -k 'agent.ping'        //测试连通性
    zabbix_get -s '192.168.23.130' -p 10050 -k 'agent.hostname'        //获取客户端主机名

解决zabbix-server查看的乱码问题

powershell 复制代码
1.在服务端安装字体
    yum install wqy-microhei-fonts -y                //安装字体
    \cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf         //复制字体    

自定义监控内容

powershell 复制代码
1.在客户端手动创建zabbix配置文件,用于自定义key
    /etc/zabbix/zabbix_agent2.d/                //进入zabbix的扩展目录
    vim userParameter_login.conf                //创建一个配置文件
    UserParameter=login.user,who | wc -l            //编辑文件增加一个查看当前登录用户数的命令
    systemctl restart zabbix-agent2                //重启zabbix-agent
2.在服务端通过命令,来获取数据
    zabbix_get -s '192.168.**.**' -p 10050 -k 'login.user'

在页面添加zabbix-server的自定义监控项模板

powershell 复制代码
1.创建模板
2.创建应用集(好比是一个文件夹,里面放一堆监控项)
3.创建监控项,自定义item
4.创建触发器(当监控项获取到值得时候,进行和触发器比较、判断是否正常,决定是否报警)
5.创建图形
6.将具体的主机和该模板连接关联

邮件报警

通过管理 报警媒介类型 ----》 用户设置 添加报警媒介来触发

全网监控方案

powershell 复制代码
1.克隆监控模板
2.自动注册和自动发现
    自动发现:
        zabbix server主动去发现所有的客户端,然后将客户端的信息登记在服务端的机器上
        缺点:zabbix-server压力会比较大  耗时较久
    自动注册:
        zabbix agent2主动上报自己的信息,发给zabbix-server
        缺点:agent2可能找不到server(配置文件写错了,网络不通)
   自动发现配置:需要将客户端正确配置 ---》 zabbix页面 ---》 配置 ---》 自动发现 ---》 配置合适的发现规则 ---》动作 ---》 配置合适的动作
   自动注册配置:修改客户端配置文件 ---》 打开HostnameItem 配置  ---》 重启zabbix-agent2(systemctl restart zabbix-agent2)  ---> 服务端动作   自动注册
3.使用zabbix的api接口,利用curl语言或者开发自己的编程脚本

应用服务监控

powershell 复制代码
监控mysql数据库是否正常
    通过端口 net.tcp.port[,3306]

分布式监控

powershell 复制代码
作用
    分担server的集中压力
        agent > proxy > server
    多机房之间的网络延时问题
    
搭建
    proxy(代理)
        1.配置zabbix的yum源,修改源地址
        2.安装proxy,以及数据库
            yum install zabbix-proxy-mysql zabbix-get -y
            yum install mariadb-server mariadb -y
        3.启动数据库,配置数据库用户,存储zabbix-agent2信息数据
            systemctl start mariadb      //启动数据库
            create database zabbix_proxy character set utf8 collate utf8_bin;            //创建zabbix数据库,设置字符为utf8
            create user zabbix@localhost identified by 'zabbix';                //创建zabbix用户   密码也是zabbix
            grant all privileges on zabbix_proxy.* to zabbix@localhost;                //给zabbix用户授权
            flush privileges;                    //刷新授权表
            zcat /usr/share/doc/zabbix-proxy-mysql-5.0.2/schema.sql.gz | mysql -u zabbix -p zabbix        //将本地的zabbix创建sql 导入到mysql  zabbix库中
        4.修改zabbix-proxy配置文件,连接数据库的信息(可以vim修改文件  也可以使用命令更换)
            sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
            sed -i 's#Server=127.0.0.1#Server=10.211.55.10#' /etc/zabbix/zabbix_proxy.conf            //10.211.55.10 替换为自己server的地址
            sed -i 's#Hostname=Zabbix proxy#Hostname=zabbix-agent05#'            //将主机名zabbix-agent05替换为自己的主机名
        5.启动代理服务
            systemctl restart zabbix-proxy
    agent2(客户端)
        将客户端server 和 serveractiv  指向代理服务器
    server(服务端)
        管理 ---> agent代理程序 ---> 添加 --->启用主机
        配置 ---> 主机 ---> 将客户端添加  选择agent proxy 代理
相关推荐
zhlh_xt1 天前
CentOS上如何离线批量自动化部署zabbix 7.0版本客户端
centos·自动化·zabbix·zabbix-agent2·自动化安装脚本
OpsEye1 天前
Grafana插件安装并接入zabbix数据源
数据库·zabbix·grafana
乐维_lwops2 天前
Zabbix 模板翻译自动化教程
zabbix·zabbix模板
运维老司机2 天前
zabbix自定义监控项监控docker容器
docker·容器·zabbix
年薪丰厚4 天前
利用zabbix自定义脚本监控MySQL基础状态
mysql·adb·zabbix
大虾别跑8 天前
docker安装zabbix +grafana
docker·zabbix·grafana
da pai ge13 天前
zabbix搭建钉钉告警流程
钉钉·zabbix
Karoku06622 天前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
LuckyTHP24 天前
zabbix 7.0 安装(服务器、前端、代理等)
zabbix